brcobranca 10.0.0 → 10.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (82) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +47 -21
  3. data/README.md +5 -0
  4. data/lib/brcobranca/arquivos/templates/modelo_generico2.eps +9967 -0
  5. data/lib/brcobranca/boleto/banco_brasil.rb +5 -1
  6. data/lib/brcobranca/boleto/base.rb +2 -0
  7. data/lib/brcobranca/boleto/template/base.rb +4 -0
  8. data/lib/brcobranca/boleto/template/rghost2.rb +255 -0
  9. data/lib/brcobranca/boleto/template/rghost_bolepix.rb +279 -0
  10. data/lib/brcobranca/remessa/pagamento.rb +13 -11
  11. data/lib/brcobranca/retorno/cnab400/banco_brasil.rb +3 -0
  12. data/lib/brcobranca/retorno/cnab400/base.rb +1 -1
  13. data/lib/brcobranca/version.rb +1 -1
  14. data/lib/brcobranca.rb +2 -0
  15. metadata +8 -139
  16. data/spec/brcobranca/base_spec.rb +0 -179
  17. data/spec/brcobranca/boleto/ailos_spec.rb +0 -148
  18. data/spec/brcobranca/boleto/banco_brasil_spec.rb +0 -336
  19. data/spec/brcobranca/boleto/banco_brasilia_spec.rb +0 -153
  20. data/spec/brcobranca/boleto/banco_nordeste_spec.rb +0 -160
  21. data/spec/brcobranca/boleto/banestes_spec.rb +0 -193
  22. data/spec/brcobranca/boleto/banrisul_spec.rb +0 -180
  23. data/spec/brcobranca/boleto/bradesco_spec.rb +0 -214
  24. data/spec/brcobranca/boleto/caixa_spec.rb +0 -160
  25. data/spec/brcobranca/boleto/citibank_spec.rb +0 -195
  26. data/spec/brcobranca/boleto/credisis_spec.rb +0 -160
  27. data/spec/brcobranca/boleto/hsbc_spec.rb +0 -171
  28. data/spec/brcobranca/boleto/itau_spec.rb +0 -261
  29. data/spec/brcobranca/boleto/safra_spec.rb +0 -171
  30. data/spec/brcobranca/boleto/santander_spec.rb +0 -142
  31. data/spec/brcobranca/boleto/sicoob_spec.rb +0 -192
  32. data/spec/brcobranca/boleto/sicredi_spec.rb +0 -194
  33. data/spec/brcobranca/boleto/unicred_spec.rb +0 -139
  34. data/spec/brcobranca/boletos_em_lote_spec.rb +0 -38
  35. data/spec/brcobranca/calculo_data_spec.rb +0 -33
  36. data/spec/brcobranca/calculo_spec.rb +0 -187
  37. data/spec/brcobranca/currency_spec.rb +0 -79
  38. data/spec/brcobranca/formatacao_spec.rb +0 -46
  39. data/spec/brcobranca/formatacao_string_spec.rb +0 -31
  40. data/spec/brcobranca/limpeza_spec.rb +0 -10
  41. data/spec/brcobranca/remessa/base_spec.rb +0 -66
  42. data/spec/brcobranca/remessa/cnab240/ailos_spec.rb +0 -165
  43. data/spec/brcobranca/remessa/cnab240/banco_brasil_spec.rb +0 -222
  44. data/spec/brcobranca/remessa/cnab240/base_spec.rb +0 -114
  45. data/spec/brcobranca/remessa/cnab240/caixa_spec.rb +0 -165
  46. data/spec/brcobranca/remessa/cnab240/sicoob_banco_brasil_spec.rb +0 -272
  47. data/spec/brcobranca/remessa/cnab240/sicoob_spec.rb +0 -200
  48. data/spec/brcobranca/remessa/cnab240/sicredi_spec.rb +0 -203
  49. data/spec/brcobranca/remessa/cnab240/unicred_spec.rb +0 -195
  50. data/spec/brcobranca/remessa/cnab400/banco_brasil_spec.rb +0 -190
  51. data/spec/brcobranca/remessa/cnab400/banco_brasilia_spec.rb +0 -188
  52. data/spec/brcobranca/remessa/cnab400/banco_nordeste_spec.rb +0 -192
  53. data/spec/brcobranca/remessa/cnab400/banrisul_spec.rb +0 -192
  54. data/spec/brcobranca/remessa/cnab400/base_spec.rb +0 -68
  55. data/spec/brcobranca/remessa/cnab400/bradesco_spec.rb +0 -203
  56. data/spec/brcobranca/remessa/cnab400/citibank_spec.rb +0 -128
  57. data/spec/brcobranca/remessa/cnab400/credisis_spec.rb +0 -190
  58. data/spec/brcobranca/remessa/cnab400/itau_spec.rb +0 -192
  59. data/spec/brcobranca/remessa/cnab400/santander_spec.rb +0 -154
  60. data/spec/brcobranca/remessa/cnab400/sicoob_spec.rb +0 -217
  61. data/spec/brcobranca/remessa/cnab400/unicred_spec.rb +0 -186
  62. data/spec/brcobranca/remessa/pagamento_spec.rb +0 -228
  63. data/spec/brcobranca/retorno/cnab240/base_spec.rb +0 -24
  64. data/spec/brcobranca/retorno/cnab240/cecred_spec.rb +0 -52
  65. data/spec/brcobranca/retorno/cnab240/santander_spec.rb +0 -52
  66. data/spec/brcobranca/retorno/cnab240/sicoob_spec.rb +0 -52
  67. data/spec/brcobranca/retorno/cnab240/sicredi_spec.rb +0 -33
  68. data/spec/brcobranca/retorno/cnab400/banco_brasilia_spec.rb +0 -37
  69. data/spec/brcobranca/retorno/cnab400/banco_nordeste_spec.rb +0 -40
  70. data/spec/brcobranca/retorno/cnab400/banrisul_spec.rb +0 -42
  71. data/spec/brcobranca/retorno/cnab400/base_spec.rb +0 -57
  72. data/spec/brcobranca/retorno/cnab400/bradesco_spec.rb +0 -59
  73. data/spec/brcobranca/retorno/cnab400/credisis_spec.rb +0 -26
  74. data/spec/brcobranca/retorno/cnab400/itau_spec.rb +0 -60
  75. data/spec/brcobranca/retorno/cnab400/santander_spec.rb +0 -40
  76. data/spec/brcobranca/retorno/cnab400/unicred_spec.rb +0 -38
  77. data/spec/brcobranca/retorno/retorno_cbr643_spec.rb +0 -69
  78. data/spec/brcobranca/retorno/retorno_cnab400_spec.rb +0 -58
  79. data/spec/brcobranca/retorno/retorno_cnab_240_spec.rb +0 -53
  80. data/spec/brcobranca/rghost_spec.rb +0 -29
  81. data/spec/brcobranca/util/empresa_spec.rb +0 -35
  82. data/spec/brcobranca_spec.rb +0 -33
