edools_mymoip 0.8.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.document +5 -0
- data/.gitignore +15 -0
- data/.travis.yml +4 -0
- data/CHANGELOG.md +128 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +20 -0
- data/README.md +3 -0
- data/Rakefile +10 -0
- data/lib/mymoip.rb +57 -0
- data/lib/mymoip/bank_debit.rb +22 -0
- data/lib/mymoip/commission.rb +54 -0
- data/lib/mymoip/credit_card.rb +73 -0
- data/lib/mymoip/exceptions.rb +15 -0
- data/lib/mymoip/formatter.rb +23 -0
- data/lib/mymoip/instruction.rb +134 -0
- data/lib/mymoip/json_parser.rb +11 -0
- data/lib/mymoip/payer.rb +75 -0
- data/lib/mymoip/payment.rb +10 -0
- data/lib/mymoip/payment_methods.rb +46 -0
- data/lib/mymoip/payment_slip.rb +74 -0
- data/lib/mymoip/payments/bank_debit_payment.rb +27 -0
- data/lib/mymoip/payments/credit_card_payment.rb +53 -0
- data/lib/mymoip/payments/payment_slip_payment.rb +12 -0
- data/lib/mymoip/purchase.rb +40 -0
- data/lib/mymoip/request.rb +34 -0
- data/lib/mymoip/requests/payment_request.rb +53 -0
- data/lib/mymoip/requests/transparent_request.rb +36 -0
- data/lib/mymoip/validators.rb +12 -0
- data/lib/mymoip/version.rb +3 -0
- data/mymoip.gemspec +30 -0
- data/test/fixtures/fixture.rb +73 -0
- data/test/fixtures/vcr_cassettes/payment_request.yml +37 -0
- data/test/fixtures/vcr_cassettes/payment_request_with_payment_slip.yml +32 -0
- data/test/fixtures/vcr_cassettes/transparent_request.yml +34 -0
- data/test/fixtures/vcr_cassettes/transparent_request_with_commissions.yml +35 -0
- data/test/lib/test_bank_debit.rb +36 -0
- data/test/lib/test_bank_debit_payment.rb +32 -0
- data/test/lib/test_commission.rb +121 -0
- data/test/lib/test_credit_card_payment.rb +107 -0
- data/test/lib/test_creditcard.rb +206 -0
- data/test/lib/test_formatter.rb +49 -0
- data/test/lib/test_instruction.rb +243 -0
- data/test/lib/test_mymoip.rb +79 -0
- data/test/lib/test_payer.rb +249 -0
- data/test/lib/test_payment.rb +15 -0
- data/test/lib/test_payment_methods.rb +54 -0
- data/test/lib/test_payment_request.rb +120 -0
- data/test/lib/test_payment_slip.rb +78 -0
- data/test/lib/test_payment_slip_payment.rb +8 -0
- data/test/lib/test_purchase.rb +109 -0
- data/test/lib/test_request.rb +88 -0
- data/test/lib/test_transparent_request.rb +71 -0
- data/test/lib/test_validators.rb +13 -0
- data/test/live_test.rb +4 -0
- data/test/test_helper.rb +17 -0
- metadata +251 -0
@@ -0,0 +1,15 @@
|
|
1
|
+
require_relative '../test_helper'
|
2
|
+
|
3
|
+
class TestPayment < Test::Unit::TestCase
|
4
|
+
def test_payment_method_when_payment_split
|
5
|
+
assert_equal :payment_slip, MyMoip::PaymentSlipPayment.payment_method
|
6
|
+
end
|
7
|
+
|
8
|
+
def test_payment_method_when_bank_debit
|
9
|
+
assert_equal :bank_debit, MyMoip::BankDebitPayment.payment_method
|
10
|
+
end
|
11
|
+
|
12
|
+
def test_payment_method_when_credit_card
|
13
|
+
assert_equal :credit_card, MyMoip::CreditCardPayment.payment_method
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,54 @@
|
|
1
|
+
require_relative '../test_helper'
|
2
|
+
|
3
|
+
class TestPaymentMethods < Test::Unit::TestCase
|
4
|
+
def test_initialization_and_setters
|
5
|
+
params = {
|
6
|
+
payment_slip: true,
|
7
|
+
credit_card: false,
|
8
|
+
debit: true,
|
9
|
+
debit_card: false,
|
10
|
+
financing: true,
|
11
|
+
moip_wallet: false
|
12
|
+
}
|
13
|
+
|
14
|
+
subject = MyMoip::PaymentMethods.new(params)
|
15
|
+
assert_equal params[:payment_slip], subject.payment_slip
|
16
|
+
assert_equal params[:credit_card], subject.credit_card
|
17
|
+
assert_equal params[:debit], subject.debit
|
18
|
+
assert_equal params[:debit_card], subject.debit_card
|
19
|
+
assert_equal params[:financing], subject.financing
|
20
|
+
assert_equal params[:moip_wallet], subject.moip_wallet
|
21
|
+
end
|
22
|
+
|
23
|
+
def test_validates_boolean
|
24
|
+
subject = MyMoip::PaymentMethods.new
|
25
|
+
assert subject.valid?
|
26
|
+
|
27
|
+
subject.payment_slip = 1
|
28
|
+
subject.credit_card = 1
|
29
|
+
subject.debit = 1
|
30
|
+
subject.debit_card = 1
|
31
|
+
subject.financing = 1
|
32
|
+
subject.moip_wallet = 1
|
33
|
+
|
34
|
+
assert subject.invalid? &&
|
35
|
+
subject.errors[:payment_slip].present? &&
|
36
|
+
subject.errors[:credit_card].present? &&
|
37
|
+
subject.errors[:debit].present? &&
|
38
|
+
subject.errors[:debit_card].present? &&
|
39
|
+
subject.errors[:financing].present? &&
|
40
|
+
subject.errors[:moip_wallet].present?
|
41
|
+
end
|
42
|
+
|
43
|
+
def test_xml_format
|
44
|
+
subject = MyMoip::PaymentMethods.new
|
45
|
+
assert_equal '', subject.to_xml
|
46
|
+
|
47
|
+
subject.payment_slip = false
|
48
|
+
expected_format = <<XML
|
49
|
+
<FormaPagamento>CartaoDeCredito</FormaPagamento><FormaPagamento>DebitoBancario</FormaPagamento><FormaPagamento>CartaoDeDebito</FormaPagamento><FormaPagamento>FinanciamentoBancario</FormaPagamento><FormaPagamento>CarteiraMoIP</FormaPagamento>
|
50
|
+
XML
|
51
|
+
assert_equal expected_format.strip, subject.to_xml
|
52
|
+
end
|
53
|
+
|
54
|
+
end
|
@@ -0,0 +1,120 @@
|
|
1
|
+
# encoding: UTF-8
|
2
|
+
require_relative '../test_helper'
|
3
|
+
|
4
|
+
class TestPaymentRequest < Test::Unit::TestCase
|
5
|
+
def test_http_method_as_get
|
6
|
+
assert_equal :get, MyMoip::PaymentRequest::HTTP_METHOD
|
7
|
+
end
|
8
|
+
|
9
|
+
def test_path
|
10
|
+
assert_equal "/rest/pagamento?callback=?", MyMoip::PaymentRequest::PATH
|
11
|
+
end
|
12
|
+
|
13
|
+
def test_non_auth_requirement
|
14
|
+
assert_equal false, MyMoip::PaymentRequest::REQUIRES_AUTH
|
15
|
+
end
|
16
|
+
|
17
|
+
def test_generate_json
|
18
|
+
HTTParty.stubs(:send).returns("<html>some_result</html>")
|
19
|
+
request = MyMoip::PaymentRequest.new("id")
|
20
|
+
|
21
|
+
JSON.expects(:generate).with(
|
22
|
+
pagamentoWidget: {
|
23
|
+
referer: "http://localhost",
|
24
|
+
token: "big_transparent_token",
|
25
|
+
dadosPagamento: {payment: "attributes"}
|
26
|
+
}
|
27
|
+
)
|
28
|
+
request_data = stub(to_json: {payment: "attributes"})
|
29
|
+
request.api_call(request_data, token: "big_transparent_token", referer_url: "http://localhost")
|
30
|
+
end
|
31
|
+
|
32
|
+
def test_gets_default_referer_if_another_isnt_passed
|
33
|
+
MyMoip.default_referer_url = "http://localhost/default"
|
34
|
+
HTTParty.stubs(:send).returns("<html>some_result</html>")
|
35
|
+
request = MyMoip::PaymentRequest.new("id")
|
36
|
+
|
37
|
+
JSON.expects(:generate).with(
|
38
|
+
pagamentoWidget: {
|
39
|
+
referer: MyMoip.default_referer_url,
|
40
|
+
token: "big_transparent_token",
|
41
|
+
dadosPagamento: {payment: "attributes"}
|
42
|
+
}
|
43
|
+
)
|
44
|
+
request_data = stub(to_json: {payment: "attributes"})
|
45
|
+
request.api_call(request_data, token: "big_transparent_token")
|
46
|
+
end
|
47
|
+
|
48
|
+
def test_successful_status
|
49
|
+
MyMoip.default_referer_url = "http://localhost/default"
|
50
|
+
HTTParty.stubs(:send).returns(
|
51
|
+
JSON.parse '{"Status":"EmAnalise","Codigo":0,"CodigoRetorno":"","TaxaMoIP":"7.79","StatusPagamento":"Sucesso","Classificacao":{"Codigo":999,"Descricao":"Não suportado no ambiente Sandbox"},"CodigoMoIP":77316,"Mensagem":"Requisição processada com sucesso","TotalPago":"100.00"}'
|
52
|
+
)
|
53
|
+
request = MyMoip::PaymentRequest.new("id")
|
54
|
+
|
55
|
+
request_data = stub(to_json: {payment: "attributes"})
|
56
|
+
request.api_call(request_data, token: "big_transparent_token")
|
57
|
+
assert request.success?
|
58
|
+
end
|
59
|
+
|
60
|
+
def test_success_method_returns_false_in_payments_already_made
|
61
|
+
MyMoip.default_referer_url = "http://localhost/default"
|
62
|
+
HTTParty.stubs(:send).returns(
|
63
|
+
JSON.parse '{"Codigo":236,"StatusPagamento":"Falha","Mensagem":"Pagamento já foi realizado"}'
|
64
|
+
)
|
65
|
+
request = MyMoip::PaymentRequest.new("id")
|
66
|
+
|
67
|
+
request_data = stub(to_json: {payment: "attributes"})
|
68
|
+
request.api_call(request_data, token: "big_transparent_token")
|
69
|
+
assert !request.success?
|
70
|
+
end
|
71
|
+
|
72
|
+
def test_method_to_get_moip_code
|
73
|
+
instruction = Fixture.instruction(payer: Fixture.payer)
|
74
|
+
transparent_request = MyMoip::TransparentRequest.new("your_own_id")
|
75
|
+
VCR.use_cassette('transparent_request') do
|
76
|
+
transparent_request.api_call(instruction)
|
77
|
+
end
|
78
|
+
credit_card_payment = MyMoip::CreditCardPayment.new(Fixture.credit_card, installments: 1)
|
79
|
+
payment_request = MyMoip::PaymentRequest.new("your_own_id")
|
80
|
+
VCR.use_cassette('payment_request') do
|
81
|
+
payment_request.api_call(credit_card_payment, token: transparent_request.token)
|
82
|
+
end
|
83
|
+
assert_equal 102596, payment_request.code
|
84
|
+
end
|
85
|
+
|
86
|
+
def test_code_method_should_return_nil_with_blank_response
|
87
|
+
instruction = Fixture.instruction(payer: Fixture.payer)
|
88
|
+
transparent_request = MyMoip::TransparentRequest.new("your_own_id")
|
89
|
+
VCR.use_cassette('transparent_request') do
|
90
|
+
transparent_request.api_call(instruction)
|
91
|
+
end
|
92
|
+
credit_card_payment = MyMoip::CreditCardPayment.new(Fixture.credit_card, installments: 1)
|
93
|
+
payment_request = MyMoip::PaymentRequest.new("your_own_id")
|
94
|
+
assert_nil payment_request.code
|
95
|
+
end
|
96
|
+
|
97
|
+
def test_method_to_get_response_url
|
98
|
+
instruction = Fixture.instruction(payer: Fixture.payer)
|
99
|
+
transparent_request = MyMoip::TransparentRequest.new("your_own_id")
|
100
|
+
VCR.use_cassette('transparent_request') do
|
101
|
+
transparent_request.api_call(instruction)
|
102
|
+
end
|
103
|
+
payment_slip_payment = MyMoip::PaymentSlipPayment.new
|
104
|
+
payment_request = MyMoip::PaymentRequest.new("your_own_id")
|
105
|
+
VCR.use_cassette('payment_request_with_payment_slip') do
|
106
|
+
payment_request.api_call(payment_slip_payment, token: transparent_request.token)
|
107
|
+
end
|
108
|
+
assert_equal "https://desenvolvedor.moip.com.br/sandbox/Instrucao.do?token=#{transparent_request.token}", payment_request.url
|
109
|
+
end
|
110
|
+
|
111
|
+
def test_url_method_should_return_nil_with_blank_response
|
112
|
+
instruction = Fixture.instruction(payer: Fixture.payer)
|
113
|
+
transparent_request = MyMoip::TransparentRequest.new("your_own_id")
|
114
|
+
VCR.use_cassette('transparent_request') do
|
115
|
+
transparent_request.api_call(instruction)
|
116
|
+
end
|
117
|
+
payment_request = MyMoip::PaymentRequest.new("your_own_id")
|
118
|
+
assert_nil payment_request.url
|
119
|
+
end
|
120
|
+
end
|
@@ -0,0 +1,78 @@
|
|
1
|
+
require_relative '../test_helper'
|
2
|
+
|
3
|
+
class TestPaymentSlip < Test::Unit::TestCase
|
4
|
+
def test_validate_length_of_instruction_lines
|
5
|
+
subject = Fixture.payment_slip()
|
6
|
+
assert subject.valid?
|
7
|
+
|
8
|
+
subject.instruction_line_1 = ('*' * 63)
|
9
|
+
subject.instruction_line_2 = ('*' * 63)
|
10
|
+
subject.instruction_line_3 = ('*' * 63)
|
11
|
+
|
12
|
+
assert subject.valid?
|
13
|
+
|
14
|
+
subject.instruction_line_1 = ('*' * 64)
|
15
|
+
subject.instruction_line_2 = ('*' * 64)
|
16
|
+
subject.instruction_line_3 = ('*' * 64)
|
17
|
+
|
18
|
+
assert subject.invalid?
|
19
|
+
assert subject.errors[:instruction_line_1].present? &&
|
20
|
+
subject.errors[:instruction_line_2].present? &&
|
21
|
+
subject.errors[:instruction_line_3].present?
|
22
|
+
end
|
23
|
+
|
24
|
+
def test_validate_expiration_days
|
25
|
+
subject = Fixture.payment_slip(expiration_days: 99)
|
26
|
+
assert subject.valid?
|
27
|
+
|
28
|
+
subject.expiration_days = 100
|
29
|
+
assert subject.invalid? && subject.errors[:expiration_days].present?
|
30
|
+
end
|
31
|
+
|
32
|
+
def test_validate_expiration_type
|
33
|
+
subject = Fixture.payment_slip(expiration_days_type: :calendar_day)
|
34
|
+
assert subject.valid?
|
35
|
+
|
36
|
+
subject.expiration_days_type = :business_day
|
37
|
+
assert subject.valid?
|
38
|
+
|
39
|
+
subject.expiration_days_type = :another_type
|
40
|
+
assert subject.invalid? && subject.errors[:expiration_days_type].present?
|
41
|
+
end
|
42
|
+
|
43
|
+
def test_validate_logo_url
|
44
|
+
subject = Fixture.payment_slip(logo_url: 'http://www.uol.com.br')
|
45
|
+
assert subject.valid?
|
46
|
+
|
47
|
+
subject.logo_url = 'https://www.google.com/sdfsdf.png'
|
48
|
+
assert subject.valid?
|
49
|
+
|
50
|
+
subject.logo_url = 'file://www.google.com/sdfsdf.png'
|
51
|
+
assert subject.invalid? && subject.errors[:logo_url].present?
|
52
|
+
end
|
53
|
+
|
54
|
+
def test_validate_expiration_date_format
|
55
|
+
subject = Fixture.payment_slip(expiration_date: DateTime.new)
|
56
|
+
assert subject.valid?
|
57
|
+
|
58
|
+
subject.expiration_date = Date.new
|
59
|
+
assert subject.invalid? && subject.errors[:expiration_date].present?
|
60
|
+
end
|
61
|
+
|
62
|
+
def test_xml_format
|
63
|
+
subject = Fixture.payment_slip()
|
64
|
+
expected_format = <<XML
|
65
|
+
<DataVencimento>2020-01-01T00:00:00.000+00:00</DataVencimento><DiasExpiracao Tipo="Uteis">7</DiasExpiracao><Instrucao1>Line 1</Instrucao1><Instrucao2>Line 2</Instrucao2><Instrucao3>Line 3</Instrucao3><URLLogo>http://www.myurl.com/logo.png</URLLogo>
|
66
|
+
XML
|
67
|
+
assert_equal expected_format.rstrip, subject.to_xml
|
68
|
+
end
|
69
|
+
|
70
|
+
def test_xml_method_raises_exception_when_called_with_invalid_params
|
71
|
+
subject = Fixture.payment_slip
|
72
|
+
subject.stubs(:invalid?).returns(true)
|
73
|
+
assert_raise MyMoip::InvalidPaymentSlip do
|
74
|
+
subject.to_xml
|
75
|
+
end
|
76
|
+
end
|
77
|
+
|
78
|
+
end
|
@@ -0,0 +1,109 @@
|
|
1
|
+
require_relative '../test_helper'
|
2
|
+
|
3
|
+
def cc_attrs(attrs = {})
|
4
|
+
{
|
5
|
+
logo: :visa,
|
6
|
+
card_number: '4916654211627608',
|
7
|
+
expiration_date: '06/15',
|
8
|
+
security_code: '000',
|
9
|
+
owner_name: 'Juquinha da Rocha',
|
10
|
+
owner_birthday: '03/11/1980',
|
11
|
+
owner_phone: '5130405060',
|
12
|
+
owner_cpf: '52211670695'
|
13
|
+
}.merge(attrs)
|
14
|
+
end
|
15
|
+
|
16
|
+
def payer_attrs(attrs = {})
|
17
|
+
{
|
18
|
+
id: rand,
|
19
|
+
name: 'Juquinha da Rocha',
|
20
|
+
email: 'juquinha@rocha.com',
|
21
|
+
address_street: 'Felipe Neri',
|
22
|
+
address_street_number: '406',
|
23
|
+
address_street_extra: 'Sala 501',
|
24
|
+
address_neighbourhood: 'Auxiliadora',
|
25
|
+
address_city: 'Porto Alegre',
|
26
|
+
address_state: 'RS',
|
27
|
+
address_country: 'BRA',
|
28
|
+
address_cep: '90440150',
|
29
|
+
address_phone: '5130405060'
|
30
|
+
}.merge(attrs)
|
31
|
+
end
|
32
|
+
|
33
|
+
class TestPurchase < Test::Unit::TestCase
|
34
|
+
def setup
|
35
|
+
MyMoip::Request.any_instance.stubs(:api_call)
|
36
|
+
MyMoip::PaymentRequest.any_instance.stubs(:api_call)
|
37
|
+
MyMoip::TransparentRequest.any_instance.stubs(:api_call)
|
38
|
+
end
|
39
|
+
|
40
|
+
def subject
|
41
|
+
MyMoip::Purchase.new(id: '42',
|
42
|
+
price: 400,
|
43
|
+
reason: 'Payment of my product',
|
44
|
+
credit_card: cc_attrs,
|
45
|
+
payer: payer_attrs)
|
46
|
+
end
|
47
|
+
|
48
|
+
def test_new_objects_stores_already_initialized_instance_of_credit_ard
|
49
|
+
assert subject.credit_card.kind_of?(MyMoip::CreditCard)
|
50
|
+
end
|
51
|
+
|
52
|
+
def test_new_objects_stores_already_initialized_instance_of_payer
|
53
|
+
assert subject.payer.kind_of?(MyMoip::Payer)
|
54
|
+
end
|
55
|
+
|
56
|
+
def test_checkout_uses_initialized_id_for_logging
|
57
|
+
MyMoip::PaymentRequest.expects(:new).
|
58
|
+
with('42').
|
59
|
+
returns(stub_everything)
|
60
|
+
subject.checkout!
|
61
|
+
end
|
62
|
+
|
63
|
+
def test_checkout_instruction_uses_a_generated_id_for_instruction
|
64
|
+
MyMoip::Instruction.expects(:new).
|
65
|
+
with(has_entry(id: subject.id)).
|
66
|
+
returns(stub_everything)
|
67
|
+
subject.checkout!
|
68
|
+
end
|
69
|
+
|
70
|
+
def test_checkout_instruction_uses_initialized_reason
|
71
|
+
MyMoip::Instruction.expects(:new).
|
72
|
+
with(has_entry(payment_reason: 'Payment of my product')).
|
73
|
+
returns(stub_everything)
|
74
|
+
subject.checkout!
|
75
|
+
end
|
76
|
+
|
77
|
+
def test_checkout_instruction_uses_initialized_price
|
78
|
+
MyMoip::Instruction.expects(:new).
|
79
|
+
with(has_entry(values: [400.0])).
|
80
|
+
returns(stub_everything)
|
81
|
+
subject.checkout!
|
82
|
+
end
|
83
|
+
|
84
|
+
def test_checkouts_transparent_request_uses_initialized_id_for_payment_request_logging
|
85
|
+
MyMoip::TransparentRequest.expects(:new).
|
86
|
+
with('42').
|
87
|
+
returns(stub_everything)
|
88
|
+
subject.checkout!
|
89
|
+
end
|
90
|
+
|
91
|
+
def test_checkouts_transparent_request_confirm_request_with_authorized_token
|
92
|
+
MyMoip::Purchase.any_instance.stubs(:get_authorization!).
|
93
|
+
returns(stub('MyMoip request', token: 'abc'))
|
94
|
+
|
95
|
+
MyMoip::PaymentRequest.any_instance.expects(:api_call).
|
96
|
+
with(anything, has_entry(token: 'abc')).
|
97
|
+
returns(stub_everything)
|
98
|
+
subject.checkout!
|
99
|
+
end
|
100
|
+
|
101
|
+
def test_checkouts_transparent_request_assigns_its_code
|
102
|
+
MyMoip::PaymentRequest.any_instance.stubs(:success?).returns(true)
|
103
|
+
MyMoip::PaymentRequest.any_instance.stubs(:code).returns('foo_bar')
|
104
|
+
purchase = subject
|
105
|
+
purchase.checkout!
|
106
|
+
|
107
|
+
assert_equal 'foo_bar', purchase.code
|
108
|
+
end
|
109
|
+
end
|
@@ -0,0 +1,88 @@
|
|
1
|
+
require_relative '../test_helper'
|
2
|
+
|
3
|
+
class TestRequest < Test::Unit::TestCase
|
4
|
+
def setup
|
5
|
+
@default_environment = MyMoip.environment
|
6
|
+
@default_key = MyMoip.key
|
7
|
+
@default_token = MyMoip.token
|
8
|
+
@default_logger = MyMoip.logger
|
9
|
+
end
|
10
|
+
|
11
|
+
def teardown
|
12
|
+
MyMoip.environment = @default_environment
|
13
|
+
MyMoip.key = @default_key
|
14
|
+
MyMoip.token = @default_token
|
15
|
+
MyMoip.logger = @default_logger
|
16
|
+
end
|
17
|
+
|
18
|
+
def test_initializes_receiving_data_and_optional_id
|
19
|
+
request = MyMoip::Request.new("request_id")
|
20
|
+
assert_equal "request_id", request.id
|
21
|
+
end
|
22
|
+
|
23
|
+
def test_logs_api_call_method_in_info_level
|
24
|
+
logger = stub_everything
|
25
|
+
request = MyMoip::Request.new("request_id")
|
26
|
+
params = {
|
27
|
+
http_method: :post, body: "<pretty><xml></xml></pretty>", path: "/ws/alpha/EnviarInstrucao/Unica"
|
28
|
+
}
|
29
|
+
|
30
|
+
HTTParty.stubs(:send).returns("<html>some_result</html>")
|
31
|
+
logger.expects(:info).at_least_once.
|
32
|
+
with(regexp_matches(/being sent to MoIP/))
|
33
|
+
|
34
|
+
request.api_call(params, logger: logger)
|
35
|
+
end
|
36
|
+
|
37
|
+
def test_logs_api_call_method_parameters_in_debug_level
|
38
|
+
logger = stub_everything
|
39
|
+
request = MyMoip::Request.new("request_id")
|
40
|
+
params = {
|
41
|
+
http_method: :post, body: "<pretty><xml></xml></pretty>", path: "/ws/alpha/EnviarInstrucao/Unica"
|
42
|
+
}
|
43
|
+
|
44
|
+
HTTParty.stubs(:send).returns("<html>some_result</html>")
|
45
|
+
logger.expects(:debug).at_least_once.
|
46
|
+
with(regexp_matches(/request_id.+<pretty><xml><\/xml><\/pretty>/))
|
47
|
+
|
48
|
+
request.api_call(params, logger: logger)
|
49
|
+
end
|
50
|
+
|
51
|
+
def test_logs_api_call_response_in_debug_level
|
52
|
+
logger = stub_everything
|
53
|
+
request = MyMoip::Request.new("request_id")
|
54
|
+
params = {
|
55
|
+
http_method: :post, body: "<pretty><xml></xml></pretty>", path: "/ws/alpha/EnviarInstrucao/Unica"
|
56
|
+
}
|
57
|
+
|
58
|
+
HTTParty.stubs(:send).returns("<html>some_result</html>")
|
59
|
+
logger.expects(:debug).at_least_once.
|
60
|
+
with(regexp_matches(/request_id.+<html>some_result<\/html>/))
|
61
|
+
|
62
|
+
request.api_call(params, logger: logger)
|
63
|
+
end
|
64
|
+
|
65
|
+
def test_raises_error_before_api_calls_without_a_key_set
|
66
|
+
subject = MyMoip::Request.new('request_id')
|
67
|
+
MyMoip.sandbox_key = nil
|
68
|
+
assert_raises StandardError do
|
69
|
+
subject.api_call({})
|
70
|
+
end
|
71
|
+
MyMoip.sandbox_key = ''
|
72
|
+
assert_raises StandardError do
|
73
|
+
subject.api_call({})
|
74
|
+
end
|
75
|
+
end
|
76
|
+
|
77
|
+
def test_raises_error_before_api_calls_without_a_token_set
|
78
|
+
subject = MyMoip::Request.new('request_id')
|
79
|
+
MyMoip.sandbox_token = nil
|
80
|
+
assert_raises StandardError do
|
81
|
+
subject.api_call({})
|
82
|
+
end
|
83
|
+
MyMoip.sandbox_token = ''
|
84
|
+
assert_raises StandardError do
|
85
|
+
subject.api_call({})
|
86
|
+
end
|
87
|
+
end
|
88
|
+
end
|