spec/brcobranca/remessa/cnab400/santander_spec.rb in brcobranca-6.1.7 vs spec/brcobranca/remessa/cnab400/santander_spec.rb in brcobranca-6.1.8
- old
+ new
@@ -17,10 +17,11 @@
let(:params) do
{
codigo_transmissao: '17777751042700080112',
empresa_mae: 'SOCIEDADE BRASILEIRA DE ZOOLOGIA LTDA',
documento_cedente: '12345678910',
+ agencia: '8888',
pagamentos: [pagamento]
}
end
let(:santander) { subject.class.new(params) }
@@ -76,14 +77,18 @@
it 'nome_banco deve ser SANTANDER' do
nome_banco = santander.nome_banco
expect(nome_banco.strip).to eq 'SANTANDER'
end
- it 'complemento deve retornar 294 caracteres' do
- expect(santander.complemento.size).to eq 294
+ it 'complemento deve retornar 275 caracteres' do
+ expect(santander.complemento.size).to eq 275
end
+ it 'complemento zeros deve retornar 16 caracteres' do
+ expect(santander.complemento_zeros.size).to eq 16
+ end
+
it 'info_conta deve retornar com 20 posicoes as informacoes da conta' do
info_conta = santander.info_conta
expect(info_conta.size).to eq 20
expect(info_conta[0..19]).to eq '17777751042700080112' # codigo_transmissao
end
@@ -108,9 +113,24 @@
expect(detalhe[62..69]).to eq '00000123' # nosso numero
expect(detalhe[120..125]).to eq Date.today.strftime('%d%m%y') # data de vencimento
expect(detalhe[126..138]).to eq '0000000019990' # valor do titulo
expect(detalhe[220..233]).to eq '00012345678901' # documento do pagador
expect(detalhe[234..263]).to eq 'PABLO DIEGO JOSE FRANCISCO DE ' # nome do pagador
+ end
+ end
+
+ context 'trailer' do
+ it 'trailer deve ter 400 posicoes' do
+ expect(santander.monta_trailer(1).size).to eq 400
+ end
+
+ it 'informacoes devem estar posicionadas corretamente no trailer' do
+ trailer = santander.monta_trailer 3
+ expect(trailer[0]).to eq '9' # identificacao registro
+ expect(trailer[1..6]).to eq '000003' # numero de linhas
+ expect(trailer[7..19]).to eq '0000000019990' # valor total
+ expect(trailer[20..393]).to eq ''.rjust(374, '0') # zeros
+ expect(trailer[394..399]).to eq '000003' # numero sequencial do registro
end
end
context 'arquivo' do
before { Timecop.freeze(Time.local(2015, 7, 14, 16, 15, 15)) }