Subversion Repositories Integrator Subversion

Rev

Blame | Last modification | View Log | Download | RSS feed

package br.gov.al.saude.scs.core.domain;

import org.jmock.Expectations;
import org.jmock.integration.junit4.JMock;
import org.junit.Test;
import org.junit.runner.RunWith;

import br.gov.al.saude.framework.core.generic.GenericRepository;
import br.gov.al.saude.framework.core.generic.GenericService;
import br.gov.al.saude.framework.core.validador.Validador;
import br.gov.al.saude.scs.core.domain.frequencia.FrequenciaService;
import br.gov.al.saude.scs.core.domain.frequencia.impl.FrequenciaServiceImpl;
import br.gov.al.saude.scs.core.infrastructure.persistence.jpa.frequencia.FrequenciaRepository;
import br.gov.al.saude.scs.model.Frequencia;
import br.gov.al.saude.scs.parametros.ParametrosConsultarFrequencia;
import br.gov.al.saude.test.builder.FrequenciaBuilder;
import br.gov.al.saude.test.unidade.generic.service.ServiceImplTest;

@RunWith(JMock.class)
public class FrequenciaServiceImplTest extends ServiceImplTest<Frequencia> {

        private FrequenciaService frequenciaService;
        private FrequenciaRepository frequenciaRepositoryMock;
       
        @Override
        public void inicializarContexto() {
                validadorMock = getContexto().mock(Validador.class);
                frequenciaRepositoryMock = getContexto().mock(FrequenciaRepository.class);
                frequenciaService = new FrequenciaServiceImpl(validadorMock, frequenciaRepositoryMock);
                setEntidade(new FrequenciaBuilder().comSequencial("1").build());
        }
       
        @Test
        public void aoConsultarFrequenciaDtoDeveriaDelegarParaOhRepositorio(){
                getContexto().checking(new Expectations(){{
                        oneOf(frequenciaRepositoryMock).consultarFrequenciaDTO(with(any(ParametrosConsultarFrequencia.class)));
                }});
                frequenciaService.consultarFrequenciaDTO(new ParametrosConsultarFrequencia());
        }
       
        @Test
        public void aoObterQuantidadeRegistrosConsultarFrequenciaDtoDeveriaDelegarParaOhRepositorio(){
                getContexto().checking(new Expectations(){{
                        oneOf(frequenciaRepositoryMock).obterQuantidadeRegistrosConsultarFrequenciaDTO(with(any(ParametrosConsultarFrequencia.class)));
                }});
                frequenciaService.obterQuantidadeRegistrosConsultarFrequenciaDTO(new ParametrosConsultarFrequencia());
        }
       
        @Test
        public void aoDetalharFrequenciaDeveriaDelegarParaOhRepositorio(){
                getContexto().checking(new Expectations(){{
                        oneOf(frequenciaRepositoryMock).consultarPorId(with(getEntidade()));
                        will(returnValue(with(same(getEntidade()))));
                }});
                frequenciaService.detalharFrequencia(new Long("1"));
        }
       
        @Test
        public void aoValidarFrequenciaDeveriaDelegarParaOhRepositorio(){
                getContexto().checking(new Expectations(){{
                        oneOf(frequenciaRepositoryMock).validarFrequencia(with(any(Long.class)));
                }});
                frequenciaService.validarFrequencia(new Long("1"));
        }
       
        @Override
        protected GenericService<Frequencia> getService() {
                return frequenciaService;
        }

        @Override
        protected GenericRepository<Frequencia> getRepositoryMock() {
                return frequenciaRepositoryMock;
        }
       
}