brcobranca 9.2.1 → 10.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (195) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +58 -6
  3. data/HISTORY.md +71 -0
  4. data/README.md +47 -53
  5. data/Rakefile +4 -4
  6. data/lib/brcobranca/arquivos/logos/ailos.eps +412 -0
  7. data/lib/brcobranca/arquivos/logos/ailos_carne.eps +412 -0
  8. data/lib/brcobranca/arquivos/logos/citibank.eps +745 -0
  9. data/lib/brcobranca/arquivos/logos/citibank_carne.eps +745 -0
  10. data/lib/brcobranca/arquivos/logos/safra.eps +0 -0
  11. data/lib/brcobranca/arquivos/logos/safra_carne.eps +0 -0
  12. data/lib/brcobranca/boleto/{cecred.rb → ailos.rb} +7 -5
  13. data/lib/brcobranca/boleto/banco_brasil.rb +9 -5
  14. data/lib/brcobranca/boleto/banco_brasilia.rb +5 -5
  15. data/lib/brcobranca/boleto/banco_nordeste.rb +4 -3
  16. data/lib/brcobranca/boleto/banestes.rb +4 -3
  17. data/lib/brcobranca/boleto/banrisul.rb +4 -3
  18. data/lib/brcobranca/boleto/base.rb +12 -7
  19. data/lib/brcobranca/boleto/bradesco.rb +4 -3
  20. data/lib/brcobranca/boleto/caixa.rb +10 -8
  21. data/lib/brcobranca/boleto/citibank.rb +97 -0
  22. data/lib/brcobranca/boleto/credisis.rb +6 -4
  23. data/lib/brcobranca/boleto/hsbc.rb +8 -6
  24. data/lib/brcobranca/boleto/itau.rb +5 -5
  25. data/lib/brcobranca/boleto/safra.rb +6 -6
  26. data/lib/brcobranca/boleto/santander.rb +4 -2
  27. data/lib/brcobranca/boleto/sicoob.rb +4 -3
  28. data/lib/brcobranca/boleto/sicredi.rb +6 -3
  29. data/lib/brcobranca/boleto/template/base.rb +2 -3
  30. data/lib/brcobranca/boleto/template/rghost.rb +18 -13
  31. data/lib/brcobranca/boleto/template/rghost_carne.rb +18 -12
  32. data/lib/brcobranca/boleto/unicred.rb +61 -103
  33. data/lib/brcobranca/calculo.rb +14 -9
  34. data/lib/brcobranca/calculo_data.rb +6 -5
  35. data/lib/brcobranca/currency.rb +10 -10
  36. data/lib/brcobranca/formatacao.rb +2 -1
  37. data/lib/brcobranca/formatacao_string.rb +11 -9
  38. data/lib/brcobranca/limpeza.rb +3 -3
  39. data/lib/brcobranca/remessa/base.rb +7 -10
  40. data/lib/brcobranca/remessa/cnab240/{cecred.rb → ailos.rb} +18 -15
  41. data/lib/brcobranca/remessa/cnab240/banco_brasil.rb +14 -11
  42. data/lib/brcobranca/remessa/cnab240/base.rb +56 -39
  43. data/lib/brcobranca/remessa/cnab240/base_correspondente.rb +25 -17
  44. data/lib/brcobranca/remessa/cnab240/caixa.rb +21 -13
  45. data/lib/brcobranca/remessa/cnab240/sicoob.rb +33 -30
  46. data/lib/brcobranca/remessa/cnab240/sicoob_banco_brasil.rb +14 -7
  47. data/lib/brcobranca/remessa/cnab240/sicredi.rb +28 -22
  48. data/lib/brcobranca/remessa/cnab240/unicred.rb +2 -1
  49. data/lib/brcobranca/remessa/cnab400/banco_brasil.rb +9 -9
  50. data/lib/brcobranca/remessa/cnab400/banco_brasilia.rb +29 -28
  51. data/lib/brcobranca/remessa/cnab400/banco_nordeste.rb +11 -10
  52. data/lib/brcobranca/remessa/cnab400/banrisul.rb +13 -10
  53. data/lib/brcobranca/remessa/cnab400/base.rb +22 -9
  54. data/lib/brcobranca/remessa/cnab400/bradesco.rb +30 -5
  55. data/lib/brcobranca/remessa/cnab400/citibank.rb +6 -5
  56. data/lib/brcobranca/remessa/cnab400/credisis.rb +7 -5
  57. data/lib/brcobranca/remessa/cnab400/itau.rb +9 -6
  58. data/lib/brcobranca/remessa/cnab400/santander.rb +17 -15
  59. data/lib/brcobranca/remessa/cnab400/sicoob.rb +8 -11
  60. data/lib/brcobranca/remessa/cnab400/unicred.rb +185 -69
  61. data/lib/brcobranca/remessa/pagamento.rb +43 -11
  62. data/lib/brcobranca/retorno/base.rb +5 -43
  63. data/lib/brcobranca/retorno/cnab240/{cecred.rb → ailos.rb} +12 -10
  64. data/lib/brcobranca/retorno/cnab240/base.rb +8 -9
  65. data/lib/brcobranca/retorno/cnab240/caixa.rb +4 -5
  66. data/lib/brcobranca/retorno/cnab240/santander.rb +12 -8
  67. data/lib/brcobranca/retorno/cnab240/sicoob.rb +11 -9
  68. data/lib/brcobranca/retorno/cnab240/sicredi.rb +12 -9
  69. data/lib/brcobranca/retorno/cnab400/banco_brasil.rb +3 -3
  70. data/lib/brcobranca/retorno/cnab400/banco_brasilia.rb +2 -1
  71. data/lib/brcobranca/retorno/cnab400/banco_nordeste.rb +2 -1
  72. data/lib/brcobranca/retorno/cnab400/banrisul.rb +1 -1
  73. data/lib/brcobranca/retorno/cnab400/base.rb +13 -12
  74. data/lib/brcobranca/retorno/cnab400/bradesco.rb +4 -4
  75. data/lib/brcobranca/retorno/cnab400/credisis.rb +2 -1
  76. data/lib/brcobranca/retorno/cnab400/itau.rb +6 -5
  77. data/lib/brcobranca/retorno/cnab400/santander.rb +8 -7
  78. data/lib/brcobranca/retorno/cnab400/unicred.rb +63 -58
  79. data/lib/brcobranca/retorno/retorno_cbr643.rb +1 -2
  80. data/lib/brcobranca/retorno/retorno_cnab240.rb +11 -9
  81. data/lib/brcobranca/retorno/retorno_cnab400.rb +6 -5
  82. data/lib/brcobranca/util/date.rb +2 -1
  83. data/lib/brcobranca/util/empresa.rb +2 -1
  84. data/lib/brcobranca/util/errors.rb +31 -31
  85. data/lib/brcobranca/validations.rb +127 -151
  86. data/lib/brcobranca/version.rb +2 -3
  87. data/lib/brcobranca.rb +6 -5
  88. data/spec/brcobranca/base_spec.rb +20 -11
  89. data/spec/brcobranca/boleto/{cecred_spec.rb → ailos_spec.rb} +13 -12
  90. data/spec/brcobranca/boleto/banco_brasil_spec.rb +14 -12
  91. data/spec/brcobranca/boleto/banco_brasilia_spec.rb +11 -10
  92. data/spec/brcobranca/boleto/banco_nordeste_spec.rb +2 -3
  93. data/spec/brcobranca/boleto/banestes_spec.rb +10 -11
  94. data/spec/brcobranca/boleto/banrisul_spec.rb +10 -12
  95. data/spec/brcobranca/boleto/bradesco_spec.rb +36 -33
  96. data/spec/brcobranca/boleto/caixa_spec.rb +11 -12
  97. data/spec/brcobranca/boleto/citibank_spec.rb +195 -0
  98. data/spec/brcobranca/boleto/credisis_spec.rb +18 -17
  99. data/spec/brcobranca/boleto/hsbc_spec.rb +9 -10
  100. data/spec/brcobranca/boleto/itau_spec.rb +11 -12
  101. data/spec/brcobranca/boleto/safra_spec.rb +13 -14
  102. data/spec/brcobranca/boleto/santander_spec.rb +9 -10
  103. data/spec/brcobranca/boleto/sicoob_spec.rb +10 -11
  104. data/spec/brcobranca/boleto/sicredi_spec.rb +14 -10
  105. data/spec/brcobranca/boleto/unicred_spec.rb +28 -38
  106. data/spec/brcobranca/boletos_em_lote_spec.rb +7 -7
  107. data/spec/brcobranca/calculo_data_spec.rb +2 -2
  108. data/spec/brcobranca/calculo_spec.rb +13 -11
  109. data/spec/brcobranca/currency_spec.rb +26 -26
  110. data/spec/brcobranca/formatacao_spec.rb +2 -2
  111. data/spec/brcobranca/formatacao_string_spec.rb +10 -3
  112. data/spec/brcobranca/limpeza_spec.rb +2 -2
  113. data/spec/brcobranca/remessa/base_spec.rb +3 -4
  114. data/spec/brcobranca/remessa/cnab240/{cecred_spec.rb → ailos_spec.rb} +48 -47
  115. data/spec/brcobranca/remessa/cnab240/banco_brasil_spec.rb +18 -13
  116. data/spec/brcobranca/remessa/cnab240/base_spec.rb +35 -12
  117. data/spec/brcobranca/remessa/cnab240/caixa_spec.rb +19 -17
  118. data/spec/brcobranca/remessa/cnab240/sicoob_banco_brasil_spec.rb +14 -10
  119. data/spec/brcobranca/remessa/cnab240/sicoob_spec.rb +30 -28
  120. data/spec/brcobranca/remessa/cnab240/sicredi_spec.rb +14 -12
  121. data/spec/brcobranca/remessa/cnab240/unicred_spec.rb +13 -11
  122. data/spec/brcobranca/remessa/cnab400/banco_brasil_spec.rb +8 -5
  123. data/spec/brcobranca/remessa/cnab400/banco_brasilia_spec.rb +24 -19
  124. data/spec/brcobranca/remessa/cnab400/banco_nordeste_spec.rb +19 -14
  125. data/spec/brcobranca/remessa/cnab400/banrisul_spec.rb +17 -15
  126. data/spec/brcobranca/remessa/cnab400/base_spec.rb +27 -12
  127. data/spec/brcobranca/remessa/cnab400/bradesco_spec.rb +19 -17
  128. data/spec/brcobranca/remessa/cnab400/citibank_spec.rb +14 -12
  129. data/spec/brcobranca/remessa/cnab400/credisis_spec.rb +21 -19
  130. data/spec/brcobranca/remessa/cnab400/itau_spec.rb +18 -16
  131. data/spec/brcobranca/remessa/cnab400/santander_spec.rb +24 -22
  132. data/spec/brcobranca/remessa/cnab400/sicoob_spec.rb +22 -22
  133. data/spec/brcobranca/remessa/cnab400/unicred_spec.rb +167 -166
  134. data/spec/brcobranca/remessa/pagamento_spec.rb +16 -15
  135. data/spec/brcobranca/retorno/cnab240/base_spec.rb +10 -9
  136. data/spec/brcobranca/retorno/cnab240/cecred_spec.rb +4 -2
  137. data/spec/brcobranca/retorno/cnab240/santander_spec.rb +2 -0
  138. data/spec/brcobranca/retorno/cnab240/sicoob_spec.rb +2 -0
  139. data/spec/brcobranca/retorno/cnab240/sicredi_spec.rb +2 -0
  140. data/spec/brcobranca/retorno/cnab400/banco_brasilia_spec.rb +2 -1
  141. data/spec/brcobranca/retorno/cnab400/banco_nordeste_spec.rb +2 -1
  142. data/spec/brcobranca/retorno/cnab400/banrisul_spec.rb +2 -1
  143. data/spec/brcobranca/retorno/cnab400/base_spec.rb +25 -25
  144. data/spec/brcobranca/retorno/cnab400/bradesco_spec.rb +2 -1
  145. data/spec/brcobranca/retorno/cnab400/credisis_spec.rb +5 -4
  146. data/spec/brcobranca/retorno/cnab400/itau_spec.rb +4 -2
  147. data/spec/brcobranca/retorno/cnab400/santander_spec.rb +2 -1
  148. data/spec/brcobranca/retorno/cnab400/unicred_spec.rb +28 -32
  149. data/spec/brcobranca/retorno/retorno_cbr643_spec.rb +2 -2
  150. data/spec/brcobranca/retorno/retorno_cnab400_spec.rb +2 -1
  151. data/spec/brcobranca/retorno/retorno_cnab_240_spec.rb +2 -1
  152. data/spec/brcobranca/rghost_spec.rb +4 -4
  153. data/spec/brcobranca/util/empresa_spec.rb +1 -2
  154. data/spec/brcobranca_spec.rb +1 -2
  155. metadata +90 -162
  156. data/spec/arquivos/CBR64310.RET +0 -28
  157. data/spec/arquivos/CNAB240.RET +0 -74
  158. data/spec/arquivos/CNAB240CECRED.RET +0 -10
  159. data/spec/arquivos/CNAB240SANTANDER.RET +0 -8
  160. data/spec/arquivos/CNAB240SICOOB.RET +0 -10
  161. data/spec/arquivos/CNAB240SICREDI.CRT +0 -8
  162. data/spec/arquivos/CNAB400.RET +0 -54
  163. data/spec/arquivos/CNAB400BANCOBRASILIA.RET +0 -3
  164. data/spec/arquivos/CNAB400BANCONORDESTE.RET +0 -3
  165. data/spec/arquivos/CNAB400BANRISUL.RET +0 -3
  166. data/spec/arquivos/CNAB400BRADESCO.RET +0 -8
  167. data/spec/arquivos/CNAB400CREDISIS.RET +0 -3
  168. data/spec/arquivos/CNAB400ITAU.RET +0 -54
  169. data/spec/arquivos/CNAB400SANTANDER.RET +0 -54
  170. data/spec/arquivos/CNAB400UNICRED.RET +0 -3
  171. data/spec/fixtures/remessa/remessa-banco-brasil-cnab400.rem +0 -3
  172. data/spec/fixtures/remessa/remessa-banco-brasilia-cnab400.rem +0 -3
  173. data/spec/fixtures/remessa/remessa-banco-nordeste-cnab400.rem +0 -3
  174. data/spec/fixtures/remessa/remessa-banco_brasil-cnab240.rem +0 -7
  175. data/spec/fixtures/remessa/remessa-bancoob-cnab240.rem +0 -7
  176. data/spec/fixtures/remessa/remessa-banrisul-cnab400.rem +0 -3
  177. data/spec/fixtures/remessa/remessa-bradesco-cnab400.rem +0 -3
  178. data/spec/fixtures/remessa/remessa-caixa-cnab240.rem +0 -7
  179. data/spec/fixtures/remessa/remessa-cecred-cnab240.rem +0 -7
  180. data/spec/fixtures/remessa/remessa-citibank-cnab400.rem +0 -3
  181. data/spec/fixtures/remessa/remessa-credisis-cnab400.rem +0 -3
  182. data/spec/fixtures/remessa/remessa-itau-cnab400.rem +0 -4
  183. data/spec/fixtures/remessa/remessa-santander-cnab400.rem +0 -3
  184. data/spec/fixtures/remessa/remessa-sicoob-cnab400.rem +0 -3
  185. data/spec/fixtures/remessa/remessa-sicoob-correspondente-bb-cnab240.rem +0 -4
  186. data/spec/fixtures/remessa/remessa-sicredi-cnab240.rem +0 -7
  187. data/spec/fixtures/remessa/remessa-unicred-cnab240.rem +0 -7
  188. data/spec/fixtures/remessa/remessa-unicred-cnab400.rem +0 -3
  189. data/spec/spec.opts +0 -8
  190. data/spec/spec_helper.rb +0 -38
  191. data/spec/support/remessa_helpers.rb +0 -13
  192. data/spec/support/shared_examples/busca_logotipo.rb +0 -15
  193. data/spec/support/shared_examples/cnab240.rb +0 -259
  194. data/spec/support/shared_examples/cnab400.rb +0 -180
  195. data/spec/support/shared_examples/formatos_validos.rb +0 -36
@@ -1,19 +1,20 @@
1
- # -*- encoding: utf-8 -*-
1
+ # frozen_string_literal: true
2
+
2
3
  require 'spec_helper'
3
4
 
4
5
  RSpec.describe Brcobranca::Remessa::Cnab400::Citibank do
5
6
  let(:pagamento) do
6
7
  Brcobranca::Remessa::Pagamento.new(valor: 199.9,
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')
8
+ data_vencimento: Date.current,
9
+ nosso_numero: 123,
10
+ documento: 6969,
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')
17
18
  end
18
19
  let(:params) do
19
20
  {
@@ -107,7 +108,7 @@ RSpec.describe Brcobranca::Remessa::Cnab400::Citibank do
107
108
  context 'detalhe' do
108
109
  it 'informacoes devem estar posicionadas corretamente no detalhe' do
109
110
  detalhe = citibank.monta_detalhe pagamento, 1
110
- expect(detalhe[37..61]).to eq "6969".ljust(25) # nosso numero
111
+ expect(detalhe[37..61]).to eq '6969'.ljust(25) # nosso numero
111
112
  expect(detalhe[64..75]).to eq '000000000123' # nosso numero
112
113
  expect(detalhe[120..125]).to eq Date.current.strftime('%d%m%y') # data de vencimento
113
114
  expect(detalhe[126..138]).to eq '0000000019990' # valor do titulo
@@ -118,6 +119,7 @@ RSpec.describe Brcobranca::Remessa::Cnab400::Citibank do
118
119
 
119
120
  context 'arquivo' do
120
121
  before { Timecop.freeze(Time.local(2015, 7, 14, 16, 15, 15)) }
122
+
121
123
  after { Timecop.return }
122
124
 
123
125
  it { expect(citibank.gera_arquivo).to eq(read_remessa('remessa-citibank-cnab400.rem', citibank.gera_arquivo)) }
@@ -1,22 +1,23 @@
1
- # -*- encoding: utf-8 -*-
1
+ # frozen_string_literal: true
2
+
2
3
  require 'spec_helper'
3
4
 
4
5
  RSpec.describe Brcobranca::Remessa::Cnab400::Credisis do
5
6
  let(:pagamento) do
6
7
  Brcobranca::Remessa::Pagamento.new(valor: 199.9,
7
- data_vencimento: Date.current,
8
- nosso_numero: 123,
9
- documento: 6969,
10
- dias_protesto: '6',
11
- valor_mora: "8.00",
12
- percentual_multa: "2.00",
13
- documento_sacado: '12345678901',
14
- nome_sacado: 'PABLO DIEGO JOSÉ FRANCISCO DE PAULA JUAN NEPOMUCENO MARÍA DE LOS REMEDIOS CIPRIANO DE LA SANTÍSSIMA TRINIDAD RUIZ Y PICASSO',
15
- endereco_sacado: 'RUA RIO GRANDE DO SUL São paulo Minas caçapa da silva junior',
16
- bairro_sacado: 'São josé dos quatro apostolos magros',
17
- cep_sacado: '12345678',
18
- cidade_sacado: 'Santa rita de cássia maria da silva',
19
- uf_sacado: 'SP')
8
+ data_vencimento: Date.current,
9
+ nosso_numero: 123,
10
+ documento: 6969,
11
+ dias_protesto: '6',
12
+ valor_mora: '8.00',
13
+ percentual_multa: '2.00',
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
+ uf_sacado: 'SP')
20
21
  end
21
22
  let(:params) do
22
23
  {
@@ -151,14 +152,14 @@ RSpec.describe Brcobranca::Remessa::Cnab400::Credisis do
151
152
  expect(detalhe[17..20]).to eq '0001' # agência
152
153
  expect(detalhe[22..29]).to eq '00000002' # conta corrente
153
154
  expect(detalhe[30]).to eq '7' # dígito da conta corrente
154
- expect(detalhe[37..61]).to eq "6969".ljust(25) # número controle cliente
155
+ expect(detalhe[37..61]).to eq '6969'.ljust(25) # número controle cliente
155
156
  expect(detalhe[62..72]).to eq '00027000123' # nosso numero
156
157
  expect(detalhe[73..109]).to eq ''.rjust(37, ' ') # brancos
157
158
  expect(detalhe[110..119]).to eq '0000000000' # número documento
158
- expect(detalhe[120..125]).to eq Date.current.strftime('%d%m%y') # data de vencimento
159
+ expect(detalhe[120..125]).to eq Date.current.strftime('%d%m%y') # data de vencimento
159
160
  expect(detalhe[126..138]).to eq '0000000019990' # valor do titulo
160
161
  expect(detalhe[139..149]).to eq ''.rjust(11, ' ') # brancos
161
- expect(detalhe[150..155]).to eq Date.current.strftime('%d%m%y') # data emissão título
162
+ expect(detalhe[150..155]).to eq Date.current.strftime('%d%m%y') # data emissão título
162
163
  expect(detalhe[156..159]).to eq ''.rjust(4, ' ') # brancos
163
164
  expect(detalhe[160..165]).to eq '080000' # mora
164
165
  expect(detalhe[166..171]).to eq '020000' # multa
@@ -172,14 +173,15 @@ RSpec.describe Brcobranca::Remessa::Cnab400::Credisis do
172
173
  expect(detalhe[326..333]).to eq '12345678' # cep sacado
173
174
  expect(detalhe[334..348]).to eq 'Santa rita de c' # cidade sacado
174
175
  expect(detalhe[349..350]).to eq 'SP' # uf sacado
175
- expect(detalhe[351..375]).to eq ''.rjust(25, " ") # nome avalista
176
- expect(detalhe[377..390]).to eq ''.rjust(14, " ") # documento avalista
176
+ expect(detalhe[351..375]).to eq ''.rjust(25, ' ') # nome avalista
177
+ expect(detalhe[377..390]).to eq ''.rjust(14, ' ') # documento avalista
177
178
  expect(detalhe[391..392]).to eq '06' # dias para envio a protesto
178
179
  end
179
180
  end
180
181
 
181
182
  context 'arquivo' do
182
183
  before { Timecop.freeze(Time.local(2015, 7, 14, 16, 15, 15)) }
184
+
183
185
  after { Timecop.return }
184
186
 
185
187
  it { expect(credisis.gera_arquivo).to eq(read_remessa('remessa-credisis-cnab400.rem', credisis.gera_arquivo)) }
@@ -1,21 +1,22 @@
1
- # -*- encoding: utf-8 -*-
1
+ # frozen_string_literal: true
2
+
2
3
  require 'spec_helper'
3
4
 
4
5
  RSpec.describe Brcobranca::Remessa::Cnab400::Itau do
5
6
  let(:pagamento) do
6
7
  Brcobranca::Remessa::Pagamento.new(valor: 199.9,
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
- codigo_multa: '1',
17
- percentual_multa: 2.00,
18
- uf_sacado: 'SP')
8
+ data_vencimento: Date.current,
9
+ nosso_numero: 123,
10
+ documento: 6969,
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
+ codigo_multa: '1',
18
+ percentual_multa: 2.00,
19
+ uf_sacado: 'SP')
19
20
  end
20
21
  let(:params) do
21
22
  { carteira: '123',
@@ -157,7 +158,7 @@ RSpec.describe Brcobranca::Remessa::Cnab400::Itau do
157
158
  context 'detalhe' do
158
159
  it 'informacoes devem estar posicionadas corretamente no detalhe' do
159
160
  detalhe = itau.monta_detalhe pagamento, 2
160
- expect(detalhe[37..61]).to eq "6969".ljust(25)
161
+ expect(detalhe[37..61]).to eq '6969'.ljust(25)
161
162
  expect(detalhe[62..69]).to eq '00000123' # nosso numero
162
163
  expect(detalhe[120..125]).to eq Date.current.strftime('%d%m%y') # data de vencimento
163
164
  expect(detalhe[126..138]).to eq '0000000019990' # valor do titulo
@@ -170,10 +171,10 @@ RSpec.describe Brcobranca::Remessa::Cnab400::Itau do
170
171
 
171
172
  it 'informacoes devem estar posicionadas corretamente no detalhe opcional de multa' do
172
173
  detalhe_multa = itau.monta_detalhe_multa pagamento, 3
173
- # Significado Posição Picture
174
+ # Significado Posição Picture
174
175
  expect(detalhe_multa[0]).to eq '2' # Identificação do reg. transação [001..001] 9(001)
175
176
  expect(detalhe_multa[1]).to eq '1' # Código da multa [002..002] X(001)
176
- expect(detalhe_multa[2..9]).to eq Date.current.strftime('%d%m%Y') # Data da multa [003..010] 9(008)
177
+ expect(detalhe_multa[2..9]).to eq Date.current.strftime('%d%m%Y') # Data da multa [003..010] 9(008)
177
178
  expect(detalhe_multa[10..22]).to eq '0000000000200' # Valor da multa [011..023] 9(013)
178
179
  expect(detalhe_multa[23..393]).to eq ''.rjust(371, ' ') # Complemento [024..394] X(370)
179
180
  expect(detalhe_multa[394..399]).to eq '000003' # Número sequencial [395..400] 9(006)
@@ -182,6 +183,7 @@ RSpec.describe Brcobranca::Remessa::Cnab400::Itau do
182
183
 
183
184
  context 'arquivo' do
184
185
  before { Timecop.freeze(Time.local(2015, 7, 14, 16, 15, 15)) }
186
+
185
187
  after { Timecop.return }
186
188
 
187
189
  it { expect(itau.gera_arquivo).to eq(read_remessa('remessa-itau-cnab400.rem', itau.gera_arquivo)) }
@@ -1,24 +1,25 @@
1
- # -*- encoding: utf-8 -*-
1
+ # frozen_string_literal: true
2
+
2
3
  require 'spec_helper'
3
4
 
4
5
  RSpec.describe Brcobranca::Remessa::Cnab400::Santander do
5
6
  let(:pagamento) do
6
7
  Brcobranca::Remessa::Pagamento.new(valor: 199.9,
7
- data_vencimento: Date.current,
8
- codigo_multa: '4',
9
- percentual_multa: '2.00',
10
- valor_mora: '8.00',
11
- cod_primeira_instrucao: '06',
12
- dias_protesto: '6',
13
- nosso_numero: 123,
14
- documento: 6969,
15
- documento_sacado: '12345678901',
16
- nome_sacado: 'PABLO DIEGO JOSÉ FRANCISCO DE PAULA JUAN NEPOMUCENO MARÍA DE LOS REMEDIOS CIPRIANO DE LA SANTÍSSIMA TRINIDAD RUIZ Y PICASSO',
17
- endereco_sacado: 'RUA RIO GRANDE DO SUL São paulo Minas caçapa da silva junior',
18
- bairro_sacado: 'São josé dos quatro apostolos magros',
19
- cep_sacado: '12345678',
20
- cidade_sacado: 'Santa rita de cássia maria da silva',
21
- uf_sacado: 'SP')
8
+ data_vencimento: Date.current,
9
+ codigo_multa: '4',
10
+ percentual_multa: '2.00',
11
+ valor_mora: '8.00',
12
+ cod_primeira_instrucao: '06',
13
+ dias_protesto: '6',
14
+ nosso_numero: 123,
15
+ documento: 6969,
16
+ documento_sacado: '12345678901',
17
+ nome_sacado: 'PABLO DIEGO JOSÉ FRANCISCO,!^.?\/@ DE PAULA JUAN NEPOMUCENO MARÍA DE LOS REMEDIOS CIPRIANO DE LA SANTÍSSIMA TRINIDAD RUIZ Y PICASSO',
18
+ endereco_sacado: 'RUA RIO GRANDE DO SUL,!^.?\/@ São paulo Minas caçapa da silva junior',
19
+ bairro_sacado: 'São josé dos quatro apostolos magros',
20
+ cep_sacado: '12345678',
21
+ cidade_sacado: 'Santa rita de cássia maria da silva',
22
+ uf_sacado: 'SP')
22
23
  end
23
24
  let(:params) do
24
25
  {
@@ -111,18 +112,18 @@ RSpec.describe Brcobranca::Remessa::Cnab400::Santander do
111
112
  header = santander.monta_header
112
113
  expect(header[1]).to eq '1' # tipo operacao (1 = remessa)
113
114
  expect(header[2..8]).to eq 'REMESSA' # literal da operacao
114
- expect(header[26..45]).to eq santander.info_conta # informacoes da conta
115
+ expect(header[26..45]).to eq santander.info_conta # informacoes da conta
115
116
  expect(header[76..78]).to eq '033' # codigo do banco
116
- expect(header[100..115]).to eq ''.rjust(16, "0") # zeros
117
- expect(header[116..390]).to eq ''.rjust(275,' ') # campos mensagens vazios
118
- expect(header[391..393]).to eq '058' # numero da versão da remessa
117
+ expect(header[100..115]).to eq ''.rjust(16, '0') # zeros
118
+ expect(header[116..390]).to eq ''.rjust(275, ' ') # campos mensagens vazios
119
+ expect(header[391..393]).to eq '058' # numero da versão da remessa
119
120
  end
120
121
  end
121
122
 
122
123
  context 'detalhe' do
123
124
  it 'informacoes devem estar posicionadas corretamente no detalhe' do
124
125
  detalhe = santander.monta_detalhe pagamento, 1
125
- expect(detalhe[37..61]).to eq "6969".ljust(25) # nosso numero
126
+ expect(detalhe[37..61]).to eq '6969'.ljust(25) # nosso numero
126
127
  expect(detalhe[62..69]).to eq '00000123' # nosso numero
127
128
  expect(detalhe[120..125]).to eq Date.current.strftime('%d%m%y') # data de vencimento
128
129
  expect(detalhe[126..138]).to eq '0000000019990' # valor do titulo
@@ -133,7 +134,7 @@ RSpec.describe Brcobranca::Remessa::Cnab400::Santander do
133
134
 
134
135
  context 'trailer' do
135
136
  it 'informacoes devem estar posicionadas corretamente no trailer' do
136
- trailer = santander.monta_trailer "3"
137
+ trailer = santander.monta_trailer '3'
137
138
  expect(trailer[0]).to eq '9' # código registro
138
139
  expect(trailer[1..6]).to eq '000003' # quant. total de linhas
139
140
  expect(trailer[7..19]).to eq '0000000019990' # valor total dos titulos
@@ -144,6 +145,7 @@ RSpec.describe Brcobranca::Remessa::Cnab400::Santander do
144
145
 
145
146
  context 'arquivo' do
146
147
  before { Timecop.freeze(Time.local(2015, 7, 14, 16, 15, 15)) }
148
+
147
149
  after { Timecop.return }
148
150
 
149
151
  it { expect(santander.gera_arquivo).to eq(read_remessa('remessa-santander-cnab400.rem', santander.gera_arquivo)) }
@@ -1,5 +1,4 @@
1
- # -*- encoding: utf-8 -*-
2
- #
1
+ # frozen_string_literal: true
3
2
 
4
3
  require 'spec_helper'
5
4
 
@@ -9,8 +8,8 @@ RSpec.describe Brcobranca::Remessa::Cnab400::Sicoob do
9
8
  data_vencimento: Date.current,
10
9
  nosso_numero: 123,
11
10
  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',
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',
14
13
  bairro_sacado: 'São josé dos quatro apostolos magros',
15
14
  cep_sacado: '12345678',
16
15
  cidade_sacado: 'Santa rita de cássia maria da silva',
@@ -152,24 +151,24 @@ RSpec.describe Brcobranca::Remessa::Cnab400::Sicoob do
152
151
  # = 36 24 14 6 = 80
153
152
  # 80 / 11 = 7 com resto 3
154
153
  expected_digito_agencia_list = [
155
- { agencia: "3214", dv: "0" },
156
- { agencia: "2006", dv: "0" },
157
- { agencia: "5651", dv: "0" },
158
- { agencia: "5691", dv: "0" },
159
- { agencia: "5741", dv: "0" },
160
- { agencia: "1008", dv: "1" },
161
- { agencia: "5681", dv: "2" },
162
- { agencia: "5731", dv: "2" },
163
- { agencia: "4327", dv: "3" },
164
- { agencia: "1001", dv: "4" },
165
- { agencia: "5761", dv: "4" },
166
- { agencia: "3032", dv: "5" },
167
- { agencia: "5671", dv: "5" },
168
- { agencia: "5631", dv: "6" },
169
- { agencia: "1005", dv: "7" },
170
- { agencia: "5661", dv: "8" },
171
- { agencia: "0001", dv: "9" },
172
- { agencia: "5621", dv: "9" },
154
+ { agencia: '3214', dv: '0' },
155
+ { agencia: '2006', dv: '0' },
156
+ { agencia: '5651', dv: '0' },
157
+ { agencia: '5691', dv: '0' },
158
+ { agencia: '5741', dv: '0' },
159
+ { agencia: '1008', dv: '1' },
160
+ { agencia: '5681', dv: '2' },
161
+ { agencia: '5731', dv: '2' },
162
+ { agencia: '4327', dv: '3' },
163
+ { agencia: '1001', dv: '4' },
164
+ { agencia: '5761', dv: '4' },
165
+ { agencia: '3032', dv: '5' },
166
+ { agencia: '5671', dv: '5' },
167
+ { agencia: '5631', dv: '6' },
168
+ { agencia: '1005', dv: '7' },
169
+ { agencia: '5661', dv: '8' },
170
+ { agencia: '0001', dv: '9' },
171
+ { agencia: '5621', dv: '9' }
173
172
  ]
174
173
 
175
174
  expected_digito_agencia_list.each do |expected_dv_agencia|
@@ -209,6 +208,7 @@ RSpec.describe Brcobranca::Remessa::Cnab400::Sicoob do
209
208
 
210
209
  context 'arquivo' do
211
210
  before { Timecop.freeze(Time.local(2015, 7, 14, 16, 15, 15)) }
211
+
212
212
  after { Timecop.return }
213
213
 
214
214
  it { expect(sicoob.gera_arquivo).to eq(read_remessa('remessa-sicoob-cnab400.rem', sicoob.gera_arquivo)) }