package br.gov.al.saude.srv.core.application;
import java.util.ArrayList;
import org.jmock.Expectations;
import org.junit.Before;
import org.junit.Test;
import br.gov.al.saude.framework.core.generic.GenericFacade;
import br.gov.al.saude.framework.core.generic.GenericService;
import br.gov.al.saude.srv.core.application.funcao.FuncaoFacade;
import br.gov.al.saude.srv.core.application.funcao.impl.FuncaoFacadeImpl;
import br.gov.al.saude.srv.core.domain.funcao.FuncaoService;
import br.gov.al.saude.srv.model.Funcao;
import br.gov.al.saude.srv.model.dto.FuncaoDTO;
import br.gov.al.saude.srv.model.dto.ParametroConsultaFuncaoDTO;
import br.gov.al.saude.test.unidade.generic.facade.FacadeImplTest;
public class FuncaoFacadeImplTest
extends FacadeImplTest
<Funcao
> {
private FuncaoFacade funcaoFacade
;
private FuncaoService funcaoServiceMock
;
@Before
public void inicializarContexto
() {
super.
inicializarContexto();
funcaoServiceMock = getContexto
().
mock(FuncaoService.
class);
funcaoFacade =
new FuncaoFacadeImpl
(funcaoServiceMock
);
}
@
Override
protected GenericFacade
<Funcao
> getFacade
() {
return funcaoFacade
;
}
@
Override
protected GenericService
<Funcao
> getServiceMock
() {
return funcaoServiceMock
;
}
@Test
public void aoConsultarFuncaoDeveriaDelegarParaOhService
() {
getContexto
().
checking(new Expectations
(){{
oneOf
(funcaoServiceMock
).
consultar(with
(any
(ParametroConsultaFuncaoDTO.
class)));
will
(returnValue
(new ArrayList<Funcao
>()));
}});
((FuncaoFacade
) getFacade
()).
consultar(new ParametroConsultaFuncaoDTO
());
}
@Test
public void aoObterQuantideRegistrosConsultarFuncoesAtivasDeveriaDelegarParaOhService
() {
getContexto
().
checking(new Expectations
(){{
oneOf
(funcaoServiceMock
).
obterQuantideRegistrosConsultarFuncoesAtivas(with
(any
(ParametroConsultaFuncaoDTO.
class)));
}});
funcaoFacade.
obterQuantideRegistrosConsultarFuncoesAtivas(new ParametroConsultaFuncaoDTO
());
}
@Test
public void aoConsultarFuncoesAtivasDeveriaDelegarParaOhService
() {
getContexto
().
checking(new Expectations
(){{
oneOf
(funcaoServiceMock
).
consultarFuncoesAtivas(with
(any
(ParametroConsultaFuncaoDTO.
class)));
will
(returnValue
(new ArrayList<FuncaoDTO
>()));
}});
funcaoFacade.
consultarFuncoesAtivas(new ParametroConsultaFuncaoDTO
());
}
@Test
public void aoObterQuantidadeDeRegistrosDeveriaDelegarParaOhService
() {
getContexto
().
checking(new Expectations
(){{
oneOf
(funcaoServiceMock
).
obterQuantidadeDeRegistros(with
(any
(ParametroConsultaFuncaoDTO.
class)));
}});
funcaoFacade.
obterQuantidadeDeRegistros(new ParametroConsultaFuncaoDTO
());
}
}