Example #1
0
        public void AgendaConsultaCommand_ComandoValido()
        {
            //Arrange
            var agendaConsultaCommand = new AgendarConsultaCommand(Guid.NewGuid(), Guid.NewGuid(), DateTime.Now.AddDays(1));

            //Act
            var result = agendaConsultaCommand.EhValido();

            //Assert
            Assert.True(result);
        }
Example #2
0
        public void AgendaConsultaCommand_ComandoInvalido()
        {
            //Arrange
            var agendaConsultaCommand = new AgendarConsultaCommand(Guid.Empty, Guid.Empty, DateTime.Now.AddHours(-1));

            //Act
            var result = agendaConsultaCommand.EhValido();

            //Assert
            Assert.False(result);
            Assert.Contains(AgendarConsultaValidation.IdMedicoErroMsg, agendaConsultaCommand.ValidationResult.Errors.Select(c => c.ErrorMessage));
            Assert.Contains(AgendarConsultaValidation.IdPacienteErroMsg, agendaConsultaCommand.ValidationResult.Errors.Select(c => c.ErrorMessage));
            Assert.Contains(AgendarConsultaValidation.DataInicioConsultaMinMsg, agendaConsultaCommand.ValidationResult.Errors.Select(c => c.ErrorMessage));
        }
        public async Task <IActionResult> Put([FromBody] AgendaConsultaViewModel agendaMedicaVM)
        {
            var command = new AgendarConsultaCommand(agendaMedicaVM.MedicoId, agendaMedicaVM.PacienteId, agendaMedicaVM.DataInicioConsulta);
            await _mediatorHandler.EnviarComando(command);

            if (OperacaoValida())
            {
                return(Ok());
            }
            else
            {
                var mensagensErro = ObterMensagensErro();
                _log.LogWarning("{BadRequest}", JsonConvert.SerializeObject(mensagensErro));
                return(BadRequest(mensagensErro));
            }
        }
        public async Task AgendarConsulta_NovaConsulta_ComSucesso()
        {
            //Arrange
            var agendaConsultaCommand = new AgendarConsultaCommand(_medicoId, Guid.NewGuid(), DateTime.Now.AddDays(1));

            var agendaMedica          = new AgendaMedica(_medicoId);
            var agendaMedicaExistente = new AgendamentoPaciente(_pacienteId, DateTime.Now.AddDays(1));

            agendaMedica.AdicionarAgendamentoPaciente(agendaMedicaExistente);

            _mocker.GetMock <IAgendaMedicaRepository>().Setup(r => r.UnitOfWork.Commit()).Returns(Task.FromResult(true));

            //Act
            var result = await _agendaMedicaHandler.Handle(agendaConsultaCommand, CancellationToken.None);

            //Assert
            Assert.True(result);
            _mocker.GetMock <IAgendaMedicaRepository>().Verify(r => r.Adicionar(It.IsAny <AgendaMedica>()), Times.Once);
            _mocker.GetMock <IAgendaMedicaRepository>().Verify(r => r.UnitOfWork.Commit(), Times.Once);
        }