@@ -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
@@ -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