0

I have a method here that needs to be mocked using Mocha, but currently i have no clue how to mock the nested hash here.

Products.new(:A => "aa", :B => "bb").containers['container_A'].elements['element_b']

So far, i know how to stub Products.new(:A => "aa", :B => "bb"), but have no idea with the hash part after it.

Thanks in advance.

Vega
  • 27,856
  • 27
  • 95
  • 103
Cloud_cal
  • 132
  • 2
  • 12

1 Answers1

0

What about a hash/OpenStruct?

require 'ostruct'

product.expects(:containers).
        returns('container_A' => OpenStruct.new(:elements => {'element_b' => 'expected_value'}))

puts product.containers['container_A'].elements['element_b']
# => expected_value
sschmeck
  • 7,233
  • 4
  • 40
  • 67