package org.jrimum.bopepo.view.info.campo.caixa;

import static org.junit.Assert.assertEquals;
import static org.mockito.Mockito.mock;

import org.jrimum.bopepo.Boleto;
import org.jrimum.bopepo.excludes.BoletoBuilder;
import org.jrimum.bopepo.view.ResourceBundle;
import org.jrimum.domkee.financeiro.banco.febraban.TipoDeCobranca;
import org.junit.Before;
import org.junit.Test;

/**
 * @author Rômulo Augusto
 */
public class TestBoletoInfoViewCaixaSIGCB {
	
	private static final int CARTEIRA_COBRANCA_RAPIDA = 1;
	private static final int CARTEIRA_SEM_REGISTRO = 2;
	private static final String EMISSAO_BENEFICIARIO = "4";
	private static final String NOSSO_NUMERO = "000000000000019";
	private static final String DIGITO_NOSSO_NUMERO = "5";
	
	private BoletoInfoViewCaixaSIGCB view;
	
	private Boleto boleto;
	
	@Before
	public void setUp() {
		boleto = BoletoBuilder.defaultValue();
		boleto.getTitulo().setNossoNumero(NOSSO_NUMERO);
		boleto.getTitulo().setDigitoDoNossoNumero(DIGITO_NOSSO_NUMERO);

		view = new BoletoInfoViewCaixaSIGCB(mock(ResourceBundle.class), boleto);
	}

	@Test
	public void deve_retornar_nosso_numero_no_formato_correto_para_carteira_cobranca_rapida() {
		boleto.getTitulo().getContaBancaria().getCarteira().setCodigo(CARTEIRA_COBRANCA_RAPIDA);
		
		assertEquals(CARTEIRA_COBRANCA_RAPIDA + EMISSAO_BENEFICIARIO + NOSSO_NUMERO + "-" + DIGITO_NOSSO_NUMERO, view.getTextoFcNossoNumero());
		assertEquals(CARTEIRA_COBRANCA_RAPIDA + EMISSAO_BENEFICIARIO + NOSSO_NUMERO + "-" + DIGITO_NOSSO_NUMERO, view.getTextoRsNossoNumero());
	}
	
	@Test
	public void deve_retornar_nosso_numero_no_formato_correto_para_carteira_sem_registro() {
		boleto.getTitulo().getContaBancaria().getCarteira().setCodigo(CARTEIRA_SEM_REGISTRO);
		
		assertEquals(CARTEIRA_SEM_REGISTRO + EMISSAO_BENEFICIARIO + NOSSO_NUMERO + "-" + DIGITO_NOSSO_NUMERO, view.getTextoFcNossoNumero());
		assertEquals(CARTEIRA_SEM_REGISTRO + EMISSAO_BENEFICIARIO + NOSSO_NUMERO + "-" + DIGITO_NOSSO_NUMERO, view.getTextoRsNossoNumero());
	}
	
	@Test
	public void deve_retornar_carteira_rg_para_cobranca_rapida() {
		boleto.getTitulo().getContaBancaria().getCarteira().setTipoCobranca(TipoDeCobranca.COM_REGISTRO);
		assertEquals("RG", view.getTextoFcCarteira());
	}
	
	@Test
	public void deve_retornar_carteira_sr_para_carteira_sem_registro() {
		boleto.getTitulo().getContaBancaria().getCarteira().setTipoCobranca(TipoDeCobranca.SEM_REGISTRO);
		assertEquals("SR", view.getTextoFcCarteira());
	}
}

@@ -505,29 +505,24 @@
 ARTEIRA_
-COBRANCA_RAPI
+REGISTRA
 DA = 1;%0D
@@ -1190,29 +1190,24 @@
 arteira_
-cobranca_rapi
+registra
 da() %7B%0D%0A
@@ -1279,29 +1279,24 @@
 ARTEIRA_
-COBRANCA_RAPI
+REGISTRA
 DA);%0D%0A%09%09
@@ -1317,37 +1317,32 @@
 ls(CARTEIRA_
-COBRANCA_RAPI
+REGISTRA
 DA + EMISSAO
@@ -1459,21 +1459,16 @@
 IRA_
-COBRANCA_RAPI
+REGISTRA
 DA +
@@ -2099,21 +2099,16 @@
 ara_
-cobranca_rapi
+registra
 da()

mudança de nomenclatura da cobrança registrada