public void diaPodeIniciarSeFuncionarioNaoPossuirPontoEmAberto() { var funcionarioCorreto = new FuncionarioFactory().criarFuncionario("Thais", "tatacs", "123456", "", "41617099864"); var pontoAntigo = criarPontoTrabalhoDoDia(10, 6, 2016); var repositorio = new PontoDiaMockRepository(); var inicioDoDia = new DataHoraMockStrategy(13, 6, 2016); repositorio.save(pontoAntigo); try { var service = criarService(inicioDoDia, repositorio); service.iniciarDia(); Assert.Fail("O dia não deveria ter iniciado!"); } catch (DiaEmAbertoException ex) { Assert.AreEqual("O ponto do dia 10/06/2016 não foi encerrado", ex.Message); } var serviceCorreto = criarService(inicioDoDia, repositorio, funcionarioCorreto); var ponto = serviceCorreto.iniciarDia(); Assert.AreEqual(new DateTime(2016, 6, 13), ponto.Data.Date); }
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)); }
private DiaTrabalho criarPontoTrabalhoDoDia(IPontoDiaRepository pontoRepository, IFeriadoRepository feriadoRepository, int dia, int mes, int ano, int hora = 9, int minuto = 0) { var dt = new DataHoraMockStrategy(new DateTime(ano, mes, dia, hora, minuto, 0)); return(FactoryHelper .criarPontoFactory(pontoRepository, feriadoRepository) .criarDiaTrabalho(dt, new SessaoLoginMock(funcionario))); }
public void pontoDeveSerCriadoComDataHoraCorreta() { var esperado = new DataHoraMockStrategy(22, 8, 2014, 19, 30); var ponto = criarFactory().criarDiaTrabalho(esperado, sessaoLogin); Assert.AreEqual(new DateTime(2014, 8, 22, 0, 0, 0), ponto.Data); Assert.AreEqual(new TimeSpan(19, 30, 0), ponto.Inicio); }
public void pontoDeveSerEncerradoComDataHoraCorreta() { var fimEsperado = new DataHoraMockStrategy(new DateTime(2014, 8, 22, 22, 30, 0)); var service = criarService(fimEsperado); var ponto = service.iniciarDia(); service.encerrarDia(ponto); Assert.AreEqual(new TimeSpan(22, 30, 0), ponto.Fim); }
public void funcionarioNaoPodeTerDoisPontosParaMesmoDia() { var rep = new PontoDiaMockRepository(); var mesmoDia = new DataHoraMockStrategy(22, 8, 2014); var service = criarService(mesmoDia, rep); var ponto = service.iniciarDia(); service.encerrarDia(ponto); rep.save(ponto); service.iniciarDia(); }
private DiaTrabalho criarPontoTrabalhoDoDia(int dia, int mes, int ano, int hora = 9, int minuto = 0) { var dt = new DataHoraMockStrategy(new DateTime(ano, mes, dia, hora, minuto, 0)); return(criarFactory().criarDiaTrabalho(dt, sessaoLogin)); }