package br.gov.al.saude.srv.core.application;
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.orgao.OrgaoFacade;
import br.gov.al.saude.srv.core.application.orgao.impl.OrgaoFacadeImpl;
import br.gov.al.saude.srv.core.domain.orgao.OrgaoService;
import br.gov.al.saude.srv.model.Orgao;
import br.gov.al.saude.test.unidade.generic.facade.FacadeImplTest;
public class OrgaoFacadeImplTest
extends FacadeImplTest
<Orgao
> {
private OrgaoFacade orgaoFacade
;
private OrgaoService orgaoServiceMock
;
@Before
public void inicializarContexto
() {
super.
inicializarContexto();
orgaoServiceMock = getContexto
().
mock(OrgaoService.
class);
orgaoFacade =
new OrgaoFacadeImpl
(orgaoServiceMock
);
}
@
Override
protected GenericFacade
<Orgao
> getFacade
() {
return orgaoFacade
;
}
@
Override
protected GenericService
<Orgao
> getServiceMock
() {
return orgaoServiceMock
;
}
@Test
public void aoConsultarOrgaosDeveriaDelegarParaOhServico
() {
getContexto
().
checking(new Expectations
(){{
oneOf
(orgaoServiceMock
).
consultarOrgaos(with
(any
(Orgao.
class)), with
(any
(Integer.
class)), with
(any
(Integer.
class)));
}});
orgaoFacade.
consultarOrgaos(new Orgao
(),
0,
5);
}
@Test
public void aoObterQuantidadeDeRegistrosDeConsultarOrgaosDeveriaDelegarParaOhServico
() {
getContexto
().
checking(new Expectations
(){{
oneOf
(orgaoServiceMock
).
obterQuantidadeDeRegistrosDeConsultarOrgaos(with
(any
(Orgao.
class)));
}});
orgaoFacade.
obterQuantidadeDeRegistrosDeConsultarOrgaos(new Orgao
());
}
@Test
public void aoListarOrgaosDeveriaDelegarParaOhServico
() {
getContexto
().
checking(new Expectations
(){{
oneOf
(orgaoServiceMock
).
listarOrgao();
}});
orgaoFacade.
listarOrgao();
}
@Test
public void aoListarOrgaoAtivoDeveriaDelegarParaOhServico
() {
getContexto
().
checking(new Expectations
(){{
oneOf
(orgaoServiceMock
).
listarOrgaoAtivo();
}});
orgaoFacade.
listarOrgaoAtivo();
}
}