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)); }
public TipoIntervaloFactory criarFactory(ITipoIntervaloRepository repository = null) { if (repository == null) { repository = new TipoIntervaloMockRepository(); } return(new TipoIntervaloFactory(new NomeIntervaloJaExisteSpecification(repository))); }
public void tipoIntervaloNaoDeveDiferenciarMaiusculaDeMinusculas() { var repository = new TipoIntervaloMockRepository(); var factory = criarFactory(repository); var tipo = factory.criarTipoIntervalo("ALMOÇO"); repository.save(tipo); factory.criarTipoIntervalo("almoço"); }
public void naoPodeCriarTipoIntervaloComNomeRepetido() { var repository = new TipoIntervaloMockRepository(); var factory = criarFactory(repository); var tipo = factory.criarTipoIntervalo("ALMOÇO"); repository.save(tipo); factory.criarTipoIntervalo("ALMOÇO"); }