br_boleto 2.0.1 → 2.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +2 -1
- data/.travis.yml +1 -1
- data/Gemfile.lock +2 -2
- data/br_boleto.gemspec +2 -3
- data/lib/br_boleto/association/have_conta.rb +27 -25
- data/lib/br_boleto/association/have_pagador.rb +2 -0
- data/lib/br_boleto/boleto/base.rb +0 -4
- data/lib/br_boleto/boleto/bradesco.rb +80 -0
- data/lib/br_boleto/boleto/caixa.rb +10 -12
- data/lib/br_boleto/boleto/cecred.rb +76 -0
- data/lib/br_boleto/boleto/itau.rb +114 -0
- data/lib/br_boleto/boleto/sicredi.rb +101 -0
- data/lib/br_boleto/boleto/unicred.rb +21 -0
- data/lib/br_boleto/conta/base.rb +28 -3
- data/lib/br_boleto/conta/bradesco.rb +120 -0
- data/lib/br_boleto/conta/caixa.rb +22 -12
- data/lib/br_boleto/conta/cecred.rb +67 -0
- data/lib/br_boleto/conta/itau.rb +199 -0
- data/lib/br_boleto/conta/sicoob.rb +40 -11
- data/lib/br_boleto/conta/sicredi.rb +171 -0
- data/lib/br_boleto/conta/unicred.rb +38 -0
- data/lib/br_boleto/helper/default_codes.rb +535 -26
- data/lib/br_boleto/pagador.rb +4 -0
- data/lib/br_boleto/remessa/base.rb +2 -0
- data/lib/br_boleto/remessa/cnab240/base.rb +21 -6
- data/lib/br_boleto/remessa/cnab240/bradesco.rb +141 -0
- data/lib/br_boleto/remessa/cnab240/caixa.rb +8 -1
- data/lib/br_boleto/remessa/cnab240/cecred.rb +169 -0
- data/lib/br_boleto/remessa/cnab240/helper/segmento_p.rb +29 -21
- data/lib/br_boleto/remessa/cnab240/helper/segmento_q.rb +4 -3
- data/lib/br_boleto/remessa/cnab240/helper/segmento_r.rb +5 -5
- data/lib/br_boleto/remessa/cnab240/helper/segmento_s.rb +4 -3
- data/lib/br_boleto/remessa/cnab240/itau.rb +186 -0
- data/lib/br_boleto/remessa/cnab240/sicoob.rb +4 -16
- data/lib/br_boleto/remessa/cnab240/sicredi.rb +205 -0
- data/lib/br_boleto/remessa/cnab240/unicred.rb +40 -0
- data/lib/br_boleto/remessa/cnab400/bradesco.rb +235 -0
- data/lib/br_boleto/remessa/cnab400/helper/detalhe.rb +6 -5
- data/lib/br_boleto/remessa/cnab400/itau.rb +190 -0
- data/lib/br_boleto/remessa/cnab400/sicoob.rb +3 -3
- data/lib/br_boleto/remessa/cnab400/sicredi.rb +276 -0
- data/lib/br_boleto/remessa/cnab400/unicred.rb +62 -0
- data/lib/br_boleto/remessa/pagamento.rb +93 -43
- data/lib/br_boleto/retorno/cnab240/base.rb +13 -12
- data/lib/br_boleto/retorno/cnab240/bradesco.rb +10 -0
- data/lib/br_boleto/retorno/cnab240/caixa.rb +2 -3
- data/lib/br_boleto/retorno/cnab240/cecred.rb +10 -0
- data/lib/br_boleto/retorno/cnab240/itau.rb +24 -0
- data/lib/br_boleto/retorno/cnab240/sicredi.rb +10 -0
- data/lib/br_boleto/retorno/cnab240/unicred.rb +10 -0
- data/lib/br_boleto/retorno/cnab400/bradesco.rb +42 -0
- data/lib/br_boleto/retorno/cnab400/itau.rb +43 -0
- data/lib/br_boleto/retorno/cnab400/sicoob.rb +2 -2
- data/lib/br_boleto/retorno/cnab400/sicredi.rb +43 -0
- data/lib/br_boleto/retorno/cnab400/unicred.rb +10 -0
- data/lib/br_boleto/retorno/pagamento.rb +18 -4
- data/lib/br_boleto/version.rb +2 -2
- data/lib/br_boleto.rb +28 -0
- data/lib/config/locales/br-boleto-en.yml +1 -0
- data/lib/config/locales/br-boleto-pt-BR.yml +1 -0
- data/test/br_boleto/association/have_pagador_test.rb +24 -0
- data/test/br_boleto/boleto/bradesco_test.rb +125 -0
- data/test/br_boleto/boleto/caixa_test.rb +18 -18
- data/test/br_boleto/boleto/cecred_test.rb +115 -0
- data/test/br_boleto/boleto/itau_test.rb +160 -0
- data/test/br_boleto/boleto/sicredi_test.rb +136 -0
- data/test/br_boleto/boleto/unicred_test.rb +128 -0
- data/test/br_boleto/conta/base_test.rb +298 -3
- data/test/br_boleto/conta/bradesco_test.rb +142 -0
- data/test/br_boleto/conta/caixa_test.rb +7 -6
- data/test/br_boleto/conta/cecred_test.rb +119 -0
- data/test/br_boleto/conta/itau_test.rb +189 -0
- data/test/br_boleto/conta/sicoob_test.rb +32 -2
- data/test/br_boleto/conta/sicredi_test.rb +180 -0
- data/test/br_boleto/conta/unicred_test.rb +154 -0
- data/test/br_boleto/pagador_test.rb +22 -2
- data/test/br_boleto/remessa/cnab240/base_test.rb +24 -12
- data/test/br_boleto/remessa/cnab240/bradesco_test.rb +196 -0
- data/test/br_boleto/remessa/cnab240/caixa_test.rb +51 -0
- data/test/br_boleto/remessa/cnab240/cecred_test.rb +242 -0
- data/test/br_boleto/remessa/cnab240/helper/segmento_p_test.rb +78 -71
- data/test/br_boleto/remessa/cnab240/helper/segmento_q_test.rb +4 -3
- data/test/br_boleto/remessa/cnab240/helper/segmento_r_test.rb +10 -18
- data/test/br_boleto/remessa/cnab240/helper/segmento_s_test.rb +6 -5
- data/test/br_boleto/remessa/cnab240/itau_test.rb +201 -0
- data/test/br_boleto/remessa/cnab240/sicoob_test.rb +1 -58
- data/test/br_boleto/remessa/cnab240/sicredi_test.rb +207 -0
- data/test/br_boleto/remessa/cnab240/unicred_test.rb +250 -0
- data/test/br_boleto/remessa/cnab400/base_test.rb +4 -4
- data/test/br_boleto/remessa/cnab400/bradesco_test.rb +164 -0
- data/test/br_boleto/remessa/cnab400/itau_test.rb +173 -0
- data/test/br_boleto/remessa/cnab400/sicoob_test.rb +2 -2
- data/test/br_boleto/remessa/cnab400/sicredi_test.rb +241 -0
- data/test/br_boleto/remessa/cnab400/unicred_test.rb +169 -0
- data/test/br_boleto/retorno/cnab240/base_test.rb +20 -10
- data/test/br_boleto/retorno/cnab240/bradesco_test.rb +228 -0
- data/test/br_boleto/retorno/cnab240/caixa_test.rb +20 -10
- data/test/br_boleto/retorno/cnab240/cecred_test.rb +228 -0
- data/test/br_boleto/retorno/cnab240/itau_test.rb +228 -0
- data/test/br_boleto/retorno/cnab240/sicoob_test.rb +20 -10
- data/test/br_boleto/retorno/cnab240/sicredi_test.rb +228 -0
- data/test/br_boleto/retorno/cnab240/unicred_test.rb +228 -0
- data/test/br_boleto/retorno/cnab400/bradesco_test.rb +255 -0
- data/test/br_boleto/retorno/cnab400/itau_test.rb +96 -0
- data/test/br_boleto/retorno/cnab400/sicoob_test.rb +10 -5
- data/test/br_boleto/retorno/cnab400/sicredi_test.rb +7 -0
- data/test/br_boleto/retorno/cnab400/unicred.rb +255 -0
- data/test/br_boleto/retorno/pagamento_test.rb +7 -0
- data/test/factories/boleto/boleto_bradesco.rb +18 -0
- data/test/factories/boleto/boleto_cecred.rb +18 -0
- data/test/factories/boleto/boleto_itau.rb +18 -0
- data/test/factories/boleto/boleto_sicredi.rb +18 -0
- data/test/factories/boleto/boleto_unicred.rb +18 -0
- data/test/factories/conta/bradesco.rb +16 -0
- data/test/factories/conta/caixa.rb +2 -1
- data/test/factories/conta/cecred.rb +15 -0
- data/test/factories/conta/itau.rb +15 -0
- data/test/factories/conta/sicoob.rb +2 -1
- data/test/factories/conta/sicredi.rb +15 -0
- data/test/factories/conta/unicred.rb +15 -0
- data/test/factories/remessa/cnab240/bradesco.rb +9 -0
- data/test/factories/remessa/cnab240/cecred.rb +9 -0
- data/test/factories/remessa/cnab240/itau.rb +9 -0
- data/test/factories/remessa/cnab240/sicredi.rb +9 -0
- data/test/factories/remessa/cnab240/unicred.rb +9 -0
- data/test/factories/remessa/cnab400/bradesco.rb +8 -0
- data/test/factories/remessa/cnab400/itau.rb +8 -0
- data/test/factories/remessa/cnab400/sicredi.rb +8 -0
- data/test/factories/remessa/cnab400/unicred.rb +8 -0
- data/test/fixtures/remessa/cnab240/caixa.rem +8 -0
- data/test/fixtures/remessa/cnab240/cecred.rem +8 -0
- data/test/fixtures/remessa/cnab240/sicoob.rem +8 -8
- data/test/fixtures/remessa/cnab240/unicred.rem +7 -0
- data/test/fixtures/retorno/cnab400/bradesco.ret +8 -0
- data/test/fixtures/retorno/cnab400/itau.ret +54 -0
- metadata +138 -3
@@ -1,13 +1,13 @@
|
|
1
1
|
module Helper
|
2
2
|
module SegmentoPTest
|
3
|
-
def
|
3
|
+
def test_SegmentoP_Test_metodo_monta_segmento_p_deve_ter_o_conteudo_dos_metodos_na_sequencia
|
4
4
|
subject.stubs(:segmento_p_posicao_001_a_003).returns(" 001_a_003")
|
5
5
|
subject.stubs(:segmento_p_posicao_004_a_007).with(1).returns(" 004_a_007")
|
6
6
|
subject.stubs(:segmento_p_posicao_008_a_008).returns(" 008_a_008")
|
7
7
|
subject.stubs(:segmento_p_posicao_009_a_013).with(2).returns(" 009_a_013")
|
8
8
|
subject.stubs(:segmento_p_posicao_014_a_014).returns(" 014_a_014")
|
9
9
|
subject.stubs(:segmento_p_posicao_015_a_015).returns(" 015_a_015")
|
10
|
-
subject.stubs(:segmento_p_posicao_016_a_017).returns(" 016_a_017")
|
10
|
+
subject.stubs(:segmento_p_posicao_016_a_017).with(pagamento).returns(" 016_a_017")
|
11
11
|
subject.stubs(:segmento_p_posicao_018_a_022).returns(" 018_a_022")
|
12
12
|
subject.stubs(:segmento_p_posicao_023_a_023).returns(" 023_a_023")
|
13
13
|
subject.stubs(:segmento_p_posicao_024_a_057).with(pagamento).returns(" 024_a_057")
|
@@ -32,12 +32,12 @@ module Helper
|
|
32
32
|
subject.stubs(:segmento_p_posicao_151_a_165).with(pagamento).returns(" 151_a_165")
|
33
33
|
subject.stubs(:segmento_p_posicao_166_a_180).with(pagamento).returns(" 166_a_180")
|
34
34
|
subject.stubs(:segmento_p_posicao_181_a_195).with(pagamento).returns(" 181_a_195")
|
35
|
-
subject.stubs(:segmento_p_posicao_196_a_220).returns(" 196_a_220")
|
36
|
-
subject.stubs(:segmento_p_posicao_221_a_221).returns(" 221_a_221")
|
37
|
-
subject.stubs(:segmento_p_posicao_222_a_223).returns(" 222_a_223")
|
35
|
+
subject.stubs(:segmento_p_posicao_196_a_220).with(pagamento).returns(" 196_a_220")
|
36
|
+
subject.stubs(:segmento_p_posicao_221_a_221).with(pagamento).returns(" 221_a_221")
|
37
|
+
subject.stubs(:segmento_p_posicao_222_a_223).with(pagamento).returns(" 222_a_223")
|
38
38
|
subject.stubs(:segmento_p_posicao_224_a_224).returns(" 224_a_224")
|
39
39
|
subject.stubs(:segmento_p_posicao_225_a_227).returns(" 225_a_227")
|
40
|
-
subject.stubs(:segmento_p_posicao_228_a_229).returns(" 228_a_229")
|
40
|
+
subject.stubs(:segmento_p_posicao_228_a_229).with(pagamento).returns(" 228_a_229")
|
41
41
|
subject.stubs(:segmento_p_posicao_230_a_239).returns(" 230_a_239")
|
42
42
|
subject.stubs(:segmento_p_posicao_240_a_240).returns(" 240_a_240")
|
43
43
|
# Deve dar um upcase
|
@@ -48,7 +48,7 @@ module Helper
|
|
48
48
|
# 3 posições
|
49
49
|
# Por padrão deve retornar o "codigo_banco"
|
50
50
|
#
|
51
|
-
def
|
51
|
+
def test_SegmentoP_Test_metodo_segmento_p_posicao_001_a_003
|
52
52
|
subject.conta.expects(:codigo_banco).returns("669")
|
53
53
|
subject.segmento_p_posicao_001_a_003.must_equal("669")
|
54
54
|
end
|
@@ -60,7 +60,7 @@ module Helper
|
|
60
60
|
# 4 posições
|
61
61
|
# Padrão recebe o nro do lote por parametro e ajusta para 4 caracteres
|
62
62
|
#
|
63
|
-
def
|
63
|
+
def test_SegmentoP_Test_metodo_segmento_p_posicao_004_a_007
|
64
64
|
subject.segmento_p_posicao_004_a_007(5).to_s.rjust(4, '0')
|
65
65
|
end
|
66
66
|
|
@@ -68,7 +68,7 @@ module Helper
|
|
68
68
|
# 1 posição
|
69
69
|
# Por padrão retorna '3'
|
70
70
|
#
|
71
|
-
def
|
71
|
+
def test_SegmentoP_Test_metodo_segmento_p_posicao_008_a_008
|
72
72
|
subject.segmento_p_posicao_008_a_008.must_equal '3'
|
73
73
|
end
|
74
74
|
|
@@ -79,7 +79,7 @@ module Helper
|
|
79
79
|
# 5 posições
|
80
80
|
# recebe o sequencial por parâmetro e ajusta para 5 posições incluindo 0 na frente
|
81
81
|
#
|
82
|
-
def
|
82
|
+
def test_SegmentoP_Test_metodo_segmento_p_posicao_009_a_013
|
83
83
|
subject.segmento_p_posicao_009_a_013(88).must_equal '00088'
|
84
84
|
end
|
85
85
|
|
@@ -87,7 +87,7 @@ module Helper
|
|
87
87
|
# 1 posição
|
88
88
|
# Por padrão é a letra P
|
89
89
|
#
|
90
|
-
def
|
90
|
+
def test_SegmentoP_Test_metodo_segmento_p_posicao_014_a_014
|
91
91
|
subject.segmento_p_posicao_014_a_014.must_equal "P"
|
92
92
|
end
|
93
93
|
|
@@ -95,7 +95,7 @@ module Helper
|
|
95
95
|
# 1 posição
|
96
96
|
# Por padrão é valor em branco
|
97
97
|
#
|
98
|
-
def
|
98
|
+
def test_SegmentoP_Test_metodo_segmento_p_posicao_015_a_015
|
99
99
|
subject.segmento_p_posicao_015_a_015.must_equal ' '
|
100
100
|
end
|
101
101
|
|
@@ -103,15 +103,16 @@ module Helper
|
|
103
103
|
# 2 posições
|
104
104
|
# Por padrão é o valor '01'
|
105
105
|
#
|
106
|
-
def
|
107
|
-
|
106
|
+
def test_SegmentoP_Test_metodo_segmento_p_posicao_016_a_017#(pagamento)
|
107
|
+
pagamento.expects(:identificacao_ocorrencia).returns('01')
|
108
|
+
subject.segmento_p_posicao_016_a_017(pagamento).must_equal '01'
|
108
109
|
end
|
109
110
|
|
110
111
|
# Agência Mantenedora da Conta
|
111
112
|
# 5 posições
|
112
113
|
# Deve pegar a "agencia" e ajustar para 5 caracteres incluindo 0 na frente
|
113
114
|
#
|
114
|
-
def
|
115
|
+
def test_SegmentoP_Test_metodo_segmento_p_posicao_018_a_022
|
115
116
|
subject.conta.expects(:agencia).returns(89)
|
116
117
|
subject.segmento_p_posicao_018_a_022.must_equal '00089'
|
117
118
|
end
|
@@ -120,7 +121,7 @@ module Helper
|
|
120
121
|
# 1 posição
|
121
122
|
# Deve pegar o "digito_agencia"
|
122
123
|
#
|
123
|
-
def
|
124
|
+
def test_SegmentoP_Test_metodo_segmento_p_posicao_023_a_023
|
124
125
|
subject.conta.expects(:agencia_dv).returns(1)
|
125
126
|
subject.segmento_p_posicao_023_a_023.must_equal '1'
|
126
127
|
end
|
@@ -134,7 +135,7 @@ module Helper
|
|
134
135
|
# 34 posições
|
135
136
|
# Deve pegar o "complemento_p" passando o "pagamento" por parametro
|
136
137
|
#
|
137
|
-
def
|
138
|
+
def test_SegmentoP_Test_metodo_segmento_p_posicao_024_a_057
|
138
139
|
subject.expects(:complemento_p).with('pagamento').returns("complemento_p")
|
139
140
|
subject.segmento_p_posicao_024_a_057('pagamento').must_equal 'complemento_p'
|
140
141
|
end
|
@@ -143,8 +144,8 @@ module Helper
|
|
143
144
|
# 1 posição
|
144
145
|
# Deve pegar o valor do metodo "codigo_carteira"
|
145
146
|
#
|
146
|
-
def
|
147
|
-
subject.conta.expects(:
|
147
|
+
def test_SegmentoP_Test_metodo_segmento_p_posicao_058_a_058
|
148
|
+
subject.conta.expects(:codigo_carteira).returns('3')
|
148
149
|
subject.segmento_p_posicao_058_a_058.must_equal '3'
|
149
150
|
end
|
150
151
|
|
@@ -152,7 +153,7 @@ module Helper
|
|
152
153
|
# 1 posição
|
153
154
|
# Deve pegar o valor da "forma_cadastramento"
|
154
155
|
#
|
155
|
-
def
|
156
|
+
def test_SegmentoP_Test_metodo_segmento_p_posicao_059_a_059
|
156
157
|
pagamento.expects(:forma_cadastramento).returns('56')
|
157
158
|
subject.segmento_p_posicao_059_a_059(pagamento).must_equal '5'
|
158
159
|
end
|
@@ -161,7 +162,7 @@ module Helper
|
|
161
162
|
# 1 posição
|
162
163
|
# Retorna o valor '2' por padrão
|
163
164
|
#
|
164
|
-
def
|
165
|
+
def test_SegmentoP_Test_metodo_segmento_p_posicao_060_a_060
|
165
166
|
subject.segmento_p_posicao_060_a_060.must_equal '2'
|
166
167
|
end
|
167
168
|
|
@@ -169,18 +170,18 @@ module Helper
|
|
169
170
|
# 1 posição
|
170
171
|
# Deve pegar o valor do metodo "emissao_boleto"
|
171
172
|
#
|
172
|
-
def
|
173
|
-
pagamento.expects(:emissao_boleto).returns('
|
174
|
-
subject.segmento_p_posicao_061_a_061(pagamento).must_equal '
|
173
|
+
def test_SegmentoP_Test_metodo_segmento_p_posicao_061_a_061
|
174
|
+
pagamento.expects(:emissao_boleto).returns('3')
|
175
|
+
subject.segmento_p_posicao_061_a_061(pagamento).must_equal '3'
|
175
176
|
end
|
176
177
|
|
177
178
|
# Identificação da Distribuição
|
178
179
|
# 1 posição
|
179
180
|
# Deve pegar o valor do metodo "distribuicao_boleto"
|
180
181
|
#
|
181
|
-
def
|
182
|
-
pagamento.expects(:distribuicao_boleto).returns('
|
183
|
-
subject.segmento_p_posicao_062_a_062(pagamento).must_equal '
|
182
|
+
def test_SegmentoP_Test_metodo_segmento_p_posicao_062_a_062
|
183
|
+
pagamento.expects(:distribuicao_boleto).returns('2')
|
184
|
+
subject.segmento_p_posicao_062_a_062(pagamento).must_equal '2'
|
184
185
|
end
|
185
186
|
|
186
187
|
# Número do Documento de Cobrança
|
@@ -188,7 +189,7 @@ module Helper
|
|
188
189
|
# 15 Posições
|
189
190
|
# Deve retornar o valor do metodo "segmento_p_numero_do_documento" com o pagamento
|
190
191
|
#
|
191
|
-
def
|
192
|
+
def test_SegmentoP_Test_metodo_segmento_p_posicao_063_a_077#(pagamento)
|
192
193
|
subject.expects(:segmento_p_numero_do_documento).with('pagamento').returns('vpagamento')
|
193
194
|
subject.segmento_p_posicao_063_a_077('pagamento').must_equal 'vpagamento'
|
194
195
|
end
|
@@ -197,7 +198,7 @@ module Helper
|
|
197
198
|
# 8 posições
|
198
199
|
# Deve retornar a "data_vencimento" formatada do pagamento
|
199
200
|
#
|
200
|
-
def
|
201
|
+
def test_SegmentoP_Test_metodo_segmento_p_posicao_078_a_085#(pagamento)
|
201
202
|
pagamento.data_vencimento = Date.today
|
202
203
|
subject.segmento_p_posicao_078_a_085(pagamento).must_equal Date.today.strftime('%d%m%Y')
|
203
204
|
end
|
@@ -206,7 +207,7 @@ module Helper
|
|
206
207
|
# 15 posições (13 posições para valor inteiro e 2 posições para valor quebrado)
|
207
208
|
# Deve retornar o "valor_documento_formatado" com 15 posições
|
208
209
|
#
|
209
|
-
def
|
210
|
+
def test_SegmentoP_Test_metodo_segmento_p_posicao_086_a_100#(pagamento)
|
210
211
|
pagamento.expects(:valor_documento_formatado).with(15).returns("123456789")
|
211
212
|
subject.segmento_p_posicao_086_a_100(pagamento).must_equal '123456789'
|
212
213
|
end
|
@@ -215,7 +216,7 @@ module Helper
|
|
215
216
|
# 5 posições
|
216
217
|
# Por padrão é 5 posições em branco
|
217
218
|
#
|
218
|
-
def
|
219
|
+
def test_SegmentoP_Test_metodo_segmento_p_posicao_101_a_105
|
219
220
|
subject.segmento_p_posicao_101_a_105.must_equal ''.rjust(5, '0')
|
220
221
|
end
|
221
222
|
|
@@ -223,7 +224,7 @@ module Helper
|
|
223
224
|
# 1 posição
|
224
225
|
# Padrão é valor em branco
|
225
226
|
#
|
226
|
-
def
|
227
|
+
def test_SegmentoP_Test_metodo_segmento_p_posicao_106_a_106
|
227
228
|
subject.segmento_p_posicao_106_a_106.must_equal ' '
|
228
229
|
end
|
229
230
|
|
@@ -231,16 +232,19 @@ module Helper
|
|
231
232
|
# 2 posições
|
232
233
|
# Deve retornar o valro do metodo "especie_titulo"
|
233
234
|
#
|
234
|
-
def
|
235
|
+
def test_SegmentoP_Test_metodo_segmento_p_posicao_107_a_108
|
236
|
+
pagamento.expects(:especie_titulo).returns('01')
|
237
|
+
subject.segmento_p_posicao_107_a_108(pagamento).must_equal '01'
|
238
|
+
|
235
239
|
pagamento.expects(:especie_titulo).returns('123')
|
236
|
-
subject.segmento_p_posicao_107_a_108(pagamento).must_equal '
|
240
|
+
subject.segmento_p_posicao_107_a_108(pagamento).must_equal '99'
|
237
241
|
end
|
238
242
|
|
239
243
|
# Identific. de Título Aceito/Não Aceito (A ou N)
|
240
244
|
# 1 posição
|
241
245
|
# Deve retornar o valor do "aceite"
|
242
246
|
#
|
243
|
-
def
|
247
|
+
def test_SegmentoP_Test_metodo_segmento_p_posicao_109_a_109
|
244
248
|
pagamento.aceite = true
|
245
249
|
subject.segmento_p_posicao_109_a_109(pagamento).must_equal 'A'
|
246
250
|
pagamento.aceite = false
|
@@ -251,32 +255,24 @@ module Helper
|
|
251
255
|
# 8 posições
|
252
256
|
# deve pegar a "data_emissao" do pagamento e formatar
|
253
257
|
#
|
254
|
-
def
|
258
|
+
def test_SegmentoP_Test_metodo_segmento_p_posicao_110_a_117#(pagamento)
|
255
259
|
pagamento.data_emissao = Date.today
|
256
260
|
subject.segmento_p_posicao_110_a_117(pagamento).must_equal Date.today.strftime('%d%m%Y')
|
257
261
|
end
|
258
262
|
|
259
263
|
# Código do Juros de Mora
|
260
264
|
# 1 posição
|
261
|
-
# Por padrão é o valor '
|
265
|
+
# Por padrão é o valor '3'
|
262
266
|
#
|
263
|
-
def
|
264
|
-
subject.segmento_p_posicao_118_a_118(pagamento).must_equal '3'
|
265
|
-
end
|
266
|
-
def test_SegmentoPTest_metodo_segmento_p_posicao_118_a_118_aceita_apenas_1_2_ou_3_com_padrao_3
|
267
|
-
pagamento.codigo_juros = '1'
|
268
|
-
subject.segmento_p_posicao_118_a_118(pagamento).must_equal '1'
|
269
|
-
pagamento.codigo_juros = '2'
|
270
|
-
subject.segmento_p_posicao_118_a_118(pagamento).must_equal '2'
|
267
|
+
def test_SegmentoP_Test_metodo_segmento_p_posicao_118_a_118_deve_pegar_o_codigo_atraves_do_metodo_get_codigo_juros
|
271
268
|
pagamento.codigo_juros = '3'
|
272
|
-
subject.
|
269
|
+
subject.conta.expects(:get_codigo_juros).with('3').returns('0')
|
270
|
+
subject.segmento_p_posicao_118_a_118(pagamento).must_equal '0'
|
271
|
+
end
|
273
272
|
|
273
|
+
def test_SegmentoP_Test_metodo_segmento_p_posicao_118_a_118_deve_setar_por_padrao_o_valor_3_se_estiver_vazio
|
274
274
|
pagamento.codigo_juros = nil
|
275
|
-
subject.
|
276
|
-
|
277
|
-
pagamento.codigo_juros = '4'
|
278
|
-
subject.segmento_p_posicao_118_a_118(pagamento).must_equal '3'
|
279
|
-
pagamento.codigo_juros = '0'
|
275
|
+
subject.conta.expects(:get_codigo_juros).with(nil).returns('')
|
280
276
|
subject.segmento_p_posicao_118_a_118(pagamento).must_equal '3'
|
281
277
|
end
|
282
278
|
|
@@ -284,7 +280,7 @@ module Helper
|
|
284
280
|
# 8 posições
|
285
281
|
# Por padrão é 8 posições em branco
|
286
282
|
#
|
287
|
-
def
|
283
|
+
def test_SegmentoP_Test_metodo_segmento_p_posicao_119_a_126#(pagamento)
|
288
284
|
pagamento.expects(:data_juros_formatado).with('%d%m%Y').returns('1234567890')
|
289
285
|
subject.segmento_p_posicao_119_a_126(pagamento).must_equal '12345678'
|
290
286
|
end
|
@@ -293,7 +289,7 @@ module Helper
|
|
293
289
|
# 15 posições
|
294
290
|
# Por padrão é 15 posições em branco
|
295
291
|
#
|
296
|
-
def
|
292
|
+
def test_SegmentoP_Test_metodo_segmento_p_posicao_127_a_141#(pagamento)
|
297
293
|
pagamento.expects(:valor_juros_formatado).with(15).returns('123456')
|
298
294
|
subject.segmento_p_posicao_127_a_141(pagamento).must_equal '123456'
|
299
295
|
end
|
@@ -302,8 +298,8 @@ module Helper
|
|
302
298
|
# 1 posição
|
303
299
|
# Deve pegar o "cod_desconto" do pagamento
|
304
300
|
#
|
305
|
-
def
|
306
|
-
pagamento.expects(:cod_desconto).returns('
|
301
|
+
def test_SegmentoP_Test_metodo_segmento_p_posicao_142_a_142#(pagamento)
|
302
|
+
pagamento.expects(:cod_desconto).returns('1')
|
307
303
|
subject.segmento_p_posicao_142_a_142(pagamento).must_equal '1'
|
308
304
|
end
|
309
305
|
|
@@ -311,7 +307,7 @@ module Helper
|
|
311
307
|
# 8 posições
|
312
308
|
# Deve retornar a "data_desconto_formatado" com formato ddmmyyyy do pagamento
|
313
309
|
#
|
314
|
-
def
|
310
|
+
def test_SegmentoP_Test_metodo_segmento_p_posicao_143_a_150#(pagamento)
|
315
311
|
pagamento.expects(:data_desconto_formatado).with('%d%m%Y').returns('12345678')
|
316
312
|
subject.segmento_p_posicao_143_a_150(pagamento).must_equal '12345678'
|
317
313
|
end
|
@@ -320,7 +316,7 @@ module Helper
|
|
320
316
|
# 15 posições
|
321
317
|
# Deve trazer o 'valor_desconto_formatado' com 15 posições do pagamento
|
322
318
|
#
|
323
|
-
def
|
319
|
+
def test_SegmentoP_Test_metodo_segmento_p_posicao_151_a_165#(pagamento)
|
324
320
|
pagamento.expects(:valor_desconto_formatado).with(15).returns('132')
|
325
321
|
subject.segmento_p_posicao_151_a_165(pagamento).must_equal '132'
|
326
322
|
end
|
@@ -329,7 +325,7 @@ module Helper
|
|
329
325
|
# 15 posições
|
330
326
|
# Deve retornar o "valor_iof_formatado" com 15 posições do pagamento
|
331
327
|
#
|
332
|
-
def
|
328
|
+
def test_SegmentoP_Test_metodo_segmento_p_posicao_166_a_180#(pagamento)
|
333
329
|
pagamento.expects(:valor_iof_formatado).with(15).returns('123')
|
334
330
|
subject.segmento_p_posicao_166_a_180(pagamento).must_equal '123'
|
335
331
|
end
|
@@ -338,7 +334,7 @@ module Helper
|
|
338
334
|
# 15 posições
|
339
335
|
# Deve retornar o "valor_abatimento_formatado" com 15 posições do pagamento
|
340
336
|
#
|
341
|
-
def
|
337
|
+
def test_SegmentoP_Test_metodo_segmento_p_posicao_181_a_195#(pagamento)
|
342
338
|
pagamento.expects(:valor_abatimento_formatado).with(15).returns('123')
|
343
339
|
subject.segmento_p_posicao_181_a_195(pagamento).must_equal '123'
|
344
340
|
end
|
@@ -347,7 +343,7 @@ module Helper
|
|
347
343
|
# 25 posições
|
348
344
|
# Deve retornar 25 posições em branco
|
349
345
|
#
|
350
|
-
def
|
346
|
+
def test_SegmentoP_Test_metodo_segmento_p_posicao_196_a_220
|
351
347
|
subject.segmento_p_posicao_196_a_220(pagamento).must_equal ''.rjust(25, ' ')
|
352
348
|
end
|
353
349
|
|
@@ -355,23 +351,33 @@ module Helper
|
|
355
351
|
# 1 posição
|
356
352
|
# Por padrão é o valor '1'
|
357
353
|
#
|
358
|
-
def
|
359
|
-
|
354
|
+
def test_SegmentoP_Test_metodo_segmento_p_posicao_221_a_221#(pagamento)
|
355
|
+
pagamento.expects(:codigo_protesto).returns('1')
|
356
|
+
subject.segmento_p_posicao_221_a_221(pagamento) .must_equal '1'
|
360
357
|
end
|
361
358
|
|
362
359
|
# Número de Dias para Protesto
|
363
360
|
# 2 posições
|
364
|
-
#
|
361
|
+
# Para os códigos '3' = Não Protestar e '8' = Negativação sem Protesto,
|
362
|
+
# setar dias de protesto '00', caso contrário setar o valor de dias_protesto
|
365
363
|
#
|
366
|
-
def
|
367
|
-
|
364
|
+
def test_SegmentoP_Test_metodo_segmento_p_posicao_222_a_223#(pagamento)
|
365
|
+
pagamento.expects(:codigo_protesto).returns('3')
|
366
|
+
subject.segmento_p_posicao_222_a_223(pagamento).must_equal '00'
|
367
|
+
pagamento.expects(:codigo_protesto).returns('8')
|
368
|
+
subject.segmento_p_posicao_222_a_223(pagamento).must_equal '00'
|
369
|
+
|
370
|
+
pagamento.expects(:codigo_protesto).returns('1')
|
371
|
+
subject.segmento_p_posicao_222_a_223(pagamento).must_equal '03'
|
372
|
+
pagamento.expects(:codigo_protesto).returns('2')
|
373
|
+
subject.segmento_p_posicao_222_a_223(pagamento).must_equal '03'
|
368
374
|
end
|
369
375
|
|
370
376
|
# Código para Baixa/Devolução
|
371
377
|
# 1 posição
|
372
378
|
# Por padrão é o valor '0'
|
373
379
|
#
|
374
|
-
def
|
380
|
+
def test_SegmentoP_Test_metodo_segmento_p_posicao_224_a_224
|
375
381
|
subject.segmento_p_posicao_224_a_224.must_equal '0'
|
376
382
|
end
|
377
383
|
|
@@ -379,7 +385,7 @@ module Helper
|
|
379
385
|
# 3 posoções
|
380
386
|
# Por padrão é o valor '000'
|
381
387
|
#
|
382
|
-
def
|
388
|
+
def test_SegmentoP_Test_metodo_segmento_p_posicao_225_a_227
|
383
389
|
subject.segmento_p_posicao_225_a_227.must_equal '000'
|
384
390
|
end
|
385
391
|
|
@@ -387,15 +393,16 @@ module Helper
|
|
387
393
|
# 2 posições
|
388
394
|
# Por padrão é o valor '09'
|
389
395
|
#
|
390
|
-
def
|
391
|
-
|
396
|
+
def test_SegmentoP_Test_metodo_segmento_p_posicao_228_a_229
|
397
|
+
pagamento.expects(:codigo_moeda).returns('09')
|
398
|
+
subject.segmento_p_posicao_228_a_229(pagamento).must_equal '09'
|
392
399
|
end
|
393
400
|
|
394
401
|
# Nº do Contrato da Operação de Crédito (Uso do banco)
|
395
402
|
# 10 posições
|
396
403
|
# Por padrão é 10 pposições em branco
|
397
404
|
#
|
398
|
-
def
|
405
|
+
def test_SegmentoP_Test_metodo_segmento_p_posicao_230_a_239
|
399
406
|
subject.segmento_p_posicao_230_a_239.must_equal ''.rjust(10, '0')
|
400
407
|
end
|
401
408
|
|
@@ -403,7 +410,7 @@ module Helper
|
|
403
410
|
# 1 posição
|
404
411
|
# Por padrão é 1 campo em branco
|
405
412
|
#
|
406
|
-
def
|
413
|
+
def test_SegmentoP_Test_metodo_segmento_p_posicao_240_a_240
|
407
414
|
subject.segmento_p_posicao_240_a_240.must_equal ' '
|
408
415
|
end
|
409
416
|
end
|
@@ -7,7 +7,7 @@ module Helper
|
|
7
7
|
subject.stubs(:segmento_q_posicao_009_a_013).with(2).returns( " 009_a_013")
|
8
8
|
subject.stubs(:segmento_q_posicao_014_a_014).returns( " 014_a_014")
|
9
9
|
subject.stubs(:segmento_q_posicao_015_a_015).returns( " 015_a_015")
|
10
|
-
subject.stubs(:segmento_q_posicao_016_a_017).returns(
|
10
|
+
subject.stubs(:segmento_q_posicao_016_a_017).with(pagamento).returns(" 016_a_017")
|
11
11
|
subject.stubs(:segmento_q_posicao_018_a_018).with(pagamento).returns(" 018_a_018")
|
12
12
|
subject.stubs(:segmento_q_posicao_019_a_033).with(pagamento).returns(" 019_a_033")
|
13
13
|
subject.stubs(:segmento_q_posicao_034_a_073).with(pagamento).returns(" 034_a_073")
|
@@ -83,8 +83,9 @@ module Helper
|
|
83
83
|
# 2 posições
|
84
84
|
# Por padrão é o valor '01'
|
85
85
|
#
|
86
|
-
def test_SegmentoQTest_metodo_segmento_q_posicao_016_a_017
|
87
|
-
|
86
|
+
def test_SegmentoQTest_metodo_segmento_q_posicao_016_a_017#(pagamento)
|
87
|
+
pagamento.expects(:identificacao_ocorrencia).returns('01')
|
88
|
+
subject.segmento_p_posicao_016_a_017(pagamento).must_equal '01'
|
88
89
|
end
|
89
90
|
|
90
91
|
# Tipo de Inscrição (1=CPF 2=CNPJ)
|
@@ -7,7 +7,7 @@ module Helper
|
|
7
7
|
subject.stubs(:segmento_r_posicao_009_a_013).with(2).returns( ' 009_a_013')
|
8
8
|
subject.stubs(:segmento_r_posicao_014_a_014).returns( ' 014_a_014')
|
9
9
|
subject.stubs(:segmento_r_posicao_015_a_015).returns( ' 015_a_015')
|
10
|
-
subject.stubs(:segmento_r_posicao_016_a_017).returns(
|
10
|
+
subject.stubs(:segmento_r_posicao_016_a_017).with(pagamento).returns(' 016_a_017')
|
11
11
|
subject.stubs(:segmento_r_posicao_018_a_018).with(pagamento).returns(' 018_a_018')
|
12
12
|
subject.stubs(:segmento_r_posicao_019_a_026).with(pagamento).returns(' 019_a_026')
|
13
13
|
subject.stubs(:segmento_r_posicao_027_a_041).with(pagamento).returns(' 027_a_041')
|
@@ -89,8 +89,9 @@ module Helper
|
|
89
89
|
# Código de Movimento Remessa - 01 = Entrada de Titulos
|
90
90
|
# 2 posições
|
91
91
|
#
|
92
|
-
def test_SegmentoRHelper_metodo_segmento_r_posicao_016_a_017
|
93
|
-
|
92
|
+
def test_SegmentoRHelper_metodo_segmento_r_posicao_016_a_017#(pagamento)
|
93
|
+
pagamento.expects(:identificacao_ocorrencia).returns('01')
|
94
|
+
subject.segmento_r_posicao_016_a_017(pagamento).must_equal '01'
|
94
95
|
end
|
95
96
|
|
96
97
|
# Código do desconto 2
|
@@ -144,24 +145,15 @@ module Helper
|
|
144
145
|
# Codigo da multa - (0 = isento, 1 = Valor fixo e 2 = Percentual)
|
145
146
|
# 1 posição
|
146
147
|
#
|
147
|
-
def
|
148
|
-
pagamento.expects(:codigo_multa).returns('11111111')
|
149
|
-
subject.segmento_r_posicao_066_a_066(pagamento).must_equal '1'
|
150
|
-
end
|
151
|
-
def test_SegmentoRHelper_metodo_segmento_r_posicao_066_a_066_aceita_apenas_1_2_ou_3_com_padrao_3
|
152
|
-
pagamento.codigo_multa = '1'
|
153
|
-
subject.segmento_r_posicao_066_a_066(pagamento).must_equal '1'
|
154
|
-
pagamento.codigo_multa = '2'
|
155
|
-
subject.segmento_r_posicao_066_a_066(pagamento).must_equal '2'
|
148
|
+
def test_SegmentoRHelper_metodo_segmento_r_posicao_066_a_066_deve_pegar_o_codigo_atraves_do_metodo_get_codigo_multa
|
156
149
|
pagamento.codigo_multa = '3'
|
157
|
-
subject.
|
150
|
+
subject.conta.expects(:get_codigo_multa).with('3').returns('0')
|
151
|
+
subject.segmento_r_posicao_066_a_066(pagamento).must_equal '0'
|
152
|
+
end
|
158
153
|
|
154
|
+
def test_SegmentoRHelper_metodo_segmento_r_posicao_066_a_066_deve_setar_por_padrao_o_valor_3_se_estiver_vazio
|
159
155
|
pagamento.codigo_multa = nil
|
160
|
-
subject.
|
161
|
-
|
162
|
-
pagamento.codigo_multa = '4'
|
163
|
-
subject.segmento_r_posicao_066_a_066(pagamento).must_equal '3'
|
164
|
-
pagamento.codigo_multa = '0'
|
156
|
+
subject.conta.expects(:get_codigo_multa).with(nil).returns('')
|
165
157
|
subject.segmento_r_posicao_066_a_066(pagamento).must_equal '3'
|
166
158
|
end
|
167
159
|
|
@@ -8,7 +8,7 @@ module Helper
|
|
8
8
|
subject.stubs(:segmento_s_posicao_009_a_013).with(2).returns( " 009_a_013")
|
9
9
|
subject.stubs(:segmento_s_posicao_014_a_014).returns( " 014_a_014")
|
10
10
|
subject.stubs(:segmento_s_posicao_015_a_015).returns( " 015_a_015")
|
11
|
-
subject.stubs(:segmento_s_posicao_016_a_017).returns(
|
11
|
+
subject.stubs(:segmento_s_posicao_016_a_017).with(pagamento).returns(" 016_a_017")
|
12
12
|
subject.stubs(:segmento_s_posicao_018_a_018).with(pagamento).returns(" 018_a_018")
|
13
13
|
|
14
14
|
subject.expects(:segmento_s_tipo_impressao_1_ou_2).with(pagamento).returns(" 999")
|
@@ -24,7 +24,7 @@ module Helper
|
|
24
24
|
subject.stubs(:segmento_s_posicao_009_a_013).with(2).returns( " 009_a_013")
|
25
25
|
subject.stubs(:segmento_s_posicao_014_a_014).returns( " 014_a_014")
|
26
26
|
subject.stubs(:segmento_s_posicao_015_a_015).returns( " 015_a_015")
|
27
|
-
subject.stubs(:segmento_s_posicao_016_a_017).returns(
|
27
|
+
subject.stubs(:segmento_s_posicao_016_a_017).with(pagamento).returns(" 016_a_017")
|
28
28
|
subject.stubs(:segmento_s_posicao_018_a_018).with(pagamento).returns(" 018_a_018")
|
29
29
|
|
30
30
|
subject.expects(:segmento_s_tipo_impressao_1_ou_2).with(pagamento).returns(" 888")
|
@@ -40,7 +40,7 @@ module Helper
|
|
40
40
|
subject.stubs(:segmento_s_posicao_009_a_013).with(2).returns( " 009_a_013")
|
41
41
|
subject.stubs(:segmento_s_posicao_014_a_014).returns( " 014_a_014")
|
42
42
|
subject.stubs(:segmento_s_posicao_015_a_015).returns( " 015_a_015")
|
43
|
-
subject.stubs(:segmento_s_posicao_016_a_017).returns(
|
43
|
+
subject.stubs(:segmento_s_posicao_016_a_017).with(pagamento).returns(" 016_a_017")
|
44
44
|
subject.stubs(:segmento_s_posicao_018_a_018).with(pagamento).returns(" 018_a_018")
|
45
45
|
|
46
46
|
subject.expects(:segmento_s_tipo_impressao_3).with(pagamento).returns(" 777")
|
@@ -109,8 +109,9 @@ module Helper
|
|
109
109
|
# Código de Movimento Remessa - 01 = Entrada de Titulos
|
110
110
|
# 2 posições
|
111
111
|
#
|
112
|
-
def test_SegmentoSHelper_metodo_segmento_s_posicao_016_a_017
|
113
|
-
|
112
|
+
def test_SegmentoSHelper_metodo_segmento_s_posicao_016_a_017#(pagamento)
|
113
|
+
pagamento.expects(:identificacao_ocorrencia).returns('01')
|
114
|
+
subject.segmento_s_posicao_016_a_017(pagamento).must_equal '01'
|
114
115
|
end
|
115
116
|
|
116
117
|
# Tipo de impressão
|