# 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