cnab240_bancoabc 1.1.0 → 1.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +30 -9
- data/lib/cnab240/bancoabc/entities/base.rb +4 -2
- data/lib/cnab240/bancoabc/entities/header.rb +0 -1
- data/lib/cnab240/bancoabc/entities/header_builder.rb +22 -22
- data/lib/cnab240/bancoabc/entities/header_lote_builder.rb +22 -23
- data/lib/cnab240/bancoabc/entities/register_p.rb +10 -10
- data/lib/cnab240/bancoabc/entities/register_q.rb +2 -2
- data/lib/cnab240/bancoabc/entities/register_s.rb +8 -8
- data/lib/cnab240/bancoabc/entities/register_t.rb +0 -4
- data/lib/cnab240/bancoabc/entities/trailler_builder.rb +10 -10
- data/lib/cnab240/bancoabc/entities/trailler_lote_builder.rb +10 -10
- data/lib/cnab240/bancoabc/ocorrencias.rb +67 -65
- data/lib/cnab240/bancoabc/version.rb +1 -1
- metadata +71 -60
- data/spec/cnab240/bancoabc/entities/base_spec.rb +0 -93
- data/spec/cnab240/bancoabc/entities/header_spec.rb +0 -64
- data/spec/cnab240/bancoabc/entities/register_p_spec.rb +0 -298
- data/spec/cnab240/bancoabc/entities/register_q_spec.rb +0 -149
- data/spec/cnab240/bancoabc/entities/register_r_spec.rb +0 -191
- data/spec/cnab240/bancoabc/entities/register_t_spec.rb +0 -64
- data/spec/cnab240/bancoabc/entities/register_u_spec.rb +0 -49
- data/spec/cnab240/bancoabc/entities/trailler_builder_spec.rb +0 -60
- data/spec/cnab240/bancoabc/entities/trailler_lote_builder_spec.rb +0 -65
- data/spec/cnab240/bancoabc/entities/trailler_spec.rb +0 -73
- data/spec/cnab240/bancoabc/services/parse_line_spec.rb +0 -37
- data/spec/spec_helper.rb +0 -34
@@ -1,49 +0,0 @@
|
|
1
|
-
# frozen_string_literal: false
|
2
|
-
|
3
|
-
require "spec_helper"
|
4
|
-
|
5
|
-
describe CNAB240::BancoABC::Entities::RegisterU do
|
6
|
-
let(:header) { 13.times.map { rand(10) }.join }
|
7
|
-
let(:segmento) { 1.times.map { rand(10) }.join }
|
8
|
-
let(:segmento_space) { 3.times.map { rand(10) }.join }
|
9
|
-
let(:acrescimos) { 15.times.map { rand(10) }.join }
|
10
|
-
let(:valor_desconto) { 15.times.map { rand(10) }.join }
|
11
|
-
let(:valor_abatimento) { 15.times.map { rand(10) }.join }
|
12
|
-
let(:valor_iof) { 15.times.map { rand(10) }.join }
|
13
|
-
let(:valor_pago) { 15.times.map { rand(10) }.join }
|
14
|
-
let(:valor_liquido) { 15.times.map { rand(10) }.join }
|
15
|
-
let(:valor_outras_despesas) { 15.times.map { rand(10) }.join }
|
16
|
-
let(:valor_outros_creditos) { 15.times.map { rand(10) }.join }
|
17
|
-
let(:data_ocorrencia) { 8.times.map { rand(10) }.join }
|
18
|
-
let(:data_credito) { 8.times.map { rand(10) }.join }
|
19
|
-
|
20
|
-
let(:line) do
|
21
|
-
header + segmento + segmento_space + acrescimos + valor_desconto + valor_abatimento +
|
22
|
-
valor_iof + valor_pago + valor_liquido + valor_outras_despesas + valor_outros_creditos +
|
23
|
-
data_ocorrencia + data_credito
|
24
|
-
end
|
25
|
-
|
26
|
-
describe "#register?" do
|
27
|
-
subject { described_class.new(line).register? }
|
28
|
-
|
29
|
-
it { expect(subject).to be_truthy }
|
30
|
-
end
|
31
|
-
|
32
|
-
describe "#data" do
|
33
|
-
subject { described_class.new(line).data }
|
34
|
-
|
35
|
-
it { expect(subject).to eq({
|
36
|
-
segmento:,
|
37
|
-
acrescimos:,
|
38
|
-
valor_desconto:,
|
39
|
-
valor_abatimento:,
|
40
|
-
valor_iof:,
|
41
|
-
valor_pago:,
|
42
|
-
valor_liquido:,
|
43
|
-
valor_outras_despesas:,
|
44
|
-
valor_outros_creditos:,
|
45
|
-
data_ocorrencia:,
|
46
|
-
data_credito:
|
47
|
-
}) }
|
48
|
-
end
|
49
|
-
end
|
@@ -1,60 +0,0 @@
|
|
1
|
-
# frozen_string_literal: false
|
2
|
-
|
3
|
-
require "spec_helper"
|
4
|
-
|
5
|
-
describe CNAB240::BancoABC::Entities::TraillerBuilder do
|
6
|
-
describe "#trailler?" do
|
7
|
-
subject { described_class.new.trailler? }
|
8
|
-
|
9
|
-
it { expect(subject).to be_truthy }
|
10
|
-
end
|
11
|
-
|
12
|
-
describe "#codigo_banco" do
|
13
|
-
subject { described_class.new.codigo_banco }
|
14
|
-
|
15
|
-
it { expect(subject).to eq("246") }
|
16
|
-
end
|
17
|
-
|
18
|
-
describe "#lote_do_servico" do
|
19
|
-
subject { described_class.new.lote_do_servico }
|
20
|
-
|
21
|
-
it { expect(subject).to eq("9999") }
|
22
|
-
end
|
23
|
-
|
24
|
-
|
25
|
-
describe "#tipo_registro" do
|
26
|
-
subject { described_class.new.tipo_registro }
|
27
|
-
|
28
|
-
it { expect(subject).to eq("9") }
|
29
|
-
end
|
30
|
-
|
31
|
-
describe "#quantidade_lotes" do
|
32
|
-
subject { described_class.new.quantidade_lotes }
|
33
|
-
|
34
|
-
it { expect(subject).to eq("000001") }
|
35
|
-
end
|
36
|
-
|
37
|
-
describe "#quantidade_registros" do
|
38
|
-
subject { described_class.new.quantidade_registros("1") }
|
39
|
-
|
40
|
-
it { expect(subject).to eq("000001") }
|
41
|
-
end
|
42
|
-
|
43
|
-
describe "#quantidade_contas_para_conciliacao" do
|
44
|
-
subject { described_class.new.quantidade_contas_para_conciliacao }
|
45
|
-
|
46
|
-
it { expect(subject).to eq("000000") }
|
47
|
-
end
|
48
|
-
|
49
|
-
describe "#uso_exclusivo_febraban_1" do
|
50
|
-
subject { described_class.new.uso_exclusivo_febraban_1(234) }
|
51
|
-
|
52
|
-
it { expect(subject).to eq("234 ") }
|
53
|
-
end
|
54
|
-
|
55
|
-
describe "#uso_exclusivo_febraban_2" do
|
56
|
-
subject { described_class.new.uso_exclusivo_febraban_2(234) }
|
57
|
-
|
58
|
-
it { expect(subject).to eq("234#{' ' * 202}") }
|
59
|
-
end
|
60
|
-
end
|
@@ -1,65 +0,0 @@
|
|
1
|
-
# frozen_string_literal: false
|
2
|
-
|
3
|
-
require "spec_helper"
|
4
|
-
|
5
|
-
describe CNAB240::BancoABC::Entities::TraillerLoteBuilder do
|
6
|
-
describe "#trailler?" do
|
7
|
-
subject { described_class.new.trailler? }
|
8
|
-
|
9
|
-
it { expect(subject).to be_truthy }
|
10
|
-
end
|
11
|
-
|
12
|
-
describe "#codigo_banco" do
|
13
|
-
subject { described_class.new.codigo_banco }
|
14
|
-
|
15
|
-
it { expect(subject).to eq("246") }
|
16
|
-
end
|
17
|
-
|
18
|
-
describe "#lote_do_servico" do
|
19
|
-
subject { described_class.new.lote_do_servico }
|
20
|
-
|
21
|
-
it { expect(subject).to eq("0001") }
|
22
|
-
end
|
23
|
-
|
24
|
-
describe "#tipo_registro" do
|
25
|
-
subject { described_class.new.tipo_registro }
|
26
|
-
|
27
|
-
it { expect(subject).to eq("5") }
|
28
|
-
end
|
29
|
-
|
30
|
-
describe "#quantidade_registros_lotes" do
|
31
|
-
subject { described_class.new.quantidade_registros_lotes(123456) }
|
32
|
-
|
33
|
-
it { expect(subject).to eq("123456") }
|
34
|
-
end
|
35
|
-
|
36
|
-
describe "#uso_exclusivo_febraban" do
|
37
|
-
subject { described_class.new.uso_exclusivo_febraban(1234567890) }
|
38
|
-
|
39
|
-
it { expect(subject).to eq("123456789") }
|
40
|
-
end
|
41
|
-
|
42
|
-
describe "#quantidade_titulos_cobranca" do
|
43
|
-
subject { described_class.new.quantidade_titulos_cobranca }
|
44
|
-
|
45
|
-
it { expect(subject).to eq("0" * 6) }
|
46
|
-
end
|
47
|
-
|
48
|
-
describe "#valor_total_titulos_carteira" do
|
49
|
-
subject { described_class.new.valor_total_titulos_carteira }
|
50
|
-
|
51
|
-
it { expect(subject).to eq("0" * 17) }
|
52
|
-
end
|
53
|
-
|
54
|
-
describe "#uso_abc" do
|
55
|
-
subject { described_class.new.uso_abc(123456789) }
|
56
|
-
|
57
|
-
it { expect(subject).to eq("12345678") }
|
58
|
-
end
|
59
|
-
|
60
|
-
describe "#uso_exclusivo" do
|
61
|
-
subject { described_class.new.uso_exclusivo("0" * 117) }
|
62
|
-
|
63
|
-
it { expect(subject).to eq("0" * 117) }
|
64
|
-
end
|
65
|
-
end
|
@@ -1,73 +0,0 @@
|
|
1
|
-
# frozen_string_literal: false
|
2
|
-
|
3
|
-
require "spec_helper"
|
4
|
-
|
5
|
-
describe CNAB240::BancoABC::Entities::Trailler do
|
6
|
-
let(:codigo_banco) { 3.times.map { rand(10) }.join }
|
7
|
-
let(:lote_do_servico) { 4.times.map { rand(10) }.join }
|
8
|
-
let(:tipo_registro) { 1.times.map { rand(10) }.join }
|
9
|
-
let(:uso_exclusivo_febraban_1) { 9.times.map { rand(10) }.join }
|
10
|
-
let(:quantidade_lotes) { 6.times.map { rand(10) }.join }
|
11
|
-
let(:quantidade_registros) { 6.times.map { rand(10) }.join }
|
12
|
-
let(:quantidade_contas_para_conciliacao) { 6.times.map { rand(10) }.join }
|
13
|
-
let(:uso_exclusivo_febraban_2) { 204.times.map { rand(10) }.join }
|
14
|
-
|
15
|
-
let(:line) do
|
16
|
-
codigo_banco + lote_do_servico + tipo_registro + uso_exclusivo_febraban_1 + quantidade_lotes +
|
17
|
-
quantidade_registros + quantidade_contas_para_conciliacao + uso_exclusivo_febraban_2
|
18
|
-
end
|
19
|
-
|
20
|
-
describe "#trailler?" do
|
21
|
-
subject { described_class.new(line).trailler? }
|
22
|
-
|
23
|
-
it { expect(subject).to be_truthy }
|
24
|
-
end
|
25
|
-
|
26
|
-
describe "#codigo_banco" do
|
27
|
-
subject { described_class.new(line).codigo_banco }
|
28
|
-
|
29
|
-
it { expect(subject).to eq(codigo_banco) }
|
30
|
-
end
|
31
|
-
|
32
|
-
describe "#lote_do_servico" do
|
33
|
-
subject { described_class.new(line).lote_do_servico }
|
34
|
-
|
35
|
-
it { expect(subject).to eq(lote_do_servico) }
|
36
|
-
end
|
37
|
-
|
38
|
-
describe "#tipo_registro" do
|
39
|
-
subject { described_class.new(line).tipo_registro }
|
40
|
-
|
41
|
-
it { expect(subject).to eq(tipo_registro) }
|
42
|
-
end
|
43
|
-
|
44
|
-
describe "#uso_exclusivo_febraban_1" do
|
45
|
-
subject { described_class.new(line).uso_exclusivo_febraban_1 }
|
46
|
-
|
47
|
-
it { expect(subject).to eq(uso_exclusivo_febraban_1) }
|
48
|
-
end
|
49
|
-
|
50
|
-
describe "#quantidade_lotes" do
|
51
|
-
subject { described_class.new(line).quantidade_lotes }
|
52
|
-
|
53
|
-
it { expect(subject).to eq(quantidade_lotes) }
|
54
|
-
end
|
55
|
-
|
56
|
-
describe "#quantidade_registros" do
|
57
|
-
subject { described_class.new(line).quantidade_registros }
|
58
|
-
|
59
|
-
it { expect(subject).to eq(quantidade_registros) }
|
60
|
-
end
|
61
|
-
|
62
|
-
describe "#quantidade_contas_para_conciliacao" do
|
63
|
-
subject { described_class.new(line).quantidade_contas_para_conciliacao }
|
64
|
-
|
65
|
-
it { expect(subject).to eq(quantidade_contas_para_conciliacao) }
|
66
|
-
end
|
67
|
-
|
68
|
-
describe "#uso_exclusivo_febraban_2" do
|
69
|
-
subject { described_class.new(line).uso_exclusivo_febraban_2 }
|
70
|
-
|
71
|
-
it { expect(subject).to eq(uso_exclusivo_febraban_2) }
|
72
|
-
end
|
73
|
-
end
|
@@ -1,37 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require "spec_helper"
|
4
|
-
|
5
|
-
describe CNAB240::BancoABC::Services::ParseLine do
|
6
|
-
context "when it receives a line and pass type 0" do
|
7
|
-
it "returns a Header" do
|
8
|
-
line = described_class.call("00000", "0")
|
9
|
-
|
10
|
-
expect(line.header?).to eq(true)
|
11
|
-
end
|
12
|
-
end
|
13
|
-
|
14
|
-
context "when it receives a line and pass type 1" do
|
15
|
-
it "returns a Register T format" do
|
16
|
-
line = described_class.call("00000000000000T", "1")
|
17
|
-
|
18
|
-
expect(line.register?).to eq(true)
|
19
|
-
end
|
20
|
-
end
|
21
|
-
|
22
|
-
context "when it receives a line and pass type 2" do
|
23
|
-
it "returns a Register U format" do
|
24
|
-
line = described_class.call("00000000000000U", "2")
|
25
|
-
|
26
|
-
expect(line.register?).to eq(true)
|
27
|
-
end
|
28
|
-
end
|
29
|
-
|
30
|
-
context "when it receives a line and pass type 9" do
|
31
|
-
it "returns a Trailler" do
|
32
|
-
line = described_class.call("90000", "9")
|
33
|
-
|
34
|
-
expect(line.trailler?).to eq(true)
|
35
|
-
end
|
36
|
-
end
|
37
|
-
end
|
data/spec/spec_helper.rb
DELETED
@@ -1,34 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require "simplecov"
|
4
|
-
require "bundler"
|
5
|
-
require "pry"
|
6
|
-
|
7
|
-
SimpleCov.formatters = [SimpleCov::Formatter::HTMLFormatter]
|
8
|
-
SimpleCov.minimum_coverage 70.0
|
9
|
-
|
10
|
-
SimpleCov.start do
|
11
|
-
add_filter "/spec/"
|
12
|
-
minimum_coverage 70
|
13
|
-
minimum_coverage_by_file 50
|
14
|
-
end
|
15
|
-
|
16
|
-
Dir["./lib/**/*.rb"].sort.each { |file| require file }
|
17
|
-
|
18
|
-
begin
|
19
|
-
Bundler.setup(:default, :development, :test)
|
20
|
-
rescue Bundler::BundlerError => e
|
21
|
-
warn e.message
|
22
|
-
warn "Run `bundle install` to install missing gems"
|
23
|
-
|
24
|
-
exit e.status_code
|
25
|
-
end
|
26
|
-
|
27
|
-
RSpec.configure do |config|
|
28
|
-
# Enable flags like --only-failures and --next-failure
|
29
|
-
config.example_status_persistence_file_path = ".rspec_status"
|
30
|
-
|
31
|
-
config.expect_with :rspec do |c|
|
32
|
-
c.syntax = :expect
|
33
|
-
end
|
34
|
-
end
|