Skip to content

Commit

Permalink
altera regra de estimativa valida e cria metodo para ver se tem mensa…
Browse files Browse the repository at this point in the history
…gem atencao
  • Loading branch information
Gabriel Lima Gomes authored and elo7-developer committed Jun 9, 2017
1 parent 41b21c3 commit f790cc3
Show file tree
Hide file tree
Showing 4 changed files with 127 additions and 6 deletions.
17 changes: 14 additions & 3 deletions src/main/java/br/com/correios/estimativa/EstimativaComPrazo.java
Original file line number Diff line number Diff line change
Expand Up @@ -95,15 +95,26 @@ public void setMensagemErro(String mensagemErro) {
}

/**
* @return se uma estimativa esta valida, ou seja, nao possui nenhum erro
* retornado pelo calculador
* @return se uma estimativa esta valida, ou seja, possui um prazo de entrega valido
*/
public boolean isEstimativaValida() {
return StringUtils.isBlank(codigoErro) || "0".equals(codigoErro);
return !temMensagemErro() || prazoEntrega != 0;
}

/**
* @return Se uma estimativa possui uma mensagem de atencao,
* porem <b>ainda esta valida</b>
*/
public boolean possuiMensagemAtencao() {
return temMensagemErro() && prazoEntrega != 0;
}

@Override
public String toString() {
return ToStringBuilder.reflectionToString(this, ToStringStyle.SHORT_PREFIX_STYLE);
}

private boolean temMensagemErro() {
return StringUtils.isNotBlank(codigoErro) && !"0".equals(codigoErro);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -147,16 +147,27 @@ public void setMensagemErro(String mensagemErro) {
}

/**
* @return se uma estimativa esta valida, ou seja, nao possui nenhum erro
* retornado pelo calculador
* @return se uma estimativa esta valida, ou seja, possui um prazo de entrega valido
*/
public boolean isEstimativaValida() {
return StringUtils.isBlank(codigoErro) || "0".equals(codigoErro);
return !temMensagemErro() || prazoEntrega != 0;
}

/**
* @return Se uma estimativa possui uma mensagem de atencao,
* porem ainda esta valida
*/
public boolean possuiMensagemAtencao() {
return temMensagemErro() && prazoEntrega != 0;
}

@Override
public String toString() {
return ToStringBuilder.reflectionToString(this, ToStringStyle.SHORT_PREFIX_STYLE);
}

private boolean temMensagemErro() {
return StringUtils.isNotBlank(codigoErro) && !"0".equals(codigoErro);
}

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
package br.com.correios.estimativa;

import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;

import org.junit.Before;
import org.junit.Test;

public class EstimativaComPrazoTest {

private EstimativaComPrazo estimativaComPrazo;

@Before
public void setUp() {
estimativaComPrazo = new EstimativaComPrazo();
}

@Test
public void deveriaMostrarEstimativaInvalidaESemMensagemDeAtencaoQuandoPrazoDeEntregaForZeroETiverMensagemErro() {
estimativaComPrazo.setPrazoEntrega(0);
estimativaComPrazo.setCodigoErro("001");
estimativaComPrazo.setMensagemErro("Codigo de servico invalido.");

assertFalse(estimativaComPrazo.isEstimativaValida());
assertFalse(estimativaComPrazo.possuiMensagemAtencao());
}

@Test
public void deveriaMostrarEstimativaValidaEComMensagemDeAtencaoQuandoPrazoDeEntregaForValidoETiverMensagemErro() {
estimativaComPrazo.setPrazoEntrega(5);
estimativaComPrazo.setCodigoErro("010");
estimativaComPrazo.setMensagemErro("Area de Risco");

assertTrue(estimativaComPrazo.isEstimativaValida());
assertTrue(estimativaComPrazo.possuiMensagemAtencao());
}

@Test
public void deveriaMostrarEstimativaValidaESemMensagemDeAtencaoQuandoPrazoDeEntregaForValidoENaoTiverMensagemErro() {
estimativaComPrazo.setPrazoEntrega(5);
estimativaComPrazo.setCodigoErro("0");
estimativaComPrazo.setMensagemErro("");

assertTrue(estimativaComPrazo.isEstimativaValida());
assertFalse(estimativaComPrazo.possuiMensagemAtencao());
}

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
package br.com.correios.estimativa;

import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;

import org.junit.Before;
import org.junit.Test;

public class EstimativaComPrecoEPrazoTest {

private EstimativaComPrecoEPrazo estimativaComPrecoEPrazo;

@Before
public void setUp() {
estimativaComPrecoEPrazo = new EstimativaComPrecoEPrazo();
}

@Test
public void deveriaMostrarEstimativaInvalidaESemMensagemDeAtencaoQuandoPrazoDeEntregaForZeroETiverMensagemErro() {
estimativaComPrecoEPrazo.setValor("0");
estimativaComPrecoEPrazo.setPrazoEntrega(0);
estimativaComPrecoEPrazo.setCodigoErro("001");
estimativaComPrecoEPrazo.setMensagemErro("Codigo de servico invalido.");

assertFalse(estimativaComPrecoEPrazo.isEstimativaValida());
assertFalse(estimativaComPrecoEPrazo.possuiMensagemAtencao());
}

@Test
public void deveriaMostrarEstimativaValidaEComMensagemDeAtencaoQuandoPrazoDeEntregaForValidoETiverMensagemErro() {
estimativaComPrecoEPrazo.setValor("17,20");
estimativaComPrecoEPrazo.setPrazoEntrega(5);
estimativaComPrecoEPrazo.setCodigoErro("010");
estimativaComPrecoEPrazo.setMensagemErro("Area de Risco");

assertTrue(estimativaComPrecoEPrazo.isEstimativaValida());
assertTrue(estimativaComPrecoEPrazo.possuiMensagemAtencao());
}

@Test
public void deveriaMostrarEstimativaValidaESemMensagemDeAtencaoQuandoPrazoDeEntregaForValidoENaoTiverMensagemErro() {
estimativaComPrecoEPrazo.setValor("17,20");
estimativaComPrecoEPrazo.setPrazoEntrega(5);
estimativaComPrecoEPrazo.setCodigoErro("0");
estimativaComPrecoEPrazo.setMensagemErro("");

assertTrue(estimativaComPrecoEPrazo.isEstimativaValida());
assertFalse(estimativaComPrecoEPrazo.possuiMensagemAtencao());
}

}

0 comments on commit f790cc3

Please sign in to comment.