# frozen_string_literal: true require "test_helper" require "alt_top_up_form" require "customer" class AltTopUpFormTest < Minitest::Test def test_for Customer::REDIS.expect( :smembers, EMPromise.resolve([]), ["jmp_customer_btc_addresses-test"] ) assert_kind_of( AltTopUpForm, AltTopUpForm.for(customer).sync ) end em :test_for def test_for_addresses Customer::REDIS.expect( :smembers, EMPromise.resolve(["testaddr"]), ["jmp_customer_btc_addresses-test"] ) assert_kind_of( AltTopUpForm, AltTopUpForm.for(customer).sync ) end em :test_for_addresses def test_for_cad Customer::REDIS.expect( :smembers, EMPromise.resolve([]), ["jmp_customer_btc_addresses-test"] ) assert_kind_of( AltTopUpForm, AltTopUpForm.for(customer(plan_name: "test_cad")).sync ) end em :test_for_cad def test_form_addrs assert_kind_of( Blather::Stanza::X, AltTopUpForm.new( customer, AltTopUpForm::AddBtcAddressField.new ).form ) end def test_form_new_addrs assert_kind_of( Blather::Stanza::X, AltTopUpForm.new( customer, AltTopUpForm::AddBtcAddressField::AddNewBtcAddressField.new ).form ) end def test_parse_true iq_form = Blather::Stanza::X.new iq_form.fields = [ { var: "add_btc_address", value: "true" } ] assert AltTopUpForm.new(customer).parse(iq_form)[:add_btc_address] end def test_parse_1 iq_form = Blather::Stanza::X.new iq_form.fields = [ { var: "add_btc_address", value: "1" } ] assert AltTopUpForm.new(customer).parse(iq_form)[:add_btc_address] end def test_parse_false iq_form = Blather::Stanza::X.new iq_form.fields = [ { var: "add_btc_address", value: "false" } ] refute AltTopUpForm.new(customer).parse(iq_form)[:add_btc_address] end def test_parse_not_presend iq_form = Blather::Stanza::X.new refute AltTopUpForm.new(customer).parse(iq_form)[:add_btc_address] end end