@@ -1,52 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- RSpec.describe Brcobranca::Retorno::Cnab240::Ailos do
4
- before do
5
- @arquivo = File.join(File.dirname(__FILE__), '..', '..', '..', 'arquivos', 'CNAB240AILOS.RET')
6
- end
7
-
8
- it 'Transforma arquivo de retorno em objetos de retorno retornando somente as linhas de pagamentos de títulos sem registro' do
9
- pagamentos = described_class.load_lines(@arquivo)
10
- expect(pagamentos.size).to eq(3)
11
- pagamento = pagamentos.first
12
- expect(pagamento.agencia_com_dv).to eql('030390')
13
- expect(pagamento.cedente_com_dv).to eql('0000000489816')
14
- expect(pagamento.nosso_numero).to eql('000000000000083')
15
- expect(pagamento.carteira).to eql('1')
16
- expect(pagamento.data_vencimento).to eql('13082015')
17
- expect(pagamento.valor_titulo).to eql('000000000000200')
18
- expect(pagamento.banco_recebedor).to eql('085')
19
- expect(pagamento.agencia_recebedora_com_dv).to eql('030390')
20
- expect(pagamento.data_credito).to eql('10082015')
21
- expect(pagamento.data_ocorrencia).to eql('10082015')
22
- expect(pagamento.codigo_ocorrencia).to eql('06')
23
- expect(pagamento.outras_despesas).to eql('000000000000000')
24
- expect(pagamento.iof_desconto).to eql('000000000000000')
25
- expect(pagamento.valor_abatimento).to eql('000000000000000')
26
- expect(pagamento.desconto_concedito).to eql('000000000000000')
27
- expect(pagamento.valor_recebido).to eql('000000000000200')
28
- expect(pagamento.juros_mora).to eql('000000000000000')
29
- expect(pagamento.outros_recebimento).to eql('000000000000000')
30
- expect(pagamento.sequencial).to eql('00001')
31
- expect(pagamento.valor_tarifa).to eql('000000000000170')
32
- expect(pagamento.motivo_ocorrencia).to eql(['03'])
33
-
34
- # Dados que não consegui extrair dos registros T e U
35
- # pagamento.convenio.should eql('')
36
- # pagamento.tipo_cobranca.should eql('')
37
- # pagamento.tipo_cobranca_anterior.should eql('')
38
- # pagamento.natureza_recebimento.should eql('')
39
- # pagamento.carteira_variacao.should eql('7')
40
- # pagamento.iof.should eql('')
41
- # pagamento.comando.should eql('')
42
- # pagamento.data_liquidacao.should eql('')
43
- # pagamento.especie_documento.should eql('')
44
- # pagamento.valor_tarifa.should eql('')
45
- # pagamento.juros_desconto.should eql('')
46
- # pagamento.abatimento_nao_aproveitado.should eql('')
47
- # pagamento.valor_lancamento.should eql('')
48
- # pagamento.indicativo_lancamento.should eql('')
49
- # pagamento.indicador_valor.should eql('')
50
- # pagamento.valor_ajuste.should eql('')
51
- end
52
- end
@@ -1,52 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'spec_helper'
4
-
5
- RSpec.describe Brcobranca::Retorno::Cnab240::Santander do
6
- before do
7
- @arquivo = File.join(File.dirname(__FILE__), '..', '..', '..', 'arquivos', 'CNAB240SANTANDER.RET')
8
- end
9
-
10
- it 'Transforma arquivo de retorno em objetos de retorno retornando somente as linhas de pagamentos' do
11
- pagamentos = described_class.load_lines(@arquivo)
12
- expect(pagamentos.size).to eq(2)
13
- pagamento = pagamentos.first
14
- expect(pagamento.agencia_com_dv).to eql('31638')
15
- expect(pagamento.cedente_com_dv).to eql('0130028625')
16
- expect(pagamento.nosso_numero).to eql('0000000001406')
17
- expect(pagamento.carteira).to eql('2')
18
- expect(pagamento.data_vencimento).to eql('01042016')
19
- expect(pagamento.valor_titulo).to eql('000000000001000')
20
- expect(pagamento.banco_recebedor).to eql('033')
21
- expect(pagamento.agencia_recebedora_com_dv).to eql('31638')
22
- expect(pagamento.data_credito).to eql('01042016')
23
- expect(pagamento.outras_despesas).to eql('000000000000000')
24
- expect(pagamento.iof_desconto).to eql('000000000000000')
25
- expect(pagamento.valor_abatimento).to eql('000000000000000')
26
- expect(pagamento.desconto_concedito).to eql('000000000000000')
27
- expect(pagamento.valor_recebido).to eql('000000000001000')
28
- expect(pagamento.juros_mora).to eql('000000000000000')
29
- expect(pagamento.outros_recebimento).to eql('000000000000000')
30
- expect(pagamento.sequencial).to eql('00001')
31
- expect(pagamento.valor_tarifa).to eql('000000000000392')
32
- expect(pagamento.motivo_ocorrencia).to eql([])
33
-
34
- # Dados que não consegui extrair dos registros T e U
35
- # pagamento.convenio.should eql('')
36
- # pagamento.tipo_cobranca.should eql('')
37
- # pagamento.tipo_cobranca_anterior.should eql('')
38
- # pagamento.natureza_recebimento.should eql('')
39
- # pagamento.carteira_variacao.should eql('7')
40
- # pagamento.iof.should eql('')
41
- # pagamento.comando.should eql('')
42
- # pagamento.data_liquidacao.should eql('')
43
- # pagamento.especie_documento.should eql('')
44
- # pagamento.valor_tarifa.should eql('')
45
- # pagamento.juros_desconto.should eql('')
46
- # pagamento.abatimento_nao_aproveitado.should eql('')
47
- # pagamento.valor_lancamento.should eql('')
48
- # pagamento.indicativo_lancamento.should eql('')
49
- # pagamento.indicador_valor.should eql('')
50
- # pagamento.valor_ajuste.should eql('')
51
- end
52
- end
@@ -1,52 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- RSpec.describe Brcobranca::Retorno::Cnab240::Sicoob do
4
- before do
5
- @arquivo = File.join(File.dirname(__FILE__), '..', '..', '..', 'arquivos', 'CNAB240SICOOB.RET')
6
- end
7
-
8
- it 'Transforma arquivo de retorno em objetos de retorno retornando somente as linhas de pagamentos de títulos sem registro' do
9
- pagamentos = described_class.load_lines(@arquivo)
10
- expect(pagamentos.size).to eq(3)
11
- pagamento = pagamentos.first
12
- expect(pagamento.agencia_com_dv).to eql('030390')
13
- expect(pagamento.cedente_com_dv).to eql('0000000489816')
14
- expect(pagamento.nosso_numero).to eql('0000000083')
15
- expect(pagamento.carteira).to eql('1')
16
- expect(pagamento.data_vencimento).to eql('13082015')
17
- expect(pagamento.valor_titulo).to eql('000000000000200')
18
- expect(pagamento.banco_recebedor).to eql('756')
19
- expect(pagamento.agencia_recebedora_com_dv).to eql('030390')
20
- expect(pagamento.codigo_ocorrencia).to eql('06')
21
- expect(pagamento.data_ocorrencia).to eql('10082015')
22
- expect(pagamento.data_credito).to eql('10082015')
23
- expect(pagamento.outras_despesas).to eql('000000000000000')
24
- expect(pagamento.iof_desconto).to eql('000000000000000')
25
- expect(pagamento.valor_abatimento).to eql('000000000000000')
26
- expect(pagamento.desconto_concedito).to eql('000000000000000')
27
- expect(pagamento.valor_recebido).to eql('000000000000200')
28
- expect(pagamento.juros_mora).to eql('000000000000000')
29
- expect(pagamento.outros_recebimento).to eql('000000000000000')
30
- expect(pagamento.sequencial).to eql('00001')
31
- expect(pagamento.valor_tarifa).to eql('000000000000170')
32
- expect(pagamento.motivo_ocorrencia).to eql(['03'])
33
-
34
- # Dados que não consegui extrair dos registros T e U
35
- # pagamento.convenio.should eql('')
36
- # pagamento.tipo_cobranca.should eql('')
37
- # pagamento.tipo_cobranca_anterior.should eql('')
38
- # pagamento.natureza_recebimento.should eql('')
39
- # pagamento.carteira_variacao.should eql('7')
40
- # pagamento.iof.should eql('')
41
- # pagamento.comando.should eql('')
42
- # pagamento.data_liquidacao.should eql('')
43
- # pagamento.especie_documento.should eql('')
44
- # pagamento.valor_tarifa.should eql('')
45
- # pagamento.juros_desconto.should eql('')
46
- # pagamento.abatimento_nao_aproveitado.should eql('')
47
- # pagamento.valor_lancamento.should eql('')
48
- # pagamento.indicativo_lancamento.should eql('')
49
- # pagamento.indicador_valor.should eql('')
50
- # pagamento.valor_ajuste.should eql('')
51
- end
52
- end
@@ -1,33 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- RSpec.describe Brcobranca::Retorno::Cnab240::Sicredi do
4
- before do
5
- @arquivo = File.join(File.dirname(__FILE__), '..', '..', '..', 'arquivos', 'CNAB240SICREDI.CRT')
6
- end
7
-
8
- it 'Transforma arquivo de retorno em objetos de retorno retornando somente as linhas de pagamentos de títulos sem registro' do
9
- pagamentos = described_class.load_lines(@arquivo)
10
- expect(pagamentos.size).to eq(2)
11
- pagamento = pagamentos.first
12
- expect(pagamento.agencia_com_dv).to eql('00390')
13
- expect(pagamento.cedente_com_dv).to eql('0000000041468')
14
- expect(pagamento.nosso_numero).to eql('172000595')
15
- expect(pagamento.carteira).to eql('1')
16
- expect(pagamento.data_vencimento).to eql('13042017')
17
- expect(pagamento.valor_titulo).to eql('000000000000995')
18
- expect(pagamento.banco_recebedor).to eql('000')
19
- expect(pagamento.codigo_ocorrencia).to eql('02')
20
- expect(pagamento.data_ocorrencia).to eql('06042017')
21
- expect(pagamento.data_credito).to eql('')
22
- expect(pagamento.outras_despesas).to eql('000000000000000')
23
- expect(pagamento.iof_desconto).to eql('000000000000000')
24
- expect(pagamento.valor_abatimento).to eql('000000000000000')
25
- expect(pagamento.desconto_concedito).to eql('000000000000000')
26
- expect(pagamento.valor_recebido).to eql('000000000000000')
27
- expect(pagamento.juros_mora).to eql('000000000000000')
28
- expect(pagamento.outros_recebimento).to eql('000000000000000')
29
- expect(pagamento.sequencial).to eql('00001')
30
- expect(pagamento.valor_tarifa).to eql('000000000000000')
31
- expect(pagamento.motivo_ocorrencia).to eql(['A4'])
32
- end
33
- end
@@ -1,37 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'spec_helper'
4
-
5
- RSpec.describe Brcobranca::Retorno::Cnab400::BancoBrasilia do
6
- before do
7
- @arquivo = File.join(File.dirname(__FILE__), '..', '..', '..', 'arquivos', 'CNAB400BANCOBRASILIA.RET')
8
- end
9
-
10
- it 'Ignora primeira linha que é header' do
11
- pagamentos = described_class.load_lines(@arquivo)
12
- pagamento = pagamentos.first
13
- expect(pagamento.sequencial).to eql('000002')
14
- end
15
-
16
- it 'Transforma arquivo de retorno em objetos de retorno retornando somente as linhas de pagamentos de títulos sem registro' do
17
- pagamentos = described_class.load_lines(@arquivo)
18
- expect(pagamentos.size).to eq(2) # deve ignorar a primeira linha que é header
19
- pagamento = pagamentos.first
20
- expect(pagamento.cedente_com_dv).to eql('00000000279998886')
21
- expect(pagamento.nosso_numero).to eql('107851907015')
22
- expect(pagamento.valor_recebido).to eql('0000000026492')
23
- expect(pagamento.data_credito).to eql('26072012')
24
- expect(pagamento.codigo_ocorrencia).to eql('05')
25
- expect(pagamento.data_ocorrencia).to eql('26072012')
26
- expect(pagamento.data_vencimento).to eql('26072012')
27
- expect(pagamento.valor_titulo).to eql('0000000026492')
28
- expect(pagamento.banco_recebedor).to eql('070')
29
- expect(pagamento.especie_documento).to eql('00')
30
- expect(pagamento.valor_tarifa).to eql('0000000000000')
31
- expect(pagamento.iof).to eql('0000000000000')
32
- expect(pagamento.valor_abatimento).to eql('0000000000000')
33
- expect(pagamento.desconto).to eql('0000000000000')
34
- expect(pagamento.outros_recebimento).to eql('0000000000000')
35
- expect(pagamento.motivo_ocorrencia).to eql('')
36
- end
37
- end
@@ -1,40 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'spec_helper'
4
-
5
- RSpec.describe Brcobranca::Retorno::Cnab400::BancoNordeste do
6
- before do
7
- @arquivo = File.join(File.dirname(__FILE__), '..', '..', '..', 'arquivos', 'CNAB400BANCONORDESTE.RET')
8
- end
9
-
10
- it 'Ignora primeira linha que é header' do
11
- pagamentos = described_class.load_lines(@arquivo)
12
- pagamento = pagamentos.first
13
- expect(pagamento.sequencial).to eql('000002')
14
- end
15
-
16
- it 'Transforma arquivo de retorno em objetos de retorno retornando somente as linhas de pagamentos de títulos sem registro' do
17
- pagamentos = described_class.load_lines(@arquivo)
18
- expect(pagamentos.size).to eq(2) # deve ignorar a primeira linha que é header
19
- pagamento = pagamentos.first
20
-
21
- expect(pagamento.agencia_sem_dv).to eql('0217')
22
- expect(pagamento.cedente_com_dv).to eql('00056911')
23
- expect(pagamento.nosso_numero).to eql('00000116')
24
- expect(pagamento.valor_recebido).to eql('0000000017500')
25
- expect(pagamento.carteira).to eql('I')
26
- expect(pagamento.codigo_ocorrencia).to eql('06')
27
- expect(pagamento.data_ocorrencia).to eql('191114')
28
- expect(pagamento.data_vencimento).to eql('191114')
29
- expect(pagamento.valor_titulo).to eql('0000000017500')
30
- expect(pagamento.banco_recebedor).to eql('004')
31
- expect(pagamento.especie_documento).to eql('01')
32
- expect(pagamento.valor_tarifa).to eql('0000000000260')
33
- expect(pagamento.valor_abatimento).to eql('0000000000000')
34
- expect(pagamento.desconto).to eql('0000000000000')
35
- expect(pagamento.valor_recebido).to eql('0000000017500')
36
- expect(pagamento.juros_mora).to eql('0000000000000')
37
- expect(pagamento.data_credito).to eql('191114')
38
- expect(pagamento.motivo_ocorrencia).to eql('00000000000000000011100000000000000000000000000000000000000000000000000000000')
39
- end
40
- end
@@ -1,42 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'spec_helper'
4
-
5
- RSpec.describe Brcobranca::Retorno::Cnab400::Banrisul do
6
- before do
7
- @arquivo = File.join(File.dirname(__FILE__), '..', '..', '..', 'arquivos', 'CNAB400BANRISUL.RET')
8
- end
9
-
10
- it 'Ignora primeira linha que é header' do
11
- pagamentos = described_class.load_lines(@arquivo)
12
- pagamento = pagamentos.first
13
- expect(pagamento.sequencial).to eql('000002')
14
- end
15
-
16
- it 'Transforma arquivo de retorno em objetos de retorno retornando somente as linhas de pagamentos de títulos sem registro' do
17
- pagamentos = described_class.load_lines(@arquivo)
18
- expect(pagamentos.size).to eq(2) # deve ignorar a primeira linha que é header
19
- pagamento = pagamentos.first
20
- expect(pagamento.agencia_sem_dv).to eql('1102')
21
- expect(pagamento.cedente_com_dv).to eql('900015096')
22
- expect(pagamento.nosso_numero).to eql('2283256350')
23
- expect(pagamento.carteira).to eql('1')
24
- expect(pagamento.codigo_ocorrencia).to eql('06')
25
- expect(pagamento.data_ocorrencia).to eql('150515')
26
- expect(pagamento.data_vencimento).to eql('250515')
27
- expect(pagamento.valor_titulo).to eql('0000000145000')
28
- expect(pagamento.banco_recebedor).to eql('041')
29
- expect(pagamento.agencia_recebedora_com_dv).to eql('1102')
30
- expect(pagamento.especie_documento).to eql('')
31
- expect(pagamento.valor_tarifa).to eql('0000000000160')
32
- expect(pagamento.iof).to eql('0000000000000')
33
- expect(pagamento.valor_abatimento).to eql('0000000000000')
34
- expect(pagamento.desconto).to eql('0000000000000')
35
- expect(pagamento.valor_recebido).to eql('0000000145000')
36
- expect(pagamento.juros_mora).to eql('0000000000000')
37
- expect(pagamento.outros_recebimento).to eql('0000000000000')
38
- expect(pagamento.data_credito).to eql('150515')
39
- expect(pagamento.motivo_ocorrencia).to eql('')
40
- expect(pagamento.sequencial).to eql('000002')
41
- end
42
- end
@@ -1,57 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'spec_helper'
4
-
5
- RSpec.describe Brcobranca::Retorno::Cnab400::Base do
6
- let(:arquivo) { File.join(File.dirname(__FILE__), '..', '..', '..', 'arquivos', nome_arquivo) }
7
-
8
- describe '#load_lines' do
9
- it 'retorna nil se o arquivo é nil' do
10
- expect(described_class.load_lines(nil)).to be_nil
11
- end
12
-
13
- context 'Banco de Brasilia' do
14
- subject { Brcobranca::Retorno::Cnab400::BancoBrasilia }
15
-
16
- let(:nome_arquivo) { 'CNAB400BANCOBRASILIA.RET' }
17
-
18
- it 'lê o arquivo pela classe do Banco de Brasilia' do
19
- expect(subject).to receive(:load_lines).with(arquivo, {})
20
- described_class.load_lines(arquivo)
21
- end
22
- end
23
-
24
- context 'Bradesco' do
25
- subject { Brcobranca::Retorno::Cnab400::Bradesco }
26
-
27
- let(:nome_arquivo) { 'CNAB400BRADESCO.RET' }
28
-
29
- it 'lê o arquivo pela classe do Bradesco' do
30
- expect(subject).to receive(:load_lines).with(arquivo, {})
31
- described_class.load_lines(arquivo)
32
- end
33
- end
34
-
35
- context 'Itaú' do
36
- subject { Brcobranca::Retorno::Cnab400::Itau }
37
-
38
- let(:nome_arquivo) { 'CNAB400ITAU.RET' }
39
-
40
- it 'lê o arquivo pela classe do Itaú' do
41
- expect(subject).to receive(:load_lines).with(arquivo, {})
42
- described_class.load_lines(arquivo)
43
- end
44
- end
45
-
46
- context 'Santander' do
47
- subject { Brcobranca::Retorno::Cnab400::Santander }
48
-
49
- let(:nome_arquivo) { 'CNAB400SANTANDER.RET' }
50
-
51
- it 'lê o arquivo pela classe do Santander' do
52
- expect(subject).to receive(:load_lines).with(arquivo, {})
53
- described_class.load_lines(arquivo)
54
- end
55
- end
56
- end
57
- end
@@ -1,59 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'spec_helper'
4
-
5
- RSpec.describe Brcobranca::Retorno::Cnab400::Bradesco do
6
- before do
7
- @arquivo = File.join(File.dirname(__FILE__), '..', '..', '..', 'arquivos', 'CNAB400BRADESCO.RET')
8
- end
9
-
10
- it 'Ignora primeira linha que é header' do
11
- pagamentos = described_class.load_lines(@arquivo)
12
- pagamento = pagamentos.first
13
- expect(pagamento.sequencial).to eql('000002')
14
- end
15
-
16
- it 'Transforma arquivo de retorno em objetos de retorno retornando somente as linhas de pagamentos de títulos sem registro' do
17
- pagamentos = described_class.load_lines(@arquivo)
18
- expect(pagamentos.size).to eq(7) # deve ignorar a primeira linha que é header
19
- pagamento = pagamentos.first
20
- expect(pagamento.agencia_com_dv).to eql('01467-2')
21
- expect(pagamento.cedente_com_dv).to eql('0019669P')
22
- expect(pagamento.nosso_numero).to eql('000000000303')
23
- expect(pagamento.carteira).to eql('009')
24
- expect(pagamento.data_vencimento).to eql('250515')
25
- expect(pagamento.valor_titulo).to eql('0000000145000')
26
- expect(pagamento.banco_recebedor).to eql('237')
27
- expect(pagamento.agencia_recebedora_com_dv).to eql('04157')
28
- expect(pagamento.especie_documento).to eql('')
29
- expect(pagamento.valor_tarifa).to eql('0000000000160')
30
- expect(pagamento.iof).to eql('0000000000000')
31
- expect(pagamento.valor_abatimento).to eql('0000000000000')
32
- expect(pagamento.desconto).to eql('0000000000000')
33
- expect(pagamento.valor_recebido).to eql('0000000145000')
34
- expect(pagamento.juros_mora).to eql('0000000000000')
35
- expect(pagamento.outros_recebimento).to eql('0000000000000')
36
- expect(pagamento.codigo_ocorrencia).to eql('02')
37
- expect(pagamento.data_ocorrencia).to eql('150515')
38
- expect(pagamento.data_credito).to eql('150515')
39
- expect(pagamento.motivo_ocorrencia).to eql([])
40
- expect(pagamento.sequencial).to eql('000002')
41
-
42
- # Campos da classe base que não encontrei a relação com CNAB400
43
- # parse.field :tipo_cobranca,80..80
44
- # parse.field :tipo_cobranca_anterior,81..81
45
- # parse.field :natureza_recebimento,86..87
46
- # parse.field :convenio,31..37
47
- # parse.field :comando,108..109
48
- # parse.field :juros_desconto,201..213
49
- # parse.field :iof_desconto,214..226
50
- # parse.field :desconto_concedito,240..252
51
- # parse.field :outras_despesas,279..291
52
- # parse.field :abatimento_nao_aproveitado,292..304
53
- # parse.field :data_liquidacao,295..300
54
- # parse.field :valor_lancamento,305..317
55
- # parse.field :indicativo_lancamento,318..318
56
- # parse.field :indicador_valor,319..319
57
- # parse.field :valor_ajuste,320..331
58
- end
59
- end
@@ -1,26 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'spec_helper'
4
-
5
- RSpec.describe Brcobranca::Retorno::Cnab400::Credisis do
6
- before do
7
- @arquivo = File.join(File.dirname(__FILE__), '..', '..', '..', 'arquivos', 'CNAB400CREDISIS.RET')
8
- end
9
-
10
- it 'Ignora primeira linha que é header' do
11
- pagamentos = described_class.load_lines(@arquivo)
12
- pagamento = pagamentos.first
13
- expect(pagamento.sequencial).to eql('000002')
14
- end
15
-
16
- it 'Transforma arquivo de retorno em objetos de retorno retornando somente as linhas de pagamentos de títulos sem registro' do
17
- pagamentos = described_class.load_lines(@arquivo)
18
- expect(pagamentos.size).to eq(2) # deve ignorar a primeira linha que é header
19
- pagamento = pagamentos.first
20
- expect(pagamento.nosso_numero).to eql('00005005001')
21
- expect(pagamento.data_vencimento).to eql('011012')
22
- expect(pagamento.valor_titulo).to eql('0000005005001')
23
- expect(pagamento.valor_recebido).to eql('0000000044400')
24
- expect(pagamento.data_credito).to eql('150515')
25
- end
26
- end
@@ -1,60 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'spec_helper'
4
-
5
- RSpec.describe Brcobranca::Retorno::Cnab400::Itau do
6
- before do
7
- @arquivo = File.join(File.dirname(__FILE__), '..', '..', '..', 'arquivos', 'CNAB400ITAU.RET')
8
- end
9
-
10
- it 'Ignora primeira linha que é header' do
11
- pagamentos = described_class.load_lines(@arquivo)
12
- pagamento = pagamentos.first
13
- expect(pagamento.sequencial).to eql('000002')
14
- end
15
-
16
- it 'Transforma arquivo de retorno em objetos de retorno retornando somente as linhas de pagamentos de títulos sem registro' do
17
- pagamentos = described_class.load_lines(@arquivo)
18
- expect(pagamentos.size).to eq(53) # deve ignorar a primeira linha que é header
19
- pagamento = pagamentos.first
20
- expect(pagamento.agencia_com_dv).to eql('0730')
21
- expect(pagamento.cedente_com_dv).to eql('035110')
22
- expect(pagamento.nosso_numero).to eql('00000011')
23
- expect(pagamento.carteira_variacao).to eql('109')
24
- expect(pagamento.carteira).to eql('I')
25
- expect(pagamento.data_vencimento).to eql('000000')
26
- expect(pagamento.valor_titulo).to eql('0000000004000')
27
- expect(pagamento.banco_recebedor).to eql('104')
28
- expect(pagamento.agencia_recebedora_com_dv).to eql('18739')
29
- expect(pagamento.especie_documento).to eql('')
30
- expect(pagamento.valor_tarifa).to eql('0000000000210')
31
- expect(pagamento.iof).to eql('0000000000000')
32
- expect(pagamento.valor_abatimento).to eql('0000000000000')
33
- expect(pagamento.desconto).to eql('0000000000000')
34
- expect(pagamento.valor_recebido).to eql('0000000003790')
35
- expect(pagamento.juros_mora).to eql('0000000000000')
36
- expect(pagamento.outros_recebimento).to eql('0000000000000')
37
- expect(pagamento.codigo_ocorrencia).to eql('06')
38
- expect(pagamento.data_ocorrencia).to eql('200513')
39
- expect(pagamento.data_credito).to eql('210513')
40
- expect(pagamento.motivo_ocorrencia).to eql([])
41
- expect(pagamento.sequencial).to eql('000002')
42
-
43
- # Campos da classe base que não encontrei a relação com CNAB400
44
- # parse.field :tipo_cobranca,80..80
45
- # parse.field :tipo_cobranca_anterior,81..81
46
- # parse.field :natureza_recebimento,86..87
47
- # parse.field :convenio,31..37
48
- # parse.field :comando,108..109
49
- # parse.field :juros_desconto,201..213
50
- # parse.field :iof_desconto,214..226
51
- # parse.field :desconto_concedito,240..252
52
- # parse.field :outras_despesas,279..291
53
- # parse.field :abatimento_nao_aproveitado,292..304
54
- # parse.field :data_liquidacao,295..300
55
- # parse.field :valor_lancamento,305..317
56
- # parse.field :indicativo_lancamento,318..318
57
- # parse.field :indicador_valor,319..319
58
- # parse.field :valor_ajuste,320..331
59
- end
60
- end
@@ -1,40 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'spec_helper'
4
-
5
- RSpec.describe Brcobranca::Retorno::Cnab400::Santander do
6
- before do
7
- @arquivo = File.join(File.dirname(__FILE__), '..', '..', '..', 'arquivos', 'CNAB400SANTANDER.RET')
8
- end
9
-
10
- it 'Ignora primeira linha que é header' do
11
- pagamentos = described_class.load_lines(@arquivo)
12
- pagamento = pagamentos.first
13
- expect(pagamento.sequencial).to eql('000002')
14
- end
15
-
16
- it 'Transforma arquivo de retorno em objetos de retorno retornando somente as linhas de pagamentos de títulos sem registro' do
17
- pagamentos = described_class.load_lines(@arquivo)
18
- expect(pagamentos.size).to eq(53) # deve ignorar a primeira linha que é header
19
- pagamento = pagamentos.first
20
- expect(pagamento.agencia_com_dv).to eql('0730')
21
- expect(pagamento.cedente_com_dv).to eql('035110')
22
- expect(pagamento.nosso_numero).to eql('00000011')
23
- expect(pagamento.carteira).to eql('I')
24
- expect(pagamento.data_vencimento).to eql('000000')
25
- expect(pagamento.valor_titulo).to eql('0000000004000')
26
- expect(pagamento.banco_recebedor).to eql('033')
27
- expect(pagamento.agencia_recebedora_com_dv).to eql('18739')
28
- expect(pagamento.especie_documento).to eql('')
29
- expect(pagamento.valor_tarifa).to eql('0000000000210')
30
- expect(pagamento.iof).to eql('0000000000000')
31
- expect(pagamento.valor_abatimento).to eql('0000000000000')
32
- expect(pagamento.desconto).to eql('0000000000000')
33
- expect(pagamento.valor_recebido).to eql('0000000003790')
34
- expect(pagamento.juros_mora).to eql('0000000000000')
35
- expect(pagamento.outros_recebimento).to eql('0000000000000')
36
- expect(pagamento.data_credito).to eql('210513')
37
- expect(pagamento.motivo_ocorrencia).to eql([])
38
- expect(pagamento.sequencial).to eql('000002')
39
- end
40
- end
@@ -1,38 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'spec_helper'
4
-
5
- RSpec.describe Brcobranca::Retorno::Cnab400::Unicred do
6
- before do
7
- @arquivo = File.join(File.dirname(__FILE__), '..', '..', '..', 'arquivos', 'CNAB400UNICRED.RET')
8
- end
9
-
10
- # it 'Ignora primeira linha que é header' do
11
- # pagamentos = described_class.load_lines(@arquivo)
12
- # pagamento = pagamentos.first
13
- # expect(pagamento.sequencial).to eql('000002')
14
- # end
15
-
16
- # it 'Transforma arquivo de retorno em objetos de retorno retornando somente as linhas de pagamentos de títulos sem registro' do
17
- # pagamentos = described_class.load_lines(@arquivo)
18
- # expect(pagamentos.size).to eq(2) # deve ignorar a primeira linha que é header
19
- # pagamento = pagamentos.first
20
-
21
- # expect(pagamento.sequencial).to eql('000002')
22
- # expect(pagamento.agencia_sem_dv).to eql('4205')
23
- # expect(pagamento.cedente_com_dv).to eql('060001566')
24
- # expect(pagamento.nosso_numero).to eql('00000000000000116')
25
- # expect(pagamento.data_vencimento).to eql('130515')
26
- # expect(pagamento.valor_titulo).to eql('0000000044400')
27
- # expect(pagamento.banco_recebedor).to eql('090')
28
- # expect(pagamento.agencia_recebedora_com_dv).to eql('42050')
29
- # expect(pagamento.valor_tarifa).to eql('0000160')
30
- # expect(pagamento.valor_abatimento).to eql('0000000000000')
31
- # expect(pagamento.desconto).to eql('0000000000000')
32
- # expect(pagamento.juros_mora).to eql('0000000000000')
33
- # expect(pagamento.codigo_ocorrencia).to eql('06')
34
- # expect(pagamento.valor_recebido).to eql('0000000044400')
35
- # expect(pagamento.data_credito).to eql('150515')
36
- # expect(pagamento.motivo_ocorrencia).to eql([])
37
- # end
38
- end