1# frozen_string_literal: true
2
3require "test_helper"
4require "alt_top_up_form"
5require "customer"
6
7class AltTopUpFormTest < Minitest::Test
8 def test_for
9 CustomerFinancials::REDIS.expect(
10 :smembers,
11 EMPromise.resolve([]),
12 ["jmp_customer_btc_addresses-test"]
13 )
14 assert_kind_of(
15 AltTopUpForm,
16 AltTopUpForm.for(customer).sync
17 )
18 end
19 em :test_for
20
21 def test_for_addresses
22 CustomerFinancials::REDIS.expect(
23 :smembers,
24 EMPromise.resolve(["testaddr"]),
25 ["jmp_customer_btc_addresses-test"]
26 )
27 assert_kind_of(
28 AltTopUpForm,
29 AltTopUpForm.for(customer).sync
30 )
31 end
32 em :test_for_addresses
33
34 def test_for_cad
35 CustomerFinancials::REDIS.expect(
36 :smembers,
37 EMPromise.resolve([]),
38 ["jmp_customer_btc_addresses-test"]
39 )
40 assert_kind_of(
41 AltTopUpForm,
42 AltTopUpForm.for(customer(plan_name: "test_cad")).sync
43 )
44 end
45 em :test_for_cad
46
47 def test_form_addrs
48 assert_kind_of(
49 Blather::Stanza::X,
50 AltTopUpForm.new(
51 customer,
52 AltTopUpForm::AddBtcAddressField.new
53 ).form
54 )
55 end
56
57 def test_form_new_addrs
58 assert_kind_of(
59 Blather::Stanza::X,
60 AltTopUpForm.new(
61 customer,
62 AltTopUpForm::AddBtcAddressField::AddNewBtcAddressField.new
63 ).form
64 )
65 end
66
67 def test_parse_true
68 iq_form = Blather::Stanza::X.new
69 iq_form.fields = [
70 { var: "add_btc_address", value: "true" }
71 ]
72 assert AltTopUpForm.new(customer).parse(iq_form)[:add_btc_address]
73 end
74
75 def test_parse_1
76 iq_form = Blather::Stanza::X.new
77 iq_form.fields = [
78 { var: "add_btc_address", value: "1" }
79 ]
80 assert AltTopUpForm.new(customer).parse(iq_form)[:add_btc_address]
81 end
82
83 def test_parse_false
84 iq_form = Blather::Stanza::X.new
85 iq_form.fields = [
86 { var: "add_btc_address", value: "false" }
87 ]
88 refute AltTopUpForm.new(customer).parse(iq_form)[:add_btc_address]
89 end
90
91 def test_parse_not_presend
92 iq_form = Blather::Stanza::X.new
93 refute AltTopUpForm.new(customer).parse(iq_form)[:add_btc_address]
94 end
95end