示例#1
0
        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);
        }
示例#2
0
        public void diaNaoDeveIniciarSeHouverPontoAbertoEmDiasAnteriores()
        {
            var pontoAntigo = criarPontoTrabalhoDoDia(10, 6, 2016);
            var repositorio = new PontoDiaMockRepository();

            repositorio.save(pontoAntigo);

            //Vou simular o dia de hoje
            var service   = criarService(new DataHoraMockStrategy(13, 6, 2016), repositorio);
            var pontoHoje = service.iniciarDia();
        }
示例#3
0
        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();
        }