diff --git a/test/test_component.rb b/test/test_component.rb index 9ee3d95cd50b270b6f36f072635bf5012366d7ae..c7c2d9e01b90b6e0caa7f948d46abe4f970d52bb 100644 --- a/test/test_component.rb +++ b/test/test_component.rb @@ -424,18 +424,32 @@ class ComponentTest < Minitest::Test ] end - BandwidthIris::TnOptions.stub :create_tn_option_order, - ->(client, data) { {order_id: 'test-order-123', processing_status: 'RECEIVED', error_list: {}} } do - BandwidthIris::TnOptions.stub :get_tn_option_order, - ->(client, order_id) { {order_id: order_id, order_status: 'COMPLETE', error_list: {}} } do - - process_stanza(iq) + tn_mock = Minitest::Mock.new + tn_mock.expect(:get_details, { tier: 0.0, on_net_vendor: true }) + with_stubs([ + [ + BandwidthIris::TnOptions, + :create_tn_option_order, + ->(client, data) { {order_id: 'test-order-123', processing_status: 'RECEIVED', error_list: {}} } + ], + [ + BandwidthIris::TnOptions, + :get_tn_option_order, + ->(client, order_id) { {order_id: order_id, order_status: 'COMPLETE', error_list: {}} } + ], + [ + BandwidthIris::Tn, + :get, + tn_mock + ] + ]) do + process_stanza(iq) - assert_equal 1, written.length + assert_equal 1, written.length - stanza = Blather::XMPPNode.parse(written.first.to_xml) - refute stanza.error? - end + stanza = Blather::XMPPNode.parse(written.first.to_xml) + refute stanza.error? + assert_mock tn_mock end end em :test_port_out_pin diff --git a/test/test_helper.rb b/test/test_helper.rb index fabafe4e331883c548591a19a9c7b1e50cdb5991..1d7dcb4b728d4244e6c388d11b5bf5d7071220f0 100644 --- a/test/test_helper.rb +++ b/test/test_helper.rb @@ -138,6 +138,17 @@ REDIS = FakeRedis.new module Minitest class Test + def with_stubs(stubs, &block) + if stubs.empty? + block.call + else + obj, method, value = stubs.first + obj.stub(method, value) do + with_stubs(stubs[1..], &block) + end + end + end + def self.em(m) alias_method "raw_#{m}", m define_method(m) do