# frozen_string_literal: true require "test_helper" require "alt_top_up_form" require "add_bitcoin_address" class AddBitcoinAddressTest < Minitest::Test def test_for iq = Blather::Stanza::Iq::Command.new AddBitcoinAddress.for(iq, AltTopUpForm.new, Customer.new("test")) end def test_for_add_bitcoin iq = Blather::Stanza::Iq::Command.new iq.form.fields = [{ var: "add_btc_address", value: "true" }] AddBitcoinAddress.for(iq, AltTopUpForm.new, Customer.new("test")) end def test_write customer = Minitest::Mock.new customer.expect(:add_btc_address, EMPromise.resolve("newaddress")) iq = Blather::Stanza::Iq::Command.new AddBitcoinAddress.new(iq, customer).write.sync assert_mock customer end em :test_write class DoNotTest < Minitest::Test AddBitcoinAddress::DoNot::BLATHER = Minitest::Mock.new def test_write AddBitcoinAddress::DoNot::BLATHER.expect( :<<, EMPromise.resolve(nil) ) do |stanza| assert_equal :completed, stanza.status end iq = Blather::Stanza::Iq::Command.new AddBitcoinAddress::DoNot.new(iq).write.sync assert_mock AddBitcoinAddress::DoNot::BLATHER end em :test_write end end