boletosimples 0.6.0 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.github/workflows/ruby.yml +34 -0
- data/.rspec +3 -0
- data/.rubocop.yml +9 -0
- data/.ruby-version +1 -1
- data/CHANGELOG.md +6 -20
- data/Gemfile +2 -0
- data/README.md +12 -54
- data/Rakefile +3 -1
- data/boletosimples.gemspec +14 -11
- data/lib/boletosimples.rb +4 -6
- data/lib/boletosimples/configuration.rb +14 -25
- data/lib/boletosimples/last_request.rb +12 -9
- data/lib/boletosimples/middlewares/bearer.rb +12 -0
- data/lib/boletosimples/middlewares/last_request.rb +3 -1
- data/lib/boletosimples/middlewares/raise_error.rb +9 -2
- data/lib/boletosimples/middlewares/user_agent.rb +3 -1
- data/lib/boletosimples/resources/bank_billet.rb +5 -11
- data/lib/boletosimples/resources/bank_billet_account.rb +3 -1
- data/lib/boletosimples/resources/bank_billet_discharge.rb +3 -1
- data/lib/boletosimples/resources/bank_billet_payment.rb +3 -1
- data/lib/boletosimples/resources/bank_billet_remittance.rb +3 -1
- data/lib/boletosimples/resources/base_model.rb +3 -1
- data/lib/boletosimples/resources/customer.rb +3 -1
- data/lib/boletosimples/resources/customer_import.rb +5 -3
- data/lib/boletosimples/resources/customer_subscription.rb +3 -10
- data/lib/boletosimples/resources/customer_subscription_import.rb +5 -3
- data/lib/boletosimples/resources/discharge.rb +4 -11
- data/lib/boletosimples/resources/email_delivery.rb +3 -1
- data/lib/boletosimples/resources/event.rb +3 -1
- data/lib/boletosimples/resources/installment.rb +3 -1
- data/lib/boletosimples/resources/remittance.rb +3 -1
- data/lib/boletosimples/resources/sms_delivery.rb +6 -0
- data/lib/boletosimples/resources/transaction.rb +3 -1
- data/lib/boletosimples/resources/webhook.rb +3 -1
- data/lib/boletosimples/resources/webhook_delivery.rb +3 -1
- data/lib/boletosimples/response_error.rb +8 -3
- data/lib/boletosimples/version.rb +3 -1
- data/spec/boletosimples/configuration_spec.rb +71 -101
- data/spec/boletosimples/last_request_spec.rb +16 -28
- data/spec/boletosimples/resources/bank_billet_account_spec.rb +57 -33
- data/spec/boletosimples/resources/bank_billet_discharge_spec.rb +7 -12
- data/spec/boletosimples/resources/bank_billet_payment_spec.rb +7 -12
- data/spec/boletosimples/resources/bank_billet_remittance_spec.rb +7 -12
- data/spec/boletosimples/resources/bank_billet_spec.rb +56 -42
- data/spec/boletosimples/resources/customer_import_spec.rb +41 -30
- data/spec/boletosimples/resources/customer_spec.rb +52 -39
- data/spec/boletosimples/resources/customer_subscription_import_spec.rb +41 -30
- data/spec/boletosimples/resources/customer_subscription_spec.rb +61 -33
- data/spec/boletosimples/resources/discharge_spec.rb +64 -11
- data/spec/boletosimples/resources/email_delivery_spec.rb +6 -11
- data/spec/boletosimples/resources/event_spec.rb +7 -12
- data/spec/boletosimples/resources/installment_spec.rb +61 -32
- data/spec/boletosimples/resources/remittance_spec.rb +7 -12
- data/spec/boletosimples/resources/sms_delivery_spec.rb +12 -0
- data/spec/boletosimples/resources/transactions_spec.rb +7 -12
- data/spec/boletosimples/resources/webhook_delivery_spec.rb +7 -12
- data/spec/boletosimples/resources/webhook_spec.rb +7 -12
- data/spec/fixtures/discharge.RET +3 -0
- data/spec/fixtures/vcr_cassettes/last_request/bank_billets.yml +536 -88
- data/spec/fixtures/vcr_cassettes/resources/bank_billet/all.yml +537 -91
- data/spec/fixtures/vcr_cassettes/resources/bank_billet/cancel/success.yml +34 -92
- data/spec/fixtures/vcr_cassettes/resources/bank_billet/create/invalid_params.yml +32 -20
- data/spec/fixtures/vcr_cassettes/resources/bank_billet/create/invalid_root.yml +28 -17
- data/spec/fixtures/vcr_cassettes/resources/bank_billet/create/valid.yml +43 -27
- data/spec/fixtures/vcr_cassettes/resources/bank_billet/duplicate/success.yml +83 -0
- data/spec/fixtures/vcr_cassettes/resources/bank_billet/find.yml +51 -27
- data/spec/fixtures/vcr_cassettes/resources/bank_billet_account/all.yml +131 -20
- data/spec/fixtures/vcr_cassettes/resources/bank_billet_account/create/invalid_params.yml +34 -20
- data/spec/fixtures/vcr_cassettes/resources/bank_billet_account/create/invalid_root.yml +30 -19
- data/spec/fixtures/vcr_cassettes/resources/bank_billet_account/create/valid.yml +41 -21
- data/spec/fixtures/vcr_cassettes/resources/bank_billet_account/find.yml +38 -18
- data/spec/fixtures/vcr_cassettes/resources/bank_billet_discharge/all.yml +66 -47
- data/spec/fixtures/vcr_cassettes/resources/bank_billet_payment/all.yml +44 -42
- data/spec/fixtures/vcr_cassettes/resources/bank_billet_remittance/all.yml +95 -48
- data/spec/fixtures/vcr_cassettes/resources/customer/all.yml +79 -32
- data/spec/fixtures/vcr_cassettes/resources/customer/create/invalid_params.yml +30 -17
- data/spec/fixtures/vcr_cassettes/resources/customer/create/invalid_root.yml +28 -17
- data/spec/fixtures/vcr_cassettes/resources/customer/create/valid.yml +33 -21
- data/spec/fixtures/vcr_cassettes/resources/customer/find.yml +33 -19
- data/spec/fixtures/vcr_cassettes/resources/customer_import/all.yml +43 -60
- data/spec/fixtures/vcr_cassettes/resources/customer_import/create/invalid_params.yml +37 -51
- data/spec/fixtures/vcr_cassettes/resources/customer_import/create/invalid_root.yml +38 -52
- data/spec/fixtures/vcr_cassettes/resources/customer_import/create/valid.yml +43 -68
- data/spec/fixtures/vcr_cassettes/resources/customer_import/find.yml +40 -54
- data/spec/fixtures/vcr_cassettes/resources/customer_subscription/all.yml +102 -52
- data/spec/fixtures/vcr_cassettes/resources/customer_subscription/create/invalid_params.yml +40 -50
- data/spec/fixtures/vcr_cassettes/resources/customer_subscription/create/invalid_root.yml +36 -48
- data/spec/fixtures/vcr_cassettes/resources/customer_subscription/create/valid.yml +48 -53
- data/spec/fixtures/vcr_cassettes/resources/customer_subscription/find.yml +44 -50
- data/spec/fixtures/vcr_cassettes/resources/customer_subscription/next_charge.yml +45 -133
- data/spec/fixtures/vcr_cassettes/resources/customer_subscription_import/all.yml +44 -55
- data/spec/fixtures/vcr_cassettes/resources/customer_subscription_import/create/invalid_params.yml +37 -52
- data/spec/fixtures/vcr_cassettes/resources/customer_subscription_import/create/invalid_root.yml +39 -53
- data/spec/fixtures/vcr_cassettes/resources/customer_subscription_import/create/valid.yml +43 -70
- data/spec/fixtures/vcr_cassettes/resources/customer_subscription_import/find.yml +40 -55
- data/spec/fixtures/vcr_cassettes/resources/discharge/all.yml +64 -33
- data/spec/fixtures/vcr_cassettes/resources/discharge/create/invalid_params.yml +70 -0
- data/spec/fixtures/vcr_cassettes/resources/discharge/create/invalid_root.yml +69 -0
- data/spec/fixtures/vcr_cassettes/resources/discharge/create/valid.yml +84 -0
- data/spec/fixtures/vcr_cassettes/resources/discharge/find.yml +71 -0
- data/spec/fixtures/vcr_cassettes/resources/email_delivery/all.yml +40 -43
- data/spec/fixtures/vcr_cassettes/resources/event/all.yml +490 -166
- data/spec/fixtures/vcr_cassettes/resources/installment/all.yml +418 -52
- data/spec/fixtures/vcr_cassettes/resources/installment/create/invalid_params.yml +41 -52
- data/spec/fixtures/vcr_cassettes/resources/installment/create/invalid_root.yml +36 -48
- data/spec/fixtures/vcr_cassettes/resources/installment/create/valid.yml +48 -53
- data/spec/fixtures/vcr_cassettes/resources/installment/find.yml +44 -52
- data/spec/fixtures/vcr_cassettes/resources/remittance/all.yml +53 -33
- data/spec/fixtures/vcr_cassettes/resources/sns_delivery/all.yml +73 -0
- data/spec/fixtures/vcr_cassettes/resources/transaction/all.yml +34 -22
- data/spec/fixtures/vcr_cassettes/resources/web_hook/all.yml +42 -33
- data/spec/fixtures/vcr_cassettes/resources/webhook_delivery/all.yml +1232 -54
- data/spec/spec_helper.rb +3 -20
- data/spec/support/stub_env.rb +7 -0
- data/spec/support/vcr.rb +3 -4
- metadata +87 -52
- data/.coveralls.yml +0 -2
- data/.travis.yml +0 -46
- data/gemfiles/rails_42.gemfile +0 -8
- data/gemfiles/rails_50.gemfile +0 -8
- data/gemfiles/rails_51.gemfile +0 -8
- data/gemfiles/rails_52.gemfile +0 -9
- data/lib/boletosimples/extra.rb +0 -8
- data/lib/boletosimples/resources/partner/user.rb +0 -7
- data/lib/oauth2_patch.rb +0 -24
- data/spec/boletosimples/extra_spec.rb +0 -31
- data/spec/boletosimples/resources/partner/user_spec.rb +0 -19
- data/spec/fixtures/vcr_cassettes/configuration/client_credentials/invalid.yml +0 -64
- data/spec/fixtures/vcr_cassettes/configuration/client_credentials/valid.yml +0 -56
- data/spec/fixtures/vcr_cassettes/extra/userinfo/authenticated.yml +0 -58
- data/spec/fixtures/vcr_cassettes/extra/userinfo/not_authenticated.yml +0 -54
- data/spec/fixtures/vcr_cassettes/last_request/userinfo.yml +0 -58
- data/spec/fixtures/vcr_cassettes/resources/bank_billet/cancel/failure.yml +0 -118
- data/spec/fixtures/vcr_cassettes/resources/partner/user/create.yml +0 -60
- data/spec/spec.opts +0 -8
@@ -1,66 +1,79 @@
|
|
1
|
-
#
|
1
|
+
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require 'spec_helper'
|
4
4
|
|
5
|
-
# Before running this spec again, you need to set environment variable
|
5
|
+
# Before running this spec again, you need to set environment variable BOLETOSIMPLES_API_TOKEN
|
6
6
|
RSpec.describe BoletoSimples::Customer do
|
7
|
-
before {
|
8
|
-
BoletoSimples.configure do |c|
|
9
|
-
c.application_id = nil
|
10
|
-
c.application_secret = nil
|
11
|
-
end
|
12
|
-
}
|
13
7
|
describe 'methods' do
|
14
|
-
before
|
8
|
+
before do
|
15
9
|
VCR.use_cassette('resources/customer/create/valid') do
|
16
|
-
@customer =
|
17
|
-
person_name:
|
18
|
-
cnpj_cpf:
|
19
|
-
email:
|
20
|
-
address:
|
21
|
-
city_name:
|
22
|
-
state:
|
23
|
-
neighborhood:
|
24
|
-
zipcode:
|
25
|
-
address_number:
|
26
|
-
address_complement:
|
27
|
-
phone_number:
|
28
|
-
|
10
|
+
@customer = described_class.create(
|
11
|
+
person_name: 'Maria José',
|
12
|
+
cnpj_cpf: '54.872.822/0001-91',
|
13
|
+
email: 'cliente@example.com',
|
14
|
+
address: 'Rua quinhentos',
|
15
|
+
city_name: 'Rio de Janeiro',
|
16
|
+
state: 'RJ',
|
17
|
+
neighborhood: 'bairro',
|
18
|
+
zipcode: '12312-123',
|
19
|
+
address_number: '111',
|
20
|
+
address_complement: 'Sala 4',
|
21
|
+
phone_number: '2112123434'
|
22
|
+
)
|
29
23
|
end
|
30
|
-
|
24
|
+
end
|
25
|
+
|
31
26
|
describe 'create' do
|
32
27
|
context 'valid parameters' do
|
33
28
|
subject { @customer }
|
34
|
-
|
35
|
-
it
|
36
|
-
|
29
|
+
|
30
|
+
it do
|
31
|
+
expect(subject).to be_a_kind_of(described_class)
|
32
|
+
expect(subject.response_errors).to eq({})
|
33
|
+
end
|
37
34
|
end
|
35
|
+
|
38
36
|
context 'invalid parameters' do
|
39
37
|
context 'empty bank_billet' do
|
40
|
-
subject
|
38
|
+
subject do
|
41
39
|
VCR.use_cassette('resources/customer/create/invalid_root') do
|
42
|
-
|
40
|
+
described_class.create({})
|
43
41
|
end
|
42
|
+
end
|
43
|
+
|
44
|
+
it {
|
45
|
+
expect(subject.response_errors).to eq([{ code: 422, status: 422,
|
46
|
+
title: 'customer não pode ficar em branco' }])
|
44
47
|
}
|
45
|
-
it { expect(subject.response_errors).to eq({:customer=>["não pode ficar em branco"]}) }
|
46
48
|
end
|
49
|
+
|
47
50
|
context 'invalid params' do
|
48
|
-
subject
|
51
|
+
subject do
|
49
52
|
VCR.use_cassette('resources/customer/create/invalid_params') do
|
50
|
-
|
53
|
+
described_class.create({ person_name: '' })
|
51
54
|
end
|
55
|
+
end
|
56
|
+
|
57
|
+
it {
|
58
|
+
expect(subject.response_errors).to eq({ person_name: ['não pode ficar em branco'],
|
59
|
+
cnpj_cpf: ['não pode ficar em branco'], zipcode: ['não pode ficar em branco'],
|
60
|
+
address: ['não pode ficar em branco'], neighborhood: ['não pode ficar em branco'],
|
61
|
+
city_name: ['não pode ficar em branco'], state: ['não está incluído na lista'] })
|
52
62
|
}
|
53
|
-
it { expect(subject.response_errors).to eq({:person_name=>["não pode ficar em branco"], :cnpj_cpf=>["não pode ficar em branco"], :zipcode=>["não pode ficar em branco"]}) }
|
54
63
|
end
|
55
64
|
end
|
56
65
|
end
|
57
|
-
|
58
|
-
|
59
|
-
|
66
|
+
|
67
|
+
describe 'find', vcr: { cassette_name: 'resources/customer/find' } do
|
68
|
+
subject { described_class.find(@customer.id) }
|
69
|
+
|
70
|
+
it { expect(subject).to be_a_kind_of(described_class) }
|
60
71
|
end
|
61
|
-
|
62
|
-
|
63
|
-
|
72
|
+
|
73
|
+
describe 'all', vcr: { cassette_name: 'resources/customer/all' } do
|
74
|
+
subject { described_class.all }
|
75
|
+
|
76
|
+
it { expect(subject.first).to be_a_kind_of(described_class) }
|
64
77
|
end
|
65
78
|
end
|
66
|
-
end
|
79
|
+
end
|
@@ -1,56 +1,67 @@
|
|
1
|
-
#
|
1
|
+
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require 'spec_helper'
|
4
4
|
|
5
|
-
# Before running this spec again, you need to set environment variable
|
5
|
+
# Before running this spec again, you need to set environment variable BOLETOSIMPLES_API_TOKEN
|
6
6
|
RSpec.describe BoletoSimples::CustomerSubscriptionImport do
|
7
|
-
before {
|
8
|
-
BoletoSimples.configure do |c|
|
9
|
-
c.application_id = nil
|
10
|
-
c.application_secret = nil
|
11
|
-
end
|
12
|
-
}
|
13
7
|
describe 'methods' do
|
14
|
-
before
|
8
|
+
before do
|
15
9
|
VCR.use_cassette('resources/customer_subscription_import/create/valid') do
|
16
|
-
@customer_subscription_import =
|
17
|
-
|
18
|
-
|
10
|
+
@customer_subscription_import = described_class.create({
|
11
|
+
source: Faraday::UploadIO.new(
|
12
|
+
File.join(File.dirname(__FILE__), '..', '..', 'fixtures',
|
13
|
+
'customer_subscription_imports.csv'), 'text/csv', 'customer_subscriptions.csv'
|
14
|
+
)
|
15
|
+
})
|
19
16
|
end
|
20
|
-
|
17
|
+
end
|
18
|
+
|
21
19
|
describe 'create' do
|
22
20
|
context 'valid parameters' do
|
23
21
|
subject { @customer_subscription_import }
|
24
|
-
|
25
|
-
it
|
26
|
-
|
22
|
+
|
23
|
+
it do
|
24
|
+
expect(subject).to be_a_kind_of(described_class)
|
25
|
+
expect(subject.response_errors).to eq({})
|
26
|
+
end
|
27
27
|
end
|
28
|
+
|
28
29
|
context 'invalid parameters' do
|
29
30
|
context 'empty bank_billet' do
|
30
|
-
subject
|
31
|
+
subject do
|
31
32
|
VCR.use_cassette('resources/customer_subscription_import/create/invalid_root') do
|
32
|
-
|
33
|
+
described_class.create({})
|
33
34
|
end
|
35
|
+
end
|
36
|
+
|
37
|
+
it {
|
38
|
+
expect(subject.response_errors).to eq([{ code: 422, status: 422,
|
39
|
+
title: 'customer_subscription_import não pode ficar em branco' }])
|
34
40
|
}
|
35
|
-
it { expect(subject.response_errors).to eq({:customer_subscription_import=>["não pode ficar em branco"]}) }
|
36
41
|
end
|
42
|
+
|
37
43
|
context 'invalid params' do
|
38
|
-
subject
|
44
|
+
subject do
|
39
45
|
VCR.use_cassette('resources/customer_subscription_import/create/invalid_params') do
|
40
|
-
|
46
|
+
described_class.create({ source: '' })
|
41
47
|
end
|
42
|
-
|
43
|
-
|
48
|
+
end
|
49
|
+
|
50
|
+
it { expect(subject.response_errors).to eq(source: ['não pode ficar em branco']) }
|
44
51
|
end
|
45
52
|
end
|
46
53
|
end
|
47
|
-
|
48
|
-
|
49
|
-
|
54
|
+
|
55
|
+
describe 'find', vcr: { cassette_name: 'resources/customer_subscription_import/find' } do
|
56
|
+
subject { described_class.find(@customer_subscription_import.id) }
|
57
|
+
|
58
|
+
it { expect(subject).to be_a_kind_of(described_class) }
|
50
59
|
end
|
51
|
-
|
52
|
-
|
53
|
-
|
60
|
+
|
61
|
+
describe 'all', vcr: { cassette_name: 'resources/customer_subscription_import/all' } do
|
62
|
+
subject { described_class.all }
|
63
|
+
|
64
|
+
it { expect(subject.first).to be_a_kind_of(described_class) }
|
54
65
|
end
|
55
66
|
end
|
56
|
-
end
|
67
|
+
end
|
@@ -1,65 +1,93 @@
|
|
1
|
-
#
|
1
|
+
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require 'spec_helper'
|
4
4
|
|
5
|
-
# Before running this spec again, you need to set environment variable
|
5
|
+
# Before running this spec again, you need to set environment variable BOLETOSIMPLES_API_TOKEN
|
6
6
|
RSpec.describe BoletoSimples::CustomerSubscription do
|
7
|
-
before {
|
8
|
-
BoletoSimples.configure do |c|
|
9
|
-
c.application_id = nil
|
10
|
-
c.application_secret = nil
|
11
|
-
end
|
12
|
-
}
|
13
7
|
describe 'methods' do
|
14
|
-
before
|
8
|
+
before do
|
15
9
|
VCR.use_cassette('resources/customer_subscription/create/valid') do
|
16
|
-
@customer_subscription =
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
10
|
+
@customer_subscription = described_class.create(
|
11
|
+
amount: 1120.4,
|
12
|
+
cycle: 'monthly',
|
13
|
+
description: 'Hospedagem',
|
14
|
+
customer_address: 'Rua quinhentos',
|
15
|
+
customer_address_complement: 'Sala 4',
|
16
|
+
customer_address_number: '111',
|
17
|
+
customer_city_name: 'Rio de Janeiro',
|
18
|
+
customer_cnpj_cpf: '18.033.842/0001-05',
|
19
|
+
customer_email: 'cliente@example.com',
|
20
|
+
customer_neighborhood: 'Sao Francisco',
|
21
|
+
customer_person_name: 'Joao da Silva',
|
22
|
+
customer_person_type: 'individual',
|
23
|
+
customer_phone_number: '2112123434',
|
24
|
+
customer_state: 'RJ',
|
25
|
+
customer_zipcode: '12312-123'
|
26
|
+
)
|
23
27
|
end
|
24
|
-
|
28
|
+
end
|
29
|
+
|
25
30
|
describe 'create' do
|
26
31
|
context 'valid parameters' do
|
27
32
|
subject { @customer_subscription }
|
28
|
-
|
29
|
-
it
|
30
|
-
|
33
|
+
|
34
|
+
it do
|
35
|
+
expect(subject).to be_a_kind_of(described_class)
|
36
|
+
expect(subject.response_errors).to eq({})
|
37
|
+
end
|
31
38
|
end
|
39
|
+
|
32
40
|
context 'invalid parameters' do
|
33
41
|
context 'empty bank_billet' do
|
34
|
-
subject
|
42
|
+
subject do
|
35
43
|
VCR.use_cassette('resources/customer_subscription/create/invalid_root') do
|
36
|
-
|
44
|
+
described_class.create({})
|
37
45
|
end
|
46
|
+
end
|
47
|
+
|
48
|
+
it {
|
49
|
+
expect(subject.response_errors).to eq([{ code: 422,
|
50
|
+
status: 422,
|
51
|
+
title: 'customer_subscription não pode ficar em branco' }])
|
38
52
|
}
|
39
|
-
it { expect(subject.response_errors).to eq({ :customer_subscription => ["não pode ficar em branco"] }) }
|
40
53
|
end
|
54
|
+
|
41
55
|
context 'invalid params' do
|
42
|
-
subject
|
56
|
+
subject do
|
43
57
|
VCR.use_cassette('resources/customer_subscription/create/invalid_params') do
|
44
|
-
|
58
|
+
described_class.create({ customer_id: '' })
|
45
59
|
end
|
60
|
+
end
|
61
|
+
|
62
|
+
it {
|
63
|
+
expect(subject.response_errors).to eq({ customer_person_name: ['não pode ficar em branco'],
|
64
|
+
customer_cnpj_cpf: ['não pode ficar em branco'],
|
65
|
+
customer_zipcode: ['não pode ficar em branco'],
|
66
|
+
amount: ['não pode ficar em branco'],
|
67
|
+
customer_address: ['não pode ficar em branco'],
|
68
|
+
customer_neighborhood: ['não pode ficar em branco'],
|
69
|
+
customer_city_name: ['não pode ficar em branco'],
|
70
|
+
customer_state: ['não está incluído na lista'] })
|
46
71
|
}
|
47
|
-
it { expect(subject.response_errors).to eq({ :customer=>["não pode ficar em branco"], :bank_billet_account=>["não pode ficar em branco"], :amount=>["não pode ficar em branco"], :description=>["não pode ficar em branco"] }) }
|
48
72
|
end
|
49
73
|
end
|
50
74
|
end
|
75
|
+
|
51
76
|
describe 'find', vcr: { cassette_name: 'resources/customer_subscription/find' } do
|
52
|
-
subject {
|
53
|
-
|
77
|
+
subject { described_class.find(@customer_subscription.id) }
|
78
|
+
|
79
|
+
it { expect(subject).to be_a_kind_of(described_class) }
|
54
80
|
end
|
81
|
+
|
55
82
|
describe 'all', vcr: { cassette_name: 'resources/customer_subscription/all' } do
|
56
|
-
subject {
|
57
|
-
|
83
|
+
subject { described_class.all }
|
84
|
+
|
85
|
+
it { expect(subject.first).to be_a_kind_of(described_class) }
|
58
86
|
end
|
87
|
+
|
59
88
|
describe 'cancel' do
|
60
|
-
context 'success', vcr: { cassette_name: 'resources/customer_subscription/next_charge'} do
|
61
|
-
|
62
|
-
it { expect(subject.next_charge).to be_truthy }
|
89
|
+
context 'success', vcr: { cassette_name: 'resources/customer_subscription/next_charge' } do
|
90
|
+
it { expect(described_class.next_charge(id: @customer_subscription.id)).to be_truthy }
|
63
91
|
end
|
64
92
|
end
|
65
93
|
end
|
@@ -1,17 +1,70 @@
|
|
1
|
-
#
|
1
|
+
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require 'spec_helper'
|
4
4
|
|
5
|
-
# Before running this spec again, you need to set environment variable
|
5
|
+
# Before running this spec again, you need to set environment variable BOLETOSIMPLES_API_TOKEN
|
6
6
|
RSpec.describe BoletoSimples::Discharge do
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
7
|
+
describe 'methods' do
|
8
|
+
before do
|
9
|
+
VCR.use_cassette('resources/discharge/create/valid') do
|
10
|
+
@discharge = described_class.create({
|
11
|
+
file: Faraday::UploadIO.new(
|
12
|
+
File.join(File.dirname(__FILE__), '..', '..',
|
13
|
+
'fixtures', 'discharge.RET'), 'text/plain', 'discharge.RET'
|
14
|
+
)
|
15
|
+
})
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
describe 'create' do
|
20
|
+
context 'valid parameters' do
|
21
|
+
subject { @discharge }
|
22
|
+
|
23
|
+
it do
|
24
|
+
expect(subject).to be_a_kind_of(described_class)
|
25
|
+
expect(subject.response_errors).to eq({})
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
context 'invalid parameters' do
|
30
|
+
context 'empty bank_billet' do
|
31
|
+
subject do
|
32
|
+
VCR.use_cassette('resources/discharge/create/invalid_root') do
|
33
|
+
described_class.create({})
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
it {
|
38
|
+
expect(subject.response_errors).to eq([{ code: 422, status: 422,
|
39
|
+
title: 'discharge não pode ficar em branco' }])
|
40
|
+
}
|
41
|
+
end
|
42
|
+
|
43
|
+
context 'invalid params' do
|
44
|
+
subject do
|
45
|
+
VCR.use_cassette('resources/discharge/create/invalid_params') do
|
46
|
+
described_class.create({ content: '' })
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
50
|
+
it {
|
51
|
+
expect(subject.response_errors).to eq({ content: ['não pode ficar em branco'],
|
52
|
+
filename: ['não pode ficar em branco'] })
|
53
|
+
}
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
57
|
+
|
58
|
+
describe 'find', vcr: { cassette_name: 'resources/discharge/find' } do
|
59
|
+
subject { described_class.find(@discharge.id) }
|
60
|
+
|
61
|
+
it { expect(subject).to be_a_kind_of(described_class) }
|
62
|
+
end
|
63
|
+
|
64
|
+
describe 'all', vcr: { cassette_name: 'resources/discharge/all' } do
|
65
|
+
subject { described_class.all }
|
66
|
+
|
67
|
+
it { expect(subject.first).to be_a_kind_of(described_class) }
|
11
68
|
end
|
12
|
-
}
|
13
|
-
describe 'all', vcr: { cassette_name: 'resources/discharge/all'} do
|
14
|
-
subject { BoletoSimples::Discharge.all }
|
15
|
-
it { expect(subject.first).to be_a_kind_of(BoletoSimples::Discharge) }
|
16
69
|
end
|
17
|
-
end
|
70
|
+
end
|
@@ -1,17 +1,12 @@
|
|
1
|
-
#
|
1
|
+
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require 'spec_helper'
|
4
4
|
|
5
|
-
# Before running this spec again, you need to set environment variable
|
5
|
+
# Before running this spec again, you need to set environment variable BOLETOSIMPLES_API_TOKEN
|
6
6
|
RSpec.describe BoletoSimples::EmailDelivery do
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
c.application_secret = nil
|
11
|
-
end
|
12
|
-
}
|
13
|
-
describe 'all', vcr: { cassette_name: 'resources/email_delivery/all'} do
|
14
|
-
subject { BoletoSimples::EmailDelivery.all }
|
7
|
+
describe 'all', vcr: { cassette_name: 'resources/email_delivery/all' } do
|
8
|
+
subject { described_class.all }
|
9
|
+
|
15
10
|
it { expect(subject.first).to be_nil }
|
16
11
|
end
|
17
|
-
end
|
12
|
+
end
|