brcobranca 8.0.0 → 9.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (167) hide show
  1. checksums.yaml +4 -4
  2. data/.ruby-gemset +1 -1
  3. data/.ruby-version +1 -1
  4. data/.travis.yml +5 -3
  5. data/CHANGELOG.md +9 -0
  6. data/Gemfile +2 -2
  7. data/README.md +24 -12
  8. data/brcobranca.gemspec +0 -2
  9. data/lib/brcobranca.rb +43 -26
  10. data/lib/brcobranca/arquivos/logos/bancobrasilia.eps +0 -0
  11. data/lib/brcobranca/arquivos/logos/bancobrasilia_carne.eps +0 -0
  12. data/lib/brcobranca/arquivos/logos/cecred.eps +427 -0
  13. data/lib/brcobranca/arquivos/logos/cecred_carne.eps +427 -0
  14. data/lib/brcobranca/arquivos/logos/credisis.eps +5402 -0
  15. data/lib/brcobranca/arquivos/logos/credisis_carne.eps +5410 -0
  16. data/lib/brcobranca/arquivos/templates/modelo_generico.eps +0 -0
  17. data/lib/brcobranca/boleto/banco_brasil.rb +21 -21
  18. data/lib/brcobranca/boleto/banco_brasilia.rb +96 -0
  19. data/lib/brcobranca/boleto/banco_nordeste.rb +4 -6
  20. data/lib/brcobranca/boleto/banestes.rb +7 -7
  21. data/lib/brcobranca/boleto/banrisul.rb +5 -5
  22. data/lib/brcobranca/boleto/base.rb +28 -22
  23. data/lib/brcobranca/boleto/bradesco.rb +6 -6
  24. data/lib/brcobranca/boleto/caixa.rb +11 -18
  25. data/lib/brcobranca/boleto/cecred.rb +86 -0
  26. data/lib/brcobranca/boleto/credisis.rb +124 -0
  27. data/lib/brcobranca/boleto/hsbc.rb +10 -27
  28. data/lib/brcobranca/boleto/itau.rb +9 -10
  29. data/lib/brcobranca/boleto/santander.rb +5 -6
  30. data/lib/brcobranca/boleto/sicoob.rb +5 -5
  31. data/lib/brcobranca/boleto/sicredi.rb +7 -7
  32. data/lib/brcobranca/boleto/template/rghost.rb +127 -80
  33. data/lib/brcobranca/boleto/template/rghost_carne.rb +9 -9
  34. data/lib/brcobranca/boleto/unicred.rb +126 -4
  35. data/lib/brcobranca/calculo_data.rb +3 -0
  36. data/lib/brcobranca/formatacao_string.rb +15 -5
  37. data/lib/brcobranca/remessa/base.rb +16 -9
  38. data/lib/brcobranca/remessa/cnab240/banco_brasil.rb +14 -13
  39. data/lib/brcobranca/remessa/cnab240/base.rb +252 -119
  40. data/lib/brcobranca/remessa/cnab240/base_correspondente.rb +299 -0
  41. data/lib/brcobranca/remessa/cnab240/caixa.rb +61 -7
  42. data/lib/brcobranca/remessa/cnab240/cecred.rb +151 -0
  43. data/lib/brcobranca/remessa/cnab240/sicoob.rb +109 -123
  44. data/lib/brcobranca/remessa/cnab240/sicoob_banco_brasil.rb +94 -0
  45. data/lib/brcobranca/remessa/cnab240/sicredi.rb +177 -0
  46. data/lib/brcobranca/remessa/cnab240/unicred.rb +9 -0
  47. data/lib/brcobranca/remessa/cnab400/banco_brasil.rb +14 -0
  48. data/lib/brcobranca/remessa/cnab400/banco_brasilia.rb +166 -0
  49. data/lib/brcobranca/remessa/cnab400/banco_nordeste.rb +4 -6
  50. data/lib/brcobranca/remessa/cnab400/banrisul.rb +155 -0
  51. data/lib/brcobranca/remessa/cnab400/base.rb +4 -4
  52. data/lib/brcobranca/remessa/cnab400/bradesco.rb +7 -8
  53. data/lib/brcobranca/remessa/cnab400/citibank.rb +3 -4
  54. data/lib/brcobranca/remessa/cnab400/credisis.rb +128 -0
  55. data/lib/brcobranca/remessa/cnab400/itau.rb +23 -6
  56. data/lib/brcobranca/remessa/cnab400/santander.rb +80 -65
  57. data/lib/brcobranca/remessa/cnab400/sicoob.rb +2 -2
  58. data/lib/brcobranca/remessa/cnab400/unicred.rb +143 -0
  59. data/lib/brcobranca/remessa/pagamento.rb +50 -14
  60. data/lib/brcobranca/retorno/base.rb +4 -4
  61. data/lib/brcobranca/retorno/cnab240/base.rb +11 -8
  62. data/lib/brcobranca/retorno/cnab240/caixa.rb +4 -0
  63. data/lib/brcobranca/retorno/cnab240/cecred.rb +102 -0
  64. data/lib/brcobranca/retorno/cnab240/santander.rb +35 -12
  65. data/lib/brcobranca/retorno/cnab240/sicoob.rb +8 -4
  66. data/lib/brcobranca/retorno/cnab240/sicredi.rb +79 -0
  67. data/lib/brcobranca/retorno/cnab400/banco_brasil.rb +127 -0
  68. data/lib/brcobranca/retorno/cnab400/banco_brasilia.rb +89 -0
  69. data/lib/brcobranca/retorno/cnab400/banco_nordeste.rb +112 -0
  70. data/lib/brcobranca/retorno/cnab400/banrisul.rb +42 -0
  71. data/lib/brcobranca/retorno/cnab400/base.rb +18 -7
  72. data/lib/brcobranca/retorno/cnab400/bradesco.rb +9 -3
  73. data/lib/brcobranca/retorno/cnab400/credisis.rb +115 -0
  74. data/lib/brcobranca/retorno/cnab400/itau.rb +10 -4
  75. data/lib/brcobranca/retorno/cnab400/santander.rb +57 -0
  76. data/lib/brcobranca/retorno/cnab400/unicred.rb +118 -0
  77. data/lib/brcobranca/retorno/retorno_cnab240.rb +7 -3
  78. data/lib/brcobranca/retorno/retorno_cnab400.rb +6 -77
  79. data/lib/brcobranca/util/date.rb +20 -0
  80. data/lib/brcobranca/util/errors.rb +76 -0
  81. data/lib/brcobranca/validations.rb +232 -0
  82. data/lib/brcobranca/version.rb +1 -1
  83. data/spec/arquivos/CNAB240CECRED.RET +10 -0
  84. data/spec/arquivos/CNAB240SANTANDER.RET +8 -26
  85. data/spec/arquivos/CNAB240SICREDI.CRT +8 -0
  86. data/spec/arquivos/CNAB400BANCOBRASILIA.RET +3 -0
  87. data/spec/arquivos/CNAB400BANCONORDESTE.RET +3 -0
  88. data/spec/arquivos/CNAB400BANRISUL.RET +3 -0
  89. data/spec/arquivos/CNAB400CREDISIS.RET +3 -0
  90. data/spec/arquivos/CNAB400SANTANDER.RET +54 -0
  91. data/spec/arquivos/CNAB400UNICRED.RET +3 -0
  92. data/spec/brcobranca/base_spec.rb +6 -4
  93. data/spec/brcobranca/boleto/banco_brasil_spec.rb +22 -22
  94. data/spec/brcobranca/boleto/banco_brasilia_spec.rb +134 -0
  95. data/spec/brcobranca/boleto/banco_nordeste_spec.rb +19 -19
  96. data/spec/brcobranca/boleto/banestes_spec.rb +19 -19
  97. data/spec/brcobranca/boleto/banrisul_spec.rb +14 -14
  98. data/spec/brcobranca/boleto/bradesco_spec.rb +13 -13
  99. data/spec/brcobranca/boleto/caixa_spec.rb +7 -7
  100. data/spec/brcobranca/boleto/cecred_spec.rb +147 -0
  101. data/spec/brcobranca/boleto/credisis_spec.rb +155 -0
  102. data/spec/brcobranca/boleto/hsbc_spec.rb +17 -37
  103. data/spec/brcobranca/boleto/itau_spec.rb +16 -16
  104. data/spec/brcobranca/boleto/santander_spec.rb +11 -11
  105. data/spec/brcobranca/boleto/sicoob_spec.rb +17 -17
  106. data/spec/brcobranca/boleto/sicredi_spec.rb +13 -13
  107. data/spec/brcobranca/boleto/unicred_spec.rb +10 -10
  108. data/spec/brcobranca/boletos_em_lote_spec.rb +1 -1
  109. data/spec/brcobranca/formatacao_string_spec.rb +1 -1
  110. data/spec/brcobranca/remessa/cnab240/banco_brasil_spec.rb +10 -18
  111. data/spec/brcobranca/remessa/cnab240/caixa_spec.rb +39 -38
  112. data/spec/brcobranca/remessa/cnab240/cecred_spec.rb +164 -0
  113. data/spec/brcobranca/remessa/cnab240/sicoob_banco_brasil_spec.rb +268 -0
  114. data/spec/brcobranca/remessa/cnab240/sicoob_spec.rb +58 -39
  115. data/spec/brcobranca/remessa/cnab240/sicredi_spec.rb +201 -0
  116. data/spec/brcobranca/remessa/cnab240/unicred_spec.rb +193 -0
  117. data/spec/brcobranca/remessa/cnab400/banco_brasilia_spec.rb +183 -0
  118. data/spec/brcobranca/remessa/cnab400/banco_nordeste_spec.rb +4 -2
  119. data/spec/brcobranca/remessa/cnab400/banrisul_spec.rb +190 -0
  120. data/spec/brcobranca/remessa/cnab400/base_spec.rb +1 -1
  121. data/spec/brcobranca/remessa/cnab400/bradesco_spec.rb +16 -11
  122. data/spec/brcobranca/remessa/cnab400/citibank_spec.rb +11 -11
  123. data/spec/brcobranca/remessa/cnab400/credisis_spec.rb +188 -0
  124. data/spec/brcobranca/remessa/cnab400/itau_spec.rb +25 -12
  125. data/spec/brcobranca/remessa/cnab400/santander_spec.rb +35 -36
  126. data/spec/brcobranca/remessa/cnab400/sicoob_spec.rb +37 -0
  127. data/spec/brcobranca/remessa/cnab400/unicred_spec.rb +185 -0
  128. data/spec/brcobranca/remessa/pagamento_spec.rb +45 -27
  129. data/spec/brcobranca/retorno/cnab240/base_spec.rb +7 -8
  130. data/spec/brcobranca/retorno/cnab240/cecred_spec.rb +50 -0
  131. data/spec/brcobranca/retorno/cnab240/santander_spec.rb +35 -18
  132. data/spec/brcobranca/retorno/cnab240/sicoob_spec.rb +20 -19
  133. data/spec/brcobranca/retorno/cnab240/sicredi_spec.rb +31 -0
  134. data/spec/brcobranca/retorno/cnab400/banco_brasilia_spec.rb +36 -0
  135. data/spec/brcobranca/retorno/cnab400/banco_nordeste_spec.rb +39 -0
  136. data/spec/brcobranca/retorno/cnab400/banrisul_spec.rb +41 -0
  137. data/spec/brcobranca/retorno/cnab400/base_spec.rb +34 -13
  138. data/spec/brcobranca/retorno/cnab400/bradesco_spec.rb +4 -4
  139. data/spec/brcobranca/retorno/cnab400/credisis_spec.rb +25 -0
  140. data/spec/brcobranca/retorno/cnab400/itau_spec.rb +4 -4
  141. data/spec/brcobranca/retorno/cnab400/santander_spec.rb +39 -0
  142. data/spec/brcobranca/retorno/cnab400/unicred_spec.rb +42 -0
  143. data/spec/brcobranca/retorno/retorno_cnab400_spec.rb +1 -1
  144. data/spec/brcobranca/retorno/retorno_cnab_240_spec.rb +1 -1
  145. data/spec/brcobranca/rghost_spec.rb +1 -1
  146. data/spec/fixtures/remessa/remessa-banco-brasil-cnab400.rem +1 -1
  147. data/spec/fixtures/remessa/remessa-banco-brasilia-cnab400.rem +3 -0
  148. data/spec/fixtures/remessa/remessa-banco-nordeste-cnab400.rem +1 -1
  149. data/spec/fixtures/remessa/remessa-banco_brasil-cnab240.rem +5 -4
  150. data/spec/fixtures/remessa/remessa-bancoob-cnab240.rem +5 -4
  151. data/spec/fixtures/remessa/remessa-banrisul-cnab400.rem +3 -0
  152. data/spec/fixtures/remessa/remessa-bradesco-cnab400.rem +1 -1
  153. data/spec/fixtures/remessa/remessa-caixa-cnab240.rem +6 -5
  154. data/spec/fixtures/remessa/remessa-cecred-cnab240.rem +7 -0
  155. data/spec/fixtures/remessa/remessa-citibank-cnab400.rem +1 -1
  156. data/spec/fixtures/remessa/remessa-credisis-cnab400.rem +3 -0
  157. data/spec/fixtures/remessa/remessa-itau-cnab400.rem +3 -2
  158. data/spec/fixtures/remessa/remessa-santander-cnab400.rem +2 -2
  159. data/spec/fixtures/remessa/remessa-sicoob-correspondente-bb-cnab240.rem +4 -0
  160. data/spec/fixtures/remessa/remessa-sicredi-cnab240.rem +7 -0
  161. data/spec/fixtures/remessa/remessa-unicred-cnab240.rem +7 -0
  162. data/spec/fixtures/remessa/remessa-unicred-cnab400.rem +3 -0
  163. data/spec/support/shared_examples/busca_logotipo.rb +0 -2
  164. data/spec/support/shared_examples/cnab240.rb +92 -28
  165. data/spec/support/shared_examples/cnab400.rb +60 -14
  166. data/spec/support/shared_examples/formatos_validos.rb +6 -6
  167. metadata +103 -31
@@ -13,7 +13,7 @@ RSpec.describe Brcobranca::Boleto::Santander do
13
13
  sacado_documento: '12345678900',
14
14
  agencia: '0059',
15
15
  convenio: 1_899_775,
16
- numero_documento: '9000026',
16
+ nosso_numero: '9000026',
17
17
  conta_corrente: '013000123'
18
18
  }
19
19
  end
@@ -24,7 +24,7 @@ RSpec.describe Brcobranca::Boleto::Santander do
24
24
  expect(boleto_novo.especie_documento).to eql('DM')
25
25
  expect(boleto_novo.especie).to eql('R$')
26
26
  expect(boleto_novo.moeda).to eql('9')
27
- expect(boleto_novo.data_documento).to eql(Date.current)
27
+ expect(boleto_novo.data_processamento).to eql(Date.current)
28
28
  expect(boleto_novo.data_vencimento).to eql(Date.current)
29
29
  expect(boleto_novo.aceite).to eql('S')
30
30
  expect(boleto_novo.quantidade).to be(1)
@@ -40,7 +40,7 @@ RSpec.describe Brcobranca::Boleto::Santander do
40
40
  expect(boleto_novo.especie_documento).to eql('DM')
41
41
  expect(boleto_novo.especie).to eql('R$')
42
42
  expect(boleto_novo.moeda).to eql('9')
43
- expect(boleto_novo.data_documento).to eql(Date.current)
43
+ expect(boleto_novo.data_processamento).to eql(Date.current)
44
44
  expect(boleto_novo.data_vencimento).to eql(Date.current)
45
45
  expect(boleto_novo.aceite).to eql('S')
46
46
  expect(boleto_novo.quantidade).to be(1)
@@ -53,7 +53,7 @@ RSpec.describe Brcobranca::Boleto::Santander do
53
53
  expect(boleto_novo.sacado_documento).to eql('12345678900')
54
54
  expect(boleto_novo.agencia).to eql('0059')
55
55
  expect(boleto_novo.convenio).to eql('1899775')
56
- expect(boleto_novo.numero_documento).to eql('9000026')
56
+ expect(boleto_novo.nosso_numero).to eql('9000026')
57
57
  expect(boleto_novo.carteira).to eql('102')
58
58
  end
59
59
 
@@ -66,7 +66,7 @@ RSpec.describe Brcobranca::Boleto::Santander do
66
66
  expect(boleto_novo.codigo_barras.linha_digitavel).to eql('03399.18997 77500.000904 00026.901025 9 51150000002500')
67
67
 
68
68
  @valid_attributes[:valor] = 54.00
69
- @valid_attributes[:numero_documento] = '9000272'
69
+ @valid_attributes[:nosso_numero] = '9000272'
70
70
  @valid_attributes[:data_vencimento] = Date.parse('2012/09/08')
71
71
  boleto_novo = described_class.new(@valid_attributes)
72
72
  expect(boleto_novo.codigo_barras_segunda_parte.size).to eq(25)
@@ -78,29 +78,29 @@ RSpec.describe Brcobranca::Boleto::Santander do
78
78
  it 'Não permitir gerar boleto com atributos inválido' do
79
79
  boleto_novo = described_class.new
80
80
  expect { boleto_novo.codigo_barras }.to raise_error(Brcobranca::BoletoInvalido)
81
- expect(boleto_novo.errors.count).to be(5)
81
+ expect(boleto_novo.errors.count).to be(6)
82
82
  end
83
83
 
84
84
  it 'Montar nosso_numero_dv' do
85
- @valid_attributes[:numero_documento] = '566612457800'
85
+ @valid_attributes[:nosso_numero] = '566612457800'
86
86
  boleto_novo = described_class.new(@valid_attributes)
87
87
  expect(boleto_novo.nosso_numero_dv).to be(2)
88
88
 
89
- @valid_attributes[:numero_documento] = '90002720'
89
+ @valid_attributes[:nosso_numero] = '90002720'
90
90
  boleto_novo = described_class.new(@valid_attributes)
91
91
  expect(boleto_novo.nosso_numero_dv).to be(7)
92
92
 
93
- @valid_attributes[:numero_documento] = '1961005'
93
+ @valid_attributes[:nosso_numero] = '1961005'
94
94
  boleto_novo = described_class.new(@valid_attributes)
95
95
  expect(boleto_novo.nosso_numero_dv).to be(0)
96
96
  end
97
97
 
98
98
  it 'Montar nosso_numero_boleto' do
99
- @valid_attributes[:numero_documento] = '566612457800'
99
+ @valid_attributes[:nosso_numero] = '566612457800'
100
100
  boleto_novo = described_class.new(@valid_attributes)
101
101
  expect(boleto_novo.nosso_numero_boleto).to eql('566612457800-2')
102
102
 
103
- @valid_attributes[:numero_documento] = '90002720'
103
+ @valid_attributes[:nosso_numero] = '90002720'
104
104
  boleto_novo = described_class.new(@valid_attributes)
105
105
  expect(boleto_novo.nosso_numero_boleto).to eql('90002720-7')
106
106
  end
@@ -17,7 +17,7 @@ RSpec.describe Brcobranca::Boleto::Sicoob do #:nodoc:[all]
17
17
  agencia: '4327',
18
18
  conta_corrente: '417270',
19
19
  convenio: '229385',
20
- numero_documento: '2'
20
+ nosso_numero: '2'
21
21
  }
22
22
  end
23
23
 
@@ -28,7 +28,7 @@ RSpec.describe Brcobranca::Boleto::Sicoob do #:nodoc:[all]
28
28
  expect(boleto_novo.especie_documento).to eql('DM')
29
29
  expect(boleto_novo.especie).to eql('R$')
30
30
  expect(boleto_novo.moeda).to eql('9')
31
- expect(boleto_novo.data_documento).to eql(Date.current)
31
+ expect(boleto_novo.data_processamento).to eql(Date.current)
32
32
  expect(boleto_novo.data_vencimento).to eql(Date.current)
33
33
  expect(boleto_novo.aceite).to eql('S')
34
34
  expect(boleto_novo.quantidade).to eql('001')
@@ -59,7 +59,7 @@ RSpec.describe Brcobranca::Boleto::Sicoob do #:nodoc:[all]
59
59
  expect(boleto_novo.conta_corrente).to eql('0417270')
60
60
  expect(boleto_novo.agencia).to eql('4327')
61
61
  expect(boleto_novo.convenio).to eql('0229385')
62
- expect(boleto_novo.numero_documento).to eql('0000002')
62
+ expect(boleto_novo.nosso_numero).to eql('0000002')
63
63
  expect(boleto_novo.carteira).to eql('1')
64
64
  expect(boleto_novo.codigo_servico).to be_falsey
65
65
  end
@@ -77,55 +77,55 @@ RSpec.describe Brcobranca::Boleto::Sicoob do #:nodoc:[all]
77
77
  end
78
78
 
79
79
  it 'Montar nosso numero dv' do
80
- valid_attributes[:numero_documento] = '1'
80
+ valid_attributes[:nosso_numero] = '1'
81
81
  boleto_novo = described_class.new(valid_attributes)
82
82
  expect(boleto_novo.nosso_numero_dv).to be(7)
83
83
 
84
- valid_attributes[:numero_documento] = '2'
84
+ valid_attributes[:nosso_numero] = '2'
85
85
  boleto_novo = described_class.new(valid_attributes)
86
86
  expect(boleto_novo.nosso_numero_dv).to be(4)
87
87
 
88
- valid_attributes[:numero_documento] = '3'
88
+ valid_attributes[:nosso_numero] = '3'
89
89
  boleto_novo = described_class.new(valid_attributes)
90
90
  expect(boleto_novo.nosso_numero_dv).to be(1)
91
91
 
92
- valid_attributes[:numero_documento] = '4'
92
+ valid_attributes[:nosso_numero] = '4'
93
93
  boleto_novo = described_class.new(valid_attributes)
94
94
  expect(boleto_novo.nosso_numero_dv).to be(9)
95
95
 
96
- valid_attributes[:numero_documento] = '5'
96
+ valid_attributes[:nosso_numero] = '5'
97
97
  boleto_novo = described_class.new(valid_attributes)
98
98
  expect(boleto_novo.nosso_numero_dv).to be(6)
99
99
 
100
- valid_attributes[:numero_documento] = '6'
100
+ valid_attributes[:nosso_numero] = '6'
101
101
  boleto_novo = described_class.new(valid_attributes)
102
102
  expect(boleto_novo.nosso_numero_dv).to be(3)
103
103
 
104
- valid_attributes[:numero_documento] = '7'
104
+ valid_attributes[:nosso_numero] = '7'
105
105
  boleto_novo = described_class.new(valid_attributes)
106
106
  expect(boleto_novo.nosso_numero_dv).to be(0)
107
107
 
108
- valid_attributes[:numero_documento] = '8'
108
+ valid_attributes[:nosso_numero] = '8'
109
109
  boleto_novo = described_class.new(valid_attributes)
110
110
  expect(boleto_novo.nosso_numero_dv).to be(8)
111
111
 
112
- valid_attributes[:numero_documento] = '9'
112
+ valid_attributes[:nosso_numero] = '9'
113
113
  boleto_novo = described_class.new(valid_attributes)
114
114
  expect(boleto_novo.nosso_numero_dv).to be(5)
115
115
 
116
- valid_attributes[:numero_documento] = '10'
116
+ valid_attributes[:nosso_numero] = '10'
117
117
  boleto_novo = described_class.new(valid_attributes)
118
118
  expect(boleto_novo.nosso_numero_dv).to be(3)
119
119
 
120
- valid_attributes[:numero_documento] = '11'
120
+ valid_attributes[:nosso_numero] = '11'
121
121
  boleto_novo = described_class.new(valid_attributes)
122
122
  expect(boleto_novo.nosso_numero_dv).to be(0)
123
123
 
124
- valid_attributes[:numero_documento] = '12'
124
+ valid_attributes[:nosso_numero] = '12'
125
125
  boleto_novo = described_class.new(valid_attributes)
126
126
  expect(boleto_novo.nosso_numero_dv).to be(8)
127
127
 
128
- valid_attributes[:numero_documento] = '13'
128
+ valid_attributes[:nosso_numero] = '13'
129
129
  boleto_novo = described_class.new(valid_attributes)
130
130
  expect(boleto_novo.nosso_numero_dv).to be(5)
131
131
  end
@@ -145,7 +145,7 @@ RSpec.describe Brcobranca::Boleto::Sicoob do #:nodoc:[all]
145
145
  valid_attributes[:agencia] = '4134'
146
146
  valid_attributes[:conta_corrente] = '10333'
147
147
  valid_attributes[:convenio] = '148180'
148
- valid_attributes[:numero_documento] = '110'
148
+ valid_attributes[:nosso_numero] = '110'
149
149
  valid_attributes[:variacao] = '05'
150
150
 
151
151
  boleto_novo = described_class.new(valid_attributes)
@@ -6,7 +6,7 @@ require 'spec_helper'
6
6
  RSpec.describe Brcobranca::Boleto::Sicredi do
7
7
  let(:valid_attributes) do
8
8
  {
9
- data_documento: Date.parse('2016-08-22'),
9
+ data_processamento: Date.parse('2016-08-22'),
10
10
  data_vencimento: Date.parse('2016-08-22'),
11
11
  valor: 195.57,
12
12
  cedente: 'Kivanio Barbosa',
@@ -16,7 +16,7 @@ RSpec.describe Brcobranca::Boleto::Sicredi do
16
16
  agencia: '0710',
17
17
  conta_corrente: '61900',
18
18
  convenio: '129',
19
- numero_documento: '8879',
19
+ nosso_numero: '8879',
20
20
  posto: '65',
21
21
  byte_idt: '2',
22
22
  carteira: '1'
@@ -29,7 +29,7 @@ RSpec.describe Brcobranca::Boleto::Sicredi do
29
29
  expect(boleto_novo.especie_documento).to eql('A')
30
30
  expect(boleto_novo.especie).to eql('R$')
31
31
  expect(boleto_novo.moeda).to eql('9')
32
- expect(boleto_novo.data_documento).to eql(Date.current)
32
+ expect(boleto_novo.data_processamento).to eql(Date.current)
33
33
  expect(boleto_novo.data_vencimento).to eql(Date.current)
34
34
  expect(boleto_novo.aceite).to eql('S')
35
35
  expect(boleto_novo.quantidade).to be(1)
@@ -45,7 +45,7 @@ RSpec.describe Brcobranca::Boleto::Sicredi do
45
45
  expect(boleto_novo.especie_documento).to eql('A')
46
46
  expect(boleto_novo.especie).to eql('R$')
47
47
  expect(boleto_novo.moeda).to eql('9')
48
- expect(boleto_novo.data_documento).to eql(Date.parse('2016-08-22'))
48
+ expect(boleto_novo.data_processamento).to eql(Date.parse('2016-08-22'))
49
49
  expect(boleto_novo.data_vencimento).to eql(Date.parse('2016-08-22'))
50
50
  expect(boleto_novo.aceite).to eql('S')
51
51
  expect(boleto_novo.quantidade).to be(1)
@@ -59,7 +59,7 @@ RSpec.describe Brcobranca::Boleto::Sicredi do
59
59
  expect(boleto_novo.conta_corrente).to eql('61900')
60
60
  expect(boleto_novo.agencia).to eql('0710')
61
61
  expect(boleto_novo.convenio).to eql('00129')
62
- expect(boleto_novo.numero_documento).to eql('08879')
62
+ expect(boleto_novo.nosso_numero).to eql('08879')
63
63
  expect(boleto_novo.carteira).to eql('1')
64
64
  end
65
65
 
@@ -80,7 +80,7 @@ RSpec.describe Brcobranca::Boleto::Sicredi do
80
80
  it 'case 2' do
81
81
  valid_attributes[:valor] = 700.00
82
82
  valid_attributes[:data_vencimento] = Date.parse('2016-07-25')
83
- valid_attributes[:numero_documento] = '08902'
83
+ valid_attributes[:nosso_numero] = '08902'
84
84
  boleto_novo = described_class.new(valid_attributes)
85
85
  expect(boleto_novo.codigo_barras.linha_digitavel).to eql('74891.11620 08902.107104 65001.291007 3 68660000070000')
86
86
  expect(boleto_novo.codigo_barras_segunda_parte).to eql('1116208902107106500129100')
@@ -88,7 +88,7 @@ RSpec.describe Brcobranca::Boleto::Sicredi do
88
88
  it 'case 3' do
89
89
  valid_attributes[:valor] = 700.00
90
90
  valid_attributes[:data_vencimento] = Date.parse('2016-07-25')
91
- valid_attributes[:numero_documento] = '8896'
91
+ valid_attributes[:nosso_numero] = '8896'
92
92
  boleto_novo = described_class.new(valid_attributes)
93
93
  expect(boleto_novo.codigo_barras.linha_digitavel).to eql('74891.11620 08896.307108 65001.291072 1 68660000070000')
94
94
  expect(boleto_novo.codigo_barras_segunda_parte).to eql('1116208896307106500129107')
@@ -96,7 +96,7 @@ RSpec.describe Brcobranca::Boleto::Sicredi do
96
96
  it 'case 4' do
97
97
  valid_attributes[:valor] = 700.00
98
98
  valid_attributes[:data_vencimento] = Date.parse('2016-07-25')
99
- valid_attributes[:numero_documento] = '8899'
99
+ valid_attributes[:nosso_numero] = '8899'
100
100
  boleto_novo = described_class.new(valid_attributes)
101
101
  expect(boleto_novo.codigo_barras.linha_digitavel).to eql('74891.11620 08899.807104 65001.291031 6 68660000070000')
102
102
  expect(boleto_novo.codigo_barras_segunda_parte).to eql('1116208899807106500129103')
@@ -104,7 +104,7 @@ RSpec.describe Brcobranca::Boleto::Sicredi do
104
104
  it 'case 5' do
105
105
  valid_attributes[:valor] = 195.58
106
106
  valid_attributes[:data_vencimento] = Date.parse('2016-07-25')
107
- valid_attributes[:numero_documento] = '8878'
107
+ valid_attributes[:nosso_numero] = '8878'
108
108
  boleto_novo = described_class.new(valid_attributes)
109
109
  expect(boleto_novo.codigo_barras.linha_digitavel).to eql('74891.11620 08878.507105 65001.291064 1 68660000019558')
110
110
  expect(boleto_novo.codigo_barras_segunda_parte).to eql('1116208878507106500129106')
@@ -112,7 +112,7 @@ RSpec.describe Brcobranca::Boleto::Sicredi do
112
112
  it 'case 6' do
113
113
  valid_attributes[:valor] = 222.00
114
114
  valid_attributes[:data_vencimento] = Date.parse('2016-08-26')
115
- valid_attributes[:numero_documento] = '9048'
115
+ valid_attributes[:nosso_numero] = '9048'
116
116
  boleto_novo = described_class.new(valid_attributes)
117
117
  expect(boleto_novo.codigo_barras.linha_digitavel).to eql('74891.11620 09048.807102 65001.291031 8 68980000022200')
118
118
  expect(boleto_novo.codigo_barras_segunda_parte).to eql('1116209048807106500129103')
@@ -132,11 +132,11 @@ RSpec.describe Brcobranca::Boleto::Sicredi do
132
132
 
133
133
  valid_attributes[:posto] = '02'
134
134
  valid_attributes[:byte_idt] = '2'
135
- valid_attributes[:numero_documento] = '00003'
135
+ valid_attributes[:nosso_numero] = '00003'
136
136
  valid_attributes[:agencia] = '0165'
137
137
  valid_attributes[:convenio] = '00623'
138
138
  valid_attributes[:data_vencimento] = Date.parse('2007-08-26')
139
- valid_attributes[:data_documento] = Date.parse('2007-08-26')
139
+ valid_attributes[:data_processamento] = Date.parse('2007-08-26')
140
140
 
141
141
  boleto_novo = described_class.new(valid_attributes)
142
142
  expect(boleto_novo.nosso_numero_dv).to be(1)
@@ -171,7 +171,7 @@ RSpec.describe Brcobranca::Boleto::Sicredi do
171
171
  valid_attributes[:valor] = 2952.95
172
172
  valid_attributes[:data_documento] = Date.parse('2009-04-30')
173
173
  valid_attributes[:data_vencimento] = Date.parse('2008-02-01')
174
- valid_attributes[:numero_documento] = '86452'
174
+ valid_attributes[:nosso_numero] = '86452'
175
175
  valid_attributes[:conta_corrente] = '03005'
176
176
  valid_attributes[:agencia] = '1172'
177
177
  boleto_novo = described_class.new(valid_attributes)
@@ -7,7 +7,7 @@ RSpec.describe Brcobranca::Boleto::Unicred do
7
7
  before do
8
8
  @valid_attributes = {
9
9
  especie_documento: 'DM',
10
- data_documento: Date.parse('2012-01-18'),
10
+ data_processamento: Date.parse('2012-01-18'),
11
11
  valor: 0.0,
12
12
  cedente: 'Kivanio Barbosa',
13
13
  documento_cedente: '12345678912',
@@ -16,7 +16,7 @@ RSpec.describe Brcobranca::Boleto::Unicred do
16
16
  agencia: '4042',
17
17
  conta_corrente: '61900',
18
18
  convenio: 12_345,
19
- numero_documento: '00168',
19
+ nosso_numero: '00168',
20
20
  posto: '1',
21
21
  byte_idt: '7'
22
22
  }
@@ -28,8 +28,8 @@ RSpec.describe Brcobranca::Boleto::Unicred do
28
28
  expect(boleto_novo.especie_documento).to eql('DM')
29
29
  expect(boleto_novo.especie).to eql('R$')
30
30
  expect(boleto_novo.moeda).to eql('9')
31
- expect(boleto_novo.data_documento).to eql(Date.today)
32
- expect(boleto_novo.data_vencimento).to eql(Date.today)
31
+ expect(boleto_novo.data_processamento).to eql(Date.current)
32
+ expect(boleto_novo.data_vencimento).to eql(Date.current)
33
33
  expect(boleto_novo.aceite).to eql('S')
34
34
  expect(boleto_novo.quantidade).to be(1)
35
35
  expect(boleto_novo.valor).to be(0.0)
@@ -44,8 +44,8 @@ RSpec.describe Brcobranca::Boleto::Unicred do
44
44
  expect(boleto_novo.especie_documento).to eql('DM')
45
45
  expect(boleto_novo.especie).to eql('R$')
46
46
  expect(boleto_novo.moeda).to eql('9')
47
- expect(boleto_novo.data_documento).to eql(Date.parse('2012-01-18'))
48
- expect(boleto_novo.data_vencimento).to eql(Date.today)
47
+ expect(boleto_novo.data_processamento).to eql(Date.parse('2012-01-18'))
48
+ expect(boleto_novo.data_vencimento).to eql(Date.current)
49
49
  expect(boleto_novo.aceite).to eql('S')
50
50
  expect(boleto_novo.quantidade).to be(1)
51
51
  expect(boleto_novo.valor).to be(0.0)
@@ -58,7 +58,7 @@ RSpec.describe Brcobranca::Boleto::Unicred do
58
58
  expect(boleto_novo.conta_corrente).to eql('61900')
59
59
  expect(boleto_novo.agencia).to eql('4042')
60
60
  expect(boleto_novo.convenio).to eql('12345')
61
- expect(boleto_novo.numero_documento).to eql('00168')
61
+ expect(boleto_novo.nosso_numero).to eql('00168')
62
62
  expect(boleto_novo.carteira).to eql('3')
63
63
  end
64
64
 
@@ -66,7 +66,7 @@ RSpec.describe Brcobranca::Boleto::Unicred do
66
66
  @valid_attributes[:valor] = 2952.95
67
67
  @valid_attributes[:data_vencimento] = Date.parse('2012-01-24')
68
68
  @valid_attributes[:data_documento] = Date.parse('2012-01-19')
69
- @valid_attributes[:numero_documento] = '13871'
69
+ @valid_attributes[:nosso_numero] = '13871'
70
70
  @valid_attributes[:conta_corrente] = '12345'
71
71
  @valid_attributes[:agencia] = '1234'
72
72
  @valid_attributes[:carteira] = '3'
@@ -92,7 +92,7 @@ RSpec.describe Brcobranca::Boleto::Unicred do
92
92
  boleto_novo.agencia = '1234'
93
93
  boleto_novo.posto = '18'
94
94
  boleto_novo.conta_corrente = '12345'
95
- boleto_novo.numero_documento = '13871'
95
+ boleto_novo.nosso_numero = '13871'
96
96
  boleto_novo.carteira = '3'
97
97
  expect(boleto_novo.nosso_numero_boleto).to eql('12/213871-5')
98
98
  expect(boleto_novo.nosso_numero_dv).to be(5)
@@ -130,7 +130,7 @@ RSpec.describe Brcobranca::Boleto::Unicred do
130
130
  @valid_attributes[:valor] = 2952.95
131
131
  @valid_attributes[:data_documento] = Date.parse('2009-04-30')
132
132
  @valid_attributes[:data_vencimento] = Date.parse('2008-02-01')
133
- @valid_attributes[:numero_documento] = '86452'
133
+ @valid_attributes[:nosso_numero] = '86452'
134
134
  @valid_attributes[:conta_corrente] = '03005'
135
135
  @valid_attributes[:agencia] = '1172'
136
136
  boleto_novo = described_class.new(@valid_attributes)
@@ -13,7 +13,7 @@ RSpec.describe 'Muúltiplos boletos' do #:nodoc:[all]
13
13
  agencia: '4042',
14
14
  conta_corrente: '61900',
15
15
  convenio: 12_387_989,
16
- numero_documento: '777700168'
16
+ nosso_numero: '777700168'
17
17
  }
18
18
  end
19
19
 
@@ -13,7 +13,7 @@ RSpec.describe Brcobranca::FormatacaoString do
13
13
  end
14
14
 
15
15
  context 'above size' do
16
- it { expect('SOCIEDADE BRASILEIRA DE ZOOLOGIA LTDA'.format_size(30)).to eql('SOCIEDADE BRASILEIRA DE ZOOLOG') }
16
+ it { expect("SOÇIEDADE, BRASI@?!+-_LEIR'\"A DE ZÔÔLOGIA LTDA.".format_size(30)).to eql('SOCIEDADE BRASILEIRA DE ZOOLOG') }
17
17
  it { expect('pablo diego JOSÉ FRANCISCO DE PAULA JUAN'.format_size(30)).to eql('pablo diego JOSE FRANCISCO DE ') }
18
18
  end
19
19
 
@@ -1,20 +1,19 @@
1
1
  # -*- encoding: utf-8 -*-
2
- #
3
-
4
2
  require 'spec_helper'
5
3
 
6
4
  RSpec.describe Brcobranca::Remessa::Cnab240::BancoBrasil do
7
5
  let(:pagamento) do
8
6
  Brcobranca::Remessa::Pagamento.new(valor: 199.9,
9
- data_vencimento: Date.current,
10
- nosso_numero: 123,
11
- documento_sacado: '12345678901',
12
- nome_sacado: 'PABLO DIEGO JOSÉ FRANCISCO DE PAULA JUAN NEPOMUCENO MARÍA DE LOS REMEDIOS CIPRIANO DE LA SANTÍSSIMA TRINIDAD RUIZ Y PICASSO',
13
- endereco_sacado: 'RUA RIO GRANDE DO SUL São paulo Minas caçapa da silva junior',
14
- bairro_sacado: 'São josé dos quatro apostolos magros',
15
- cep_sacado: '12345678',
16
- cidade_sacado: 'Santa rita de cássia maria da silva',
17
- uf_sacado: 'SP')
7
+ data_vencimento: Date.current,
8
+ nosso_numero: 123,
9
+ documento: 6969,
10
+ documento_sacado: '12345678901',
11
+ nome_sacado: 'PABLO DIEGO JOSÉ FRANCISCO DE PAULA JUAN NEPOMUCENO MARÍA DE LOS REMEDIOS CIPRIANO DE LA SANTÍSSIMA TRINIDAD RUIZ Y PICASSO',
12
+ endereco_sacado: 'RUA RIO GRANDE DO SUL São paulo Minas caçapa da silva junior',
13
+ bairro_sacado: 'São josé dos quatro apostolos magros',
14
+ cep_sacado: '12345678',
15
+ cidade_sacado: 'Santa rita de cássia maria da silva',
16
+ uf_sacado: 'SP')
18
17
  end
19
18
  let(:params) do
20
19
  { empresa_mae: 'SOCIEDADE BRASILEIRA DE ZOOLOGIA LTDA',
@@ -208,13 +207,6 @@ RSpec.describe Brcobranca::Remessa::Cnab240::BancoBrasil do
208
207
  context 'geracao remessa' do
209
208
  it_behaves_like 'cnab240'
210
209
 
211
- context 'trailer lote' do
212
- it 'trailer lote deve ter o complemento_trailer na posicao correta' do
213
- trailer = banco_brasil.monta_trailer_lote 1, 4
214
- expect(trailer[23..239]).to eq banco_brasil.complemento_trailer # complemento do registro trailer
215
- end
216
- end
217
-
218
210
  context 'arquivo' do
219
211
  before { Timecop.freeze(Time.local(2015, 7, 14, 16, 15, 15)) }
220
212
  after { Timecop.return }
@@ -1,48 +1,40 @@
1
1
  # -*- encoding: utf-8 -*-
2
- #
3
-
4
2
  require 'spec_helper'
5
3
 
6
4
  RSpec.describe Brcobranca::Remessa::Cnab240::Caixa do
5
+ before { Timecop.freeze(Time.local(2015, 7, 14, 16, 15, 15)) }
6
+ after { Timecop.return }
7
+
7
8
  let(:pagamento) do
8
9
  Brcobranca::Remessa::Pagamento.new(valor: 199.9,
9
- data_vencimento: Date.current,
10
- nosso_numero: 123,
11
- documento_sacado: '12345678901',
12
- nome_sacado: 'PABLO DIEGO JOSÉ FRANCISCO DE PAULA JUAN NEPOMUCENO MARÍA DE LOS REMEDIOS CIPRIANO DE LA SANTÍSSIMA TRINIDAD RUIZ Y PICASSO',
13
- endereco_sacado: 'RUA RIO GRANDE DO SUL São paulo Minas caçapa da silva junior',
14
- bairro_sacado: 'São josé dos quatro apostolos magros',
15
- cep_sacado: '12345678',
16
- cidade_sacado: 'Santa rita de cássia maria da silva',
17
- uf_sacado: 'SP')
10
+ data_vencimento: Date.current,
11
+ nosso_numero: 123,
12
+ numero: 123,
13
+ documento: 6969,
14
+ documento_sacado: '12345678901',
15
+ nome_sacado: 'PABLO DIEGO JOSÉ FRANCISCO DE PAULA JUAN NEPOMUCENO MARÍA DE LOS REMEDIOS CIPRIANO DE LA SANTÍSSIMA TRINIDAD RUIZ Y PICASSO',
16
+ endereco_sacado: 'RUA RIO GRANDE DO SUL São paulo Minas caçapa da silva junior',
17
+ bairro_sacado: 'São josé dos quatro apostolos magros',
18
+ cep_sacado: '12345678',
19
+ cidade_sacado: 'Santa rita de cássia maria da silva',
20
+ tipo_mora: "1",
21
+ codigo_multa: "2",
22
+ uf_sacado: 'SP')
18
23
  end
19
24
  let(:params) do
20
25
  { empresa_mae: 'SOCIEDADE BRASILEIRA DE ZOOLOGIA LTDA',
21
26
  agencia: '12345',
22
27
  conta_corrente: '1234',
28
+ versao_aplicativo: '1234',
23
29
  documento_cedente: '12345678901',
24
30
  convenio: '123456',
25
- versao_aplicativo: '1234',
26
31
  digito_agencia: '1',
32
+ sequencial_remessa: '000001',
27
33
  pagamentos: [pagamento] }
28
34
  end
29
35
  let(:caixa) { subject.class.new(params) }
30
36
 
31
37
  context 'validacoes' do
32
- context '@versao_aplicativo' do
33
- it 'deve ser invalido se nao possuir a versao do aplicativo' do
34
- objeto = subject.class.new(params.merge!(versao_aplicativo: nil))
35
- expect(objeto.invalid?).to be true
36
- expect(objeto.errors.full_messages).to include('Versao aplicativo não pode estar em branco.')
37
- end
38
-
39
- it 'deve ser invalido se a versao do aplicativo tiver mais de 4 digitos' do
40
- caixa.versao_aplicativo = '12345'
41
- expect(caixa.invalid?).to be true
42
- expect(caixa.errors.full_messages).to include('Versao aplicativo não deve ter mais de 4 dígitos.')
43
- end
44
- end
45
-
46
38
  context '@digito_agencia' do
47
39
  it 'deve ser invalido se nao possuir o digito da agencia' do
48
40
  objeto = subject.class.new(params.merge!(digito_agencia: nil))
@@ -67,7 +59,7 @@ RSpec.describe Brcobranca::Remessa::Cnab240::Caixa do
67
59
  it 'deve ser invalido se o convenio tiver mais de 6 digitos' do
68
60
  caixa.convenio = '1234567'
69
61
  expect(caixa.invalid?).to be true
70
- expect(caixa.errors.full_messages).to include('Convenio não deve ter mais de 6 dígitos.')
62
+ expect(caixa.errors.full_messages).to include('Convenio deve ter 6 dígitos.')
71
63
  end
72
64
  end
73
65
 
@@ -110,7 +102,7 @@ RSpec.describe Brcobranca::Remessa::Cnab240::Caixa do
110
102
  it 'convenio lote deve retornar as informacoes nas posicoes corretas' do
111
103
  conv_lote = caixa.convenio_lote
112
104
  expect(conv_lote[0..5]).to eq '123456'
113
- expect(conv_lote[6..19]).to eq ''.rjust(14, ' ')
105
+ expect(conv_lote[6..19]).to eq ''.rjust(14, '0')
114
106
  end
115
107
 
116
108
  it 'info_conta deve retornar as informacoes nas posicoes corretas' do
@@ -140,22 +132,31 @@ RSpec.describe Brcobranca::Remessa::Cnab240::Caixa do
140
132
  expect(comp_p[17..18]).to eq '14' # modalidade carteira
141
133
  expect(comp_p[19..33]).to eq '000000000000123' # nosso numero
142
134
  end
135
+
136
+ it 'tipo do documento deve ser 2 - Escritural' do
137
+ expect(caixa.tipo_documento).to eq '2'
138
+ end
139
+
140
+ it 'deve conter a identificacao do titulo da empresa' do
141
+ segmento_p = caixa.monta_segmento_p(pagamento, 1, 2)
142
+ expect(segmento_p[195..205]).to eq "00000006969"
143
+ end
144
+
145
+ it 'data da mora deve ser no dia posterior ao vencimento' do
146
+ segmento_p = caixa.monta_segmento_p(pagamento, 1, 2)
147
+ expect(segmento_p[118..125]).to eq "15072015"
148
+ end
149
+
150
+ it 'data da multa deve ser no dia posterior ao vencimento' do
151
+ segmento_r = caixa.monta_segmento_r(pagamento, 1, 4)
152
+ expect(segmento_r[66..73]).to eq "15072015"
153
+ end
143
154
  end
144
155
 
145
156
  context 'geracao remessa' do
146
157
  it_behaves_like 'cnab240'
147
158
 
148
- context 'trailer lote' do
149
- it 'trailer lote deve ter o complemento_trailer na posicao correta' do
150
- trailer = caixa.monta_trailer_lote 1, 4
151
- expect(trailer[23..239]).to eq caixa.complemento_trailer # complemento do registro trailer
152
- end
153
- end
154
-
155
159
  context 'arquivo' do
156
- before { Timecop.freeze(Time.local(2015, 7, 14, 16, 15, 15)) }
157
- after { Timecop.return }
158
-
159
160
  it { expect(caixa.gera_arquivo).to eq(read_remessa('remessa-caixa-cnab240.rem', caixa.gera_arquivo)) }
160
161
  end
161
162
  end