Exemple #1
0
        public EditarAtendimentoFacts()
        {
            editarAtendimento = new Atendimento(atendimentoRepo, timeProvider, horario, paciente, observacao);
            editarAtendimento.SetProperty(x => x.IdAtendimento, 100);

            novoHorario = new PeriodoFechado(DateTime.Parse("2018-07-01 09:00"), DateTime.Parse("2018-07-01 09:40"));
        }
        public void Validar()
        {
            var dataInicial = DataInicial.ToDateTimeOrNull();

            var dataFinal = DataFinal.ToDateTimeOrNull();

            PeriodoFechado.Validar(dataInicial, dataFinal);
        }
Exemple #3
0
            void horario_eh_no_passado()
            {
                //Arrange
                //hoje = DateTime.Parse("01/05/2018 07:00");
                novoHorario = new PeriodoFechado(DateTime.Parse("2018-05-01 06:59"), DateTime.Parse("2018-05-01 07:30"));

                //ACT
                var ex = Should.Throw <DomainException>(() => editarAtendimento.Alterar(atendimentoRepo, timeProvider, novoHorario, paciente, observacao));


                //ASSERT
                ex.Message.ShouldBe("Informe um Horário com data maior ou igual a de agora");
            }
        public Atendimento(
            IAtendimentoRepo atendimentoRepo,
            ITimeProvider timeProvider,
            PeriodoFechado horario,
            Paciente paciente,
            string observacao
            )
        {
            observacao = observacao?.Trim();

            Assegure.Que(atendimentoRepo != null, () => $"{nameof(atendimentoRepo)} é null");

            Assegure.Que(timeProvider != null, () => $"{nameof(timeProvider)} é null");

            Assegure.Que(horario != null, () => $"{nameof(horario)} é null");

            Assegure.Que(paciente != null, "Informe o Paciente");

            Assegure.Que((observacao?.Length ?? 0) <= 500, () => "Observação deve ter no máximo 500 caracteres");


            Assegure.Que(horario.DataInicial >= timeProvider.Now, () => "Informe um Horário com data maior ou igual a de agora");


            var atendimentos = atendimentoRepo.ExisteColisaoComOHorario(horario);

            Assegure.Que(atendimentos.Count == 0, () => $"Já existe Atendimento marcado para o Horário informado");


            Horario = horario;

            Paciente = paciente;

            Observacao = observacao;



            Status = TipoStatus.MARC;

            DataCadastro = timeProvider.Now;
        }
        public AtendimentoFacts()
        {
            // hoje é:
            hoje         = DateTime.Parse("2018-05-01 07:00");
            timeProvider = Substitute.For <ITimeProvider>();
            timeProvider.Now.Returns(hoje);

            // e vou agenda um horário em:
            horario = new PeriodoFechado(DateTime.Parse("2018-06-01 09:00"), DateTime.Parse("2018-06-01 09:30"));

            atendimentoRepo = Substitute.For <IAtendimentoRepo>();

            //Por padrão o atendimento não conflita com nenhum outro
            var atendimentoExistente = new List <Atendimento>();

            atendimentoRepo.ExisteColisaoComOHorario(null).ReturnsForAnyArgs(atendimentoExistente);//NAO



            paciente = Substitute.For <Paciente>();

            observacao = "uma observação";
        }
        public PeriodoFechadoDTO(PeriodoFechado periodoFechado)
        {
            this.DataInicial = periodoFechado.DataInicial.ToSortableISO();

            this.DataFinal = periodoFechado.DataFinal.ToSortableISO();
        }