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)) }