1# frozen_string_literal: true
2
3require "test_helper"
4require_relative "../../sgx-bwmsgsv2"
5require "rantly/minitest_extensions"
6require_relative "generators/disco_items_iq"
7
8def panic(e)
9 $panic = e
10end
11
12class DiscoItemsPropertyTest < Minitest::Test
13 def setup
14 reset_stanzas!
15 reset_redis!
16 end
17
18 def test_eligible_tn_shows_port_out_pin_command
19 property_of {
20 DiscoItemsIQ.new(REDIS).generate
21 }.check { |_metadata, example|
22 BandwidthTNOptions.stub(
23 :tn_eligible_for_port_out_pin?,
24 EMPromise.resolve(true)
25 ) do
26 process_stanza(example['stanza'])
27 end
28
29 assert_equal 1, written.length
30 reply = written.shift
31
32 assert_equal example['jid'], reply.to.to_s
33
34 ns = 'http://jabber.org/protocol/disco#items'
35 items = reply.query.find('.//ns:item', ns: ns)
36 assert_equal 1, items.length
37 assert_equal 'set-port-out-pin', items.first[:node]
38 }
39 end
40 em :test_eligible_tn_shows_port_out_pin_command
41end