示例#1
0
        public async Task HorarioAula_RealizarCadastro_DeveRealizarCadastroComSucesso()
        {
            var comando = new CriarHorarioAulaComando
            {
                Ano             = 2020,
                CodigoCurriculo = 1,
                CodigoTurno     = 1,
                Semestre        = ESemestre.SEGUNDO,
                Periodo         = EPeriodo.SEGUNDO,
                Mensagem        = "Teste de mensagem"
            };

            var resposta = await _testsFixture.Client.PostAsJsonAsync(GetRota("criar"), comando);

            resposta.EnsureSuccessStatusCode();

            var dadosResposta = await _testsFixture.RecuperarConteudoRequisicao <HorarioAulaViewModel>(resposta);

            dadosResposta.Codigo.Should().BeGreaterThan(0);

            dadosResposta.Ano.Should().Be(comando.Ano);

            dadosResposta.CodigoCurriculo.Should().Be(comando.CodigoCurriculo);

            dadosResposta.CodigoTurno.Should().Be(comando.CodigoTurno);

            dadosResposta.Semestre.Should().Be(comando.Semestre);

            dadosResposta.Periodo.Should().Be(comando.Periodo);

            dadosResposta.Mensagem.Should().Be(comando.Mensagem);
        }
示例#2
0
        public async Task HorarioAula_RealizarCadastro_DeveRetornarMensagemCampoAnoNaoPodeSerVazio()
        {
            var comando = new CriarHorarioAulaComando {
                CodigoCurriculo = 1,
                CodigoTurno     = 1,
                Periodo         = EPeriodo.DECIMO,
                Semestre        = ESemestre.PRIMEIRO
            };

            var resposta = await _testsFixture.Client.PostAsJsonAsync(GetRota("criar"), comando);

            await _testsFixture.TestarRequisicaoComErro(resposta, "O campo ano não pode ser vazio.");
        }
示例#3
0
        public async Task HorarioAula_RealizarCadastro_DeveRetornarMensagemCurriculoNaoEncontrado()
        {
            var comando = new CriarHorarioAulaComando
            {
                Ano             = 2020,
                CodigoTurno     = 1,
                Periodo         = EPeriodo.DECIMO,
                Semestre        = ESemestre.PRIMEIRO,
                CodigoCurriculo = 99
            };

            var resposta = await _testsFixture.Client.PostAsJsonAsync(GetRota("criar"), comando);

            await _testsFixture.TestarRequisicaoComErro(resposta, $"Não foi encontrado um currículo com o código {comando.CodigoCurriculo}.");
        }
示例#4
0
        public async Task<IActionResult> Criar([FromBody] CriarHorarioAulaComando comando)
        {
            try
            {
                var resultado = await _mediator.Send(comando);

                if (resultado.TemErro())
                    return BadRequest(resultado.GetErros());

                return Ok(resultado.GetResultado());
            }
            catch (Exception e)
            {
                return BadRequest(e.Message);
            }
        }
示例#5
0
        public async Task <Resposta <HorarioAulaViewModel> > Handle(CriarHorarioAulaComando request, CancellationToken cancellationToken)
        {
            var erro = _validador.Validar(request);

            if (!string.IsNullOrEmpty(erro))
            {
                return(new Resposta <HorarioAulaViewModel>(erro));
            }

            var horarioInserir = _mapper.Map <HorarioAula>(request);

            var horario = await _horarioAulaRepositorio.Criar(horarioInserir);

            var horarioViewModel = _mapper.Map <HorarioAulaViewModel>(horario);

            return(new Resposta <HorarioAulaViewModel>(horarioViewModel));
        }