br_boleto 2.0.1 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|