コード例 #1
0
        public static PontoService criarPontoService(SessaoLogin sessao, IDataHoraStrategy dataHoraStrategy = null, IPontoDiaRepository pontoRepository = null, bool mock = false, IFeriadoRepository feriadoRepository = null)
        {
            if (dataHoraStrategy == null)
            {
                dataHoraStrategy = new DataHoraMockStrategy(DateTime.Today);
            }

            if (pontoRepository == null)
            {
                pontoRepository = new PontoDiaMockRepository();
            }

            var tipoIntervaloRepository = new TipoIntervaloMockRepository();

            tipoIntervaloRepository.save(new TipoIntervalo("Almoço"));

            if (mock)
            {
                return(new PontoServiceMock(criarPontoFactory(pontoRepository, feriadoRepository),
                                            dataHoraStrategy,
                                            new FuncionarioPossuiPontoAbertoSpecification(pontoRepository),
                                            new FuncionarioJaTrabalhouHojeSpecification(pontoRepository),
                                            sessao,
                                            pontoRepository,
                                            tipoIntervaloRepository));
            }

            return(new PontoService(criarPontoFactory(pontoRepository, feriadoRepository),
                                    dataHoraStrategy,
                                    new FuncionarioPossuiPontoAbertoSpecification(pontoRepository),
                                    new FuncionarioJaTrabalhouHojeSpecification(pontoRepository),
                                    sessao,
                                    pontoRepository,
                                    tipoIntervaloRepository));
        }
コード例 #2
0
        public TipoIntervaloFactory criarFactory(ITipoIntervaloRepository repository = null)
        {
            if (repository == null)
            {
                repository = new TipoIntervaloMockRepository();
            }

            return(new TipoIntervaloFactory(new NomeIntervaloJaExisteSpecification(repository)));
        }
コード例 #3
0
        public void tipoIntervaloNaoDeveDiferenciarMaiusculaDeMinusculas()
        {
            var repository = new TipoIntervaloMockRepository();
            var factory    = criarFactory(repository);

            var tipo = factory.criarTipoIntervalo("ALMOÇO");

            repository.save(tipo);

            factory.criarTipoIntervalo("almoço");
        }
コード例 #4
0
        public void naoPodeCriarTipoIntervaloComNomeRepetido()
        {
            var repository = new TipoIntervaloMockRepository();
            var factory    = criarFactory(repository);

            var tipo = factory.criarTipoIntervalo("ALMOÇO");

            repository.save(tipo);

            factory.criarTipoIntervalo("ALMOÇO");
        }