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.new("test")).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.new("test")).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.new("test", 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(AltTopUpForm::AddBtcAddressField.new).form
51		)
52	end
53
54	def test_form_new_addrs
55		assert_kind_of(
56			Blather::Stanza::X,
57			AltTopUpForm.new(
58				AltTopUpForm::AddBtcAddressField::AddNewBtcAddressField.new
59			).form
60		)
61	end
62
63	def test_parse_true
64		iq_form = Blather::Stanza::X.new
65		iq_form.fields = [
66			{ var: "add_btc_address", value: "true" }
67		]
68		assert AltTopUpForm.new.parse(iq_form)[:add_btc_address]
69	end
70
71	def test_parse_1
72		iq_form = Blather::Stanza::X.new
73		iq_form.fields = [
74			{ var: "add_btc_address", value: "1" }
75		]
76		assert AltTopUpForm.new.parse(iq_form)[:add_btc_address]
77	end
78
79	def test_parse_false
80		iq_form = Blather::Stanza::X.new
81		iq_form.fields = [
82			{ var: "add_btc_address", value: "false" }
83		]
84		refute AltTopUpForm.new.parse(iq_form)[:add_btc_address]
85	end
86
87	def test_parse_not_presend
88		iq_form = Blather::Stanza::X.new
89		refute AltTopUpForm.new.parse(iq_form)[:add_btc_address]
90	end
91end