test_alt_top_up_form.rb

 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		Customer::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		Customer::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		Customer::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