Example #1
0
        public async Task <IActionResult> Criar([FromBody] CriarCurriculoDisciplinaComando comando)
        {
            try
            {
                var resposta = await _mediator.Send(comando);

                if (resposta.TemErro())
                {
                    return(BadRequest(resposta.GetErros()));
                }

                return(Ok(resposta.GetResultado()));
            }
            catch (Exception e)
            {
                return(BadRequest(e.Message));
            }
        }
Example #2
0
        public async Task DisciplinaCurriculo_RealizarCadastro_DeveRetornarMensagemDisciplinaJaAdicionadaNoCurriculo()
        {
            var comando = new CriarCurriculoDisciplinaComando
            {
                CodigoTipo           = 1,
                AulasSemanaisPratica = 3,
                AulasSemanaisTeorica = 2,
                CodigoCurriculo      = 1,
                CodigoDisciplina     = 1,
                Periodo = (int)EPeriodo.PRIMEIRO
            };

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

            var mensagemErroEsperada = "Disciplina já adicionada neste currículo.";

            await _testsFixture.TestarRequisicaoComErro(resposta, mensagemErroEsperada);
        }
Example #3
0
        public async Task <Resposta <CurriculoDisciplinaViewModel> > Handle(CriarCurriculoDisciplinaComando request, CancellationToken cancellationToken)
        {
            var erros = _validador.Validar(request);

            if (!string.IsNullOrEmpty(erros))
            {
                return(new Resposta <CurriculoDisciplinaViewModel>(erros));
            }

            var entidade = _mapper.Map <CurriculoDisciplina>(request);

            entidade.CurriculoDisciplinaPreRequisito = AdicionarPreRequisitors(request.PreRequisitos);

            var resultado = await _curriculoDisciplinaRepositorio.Criar(entidade);

            var viewModel = _mapper.Map <CurriculoDisciplinaViewModel>(resultado);

            return(new Resposta <CurriculoDisciplinaViewModel>(viewModel));
        }
Example #4
0
        public async Task DisciplinaCurriculo_RealizarCadastro_DeveRetornarMensagemDeErroCamposObrigatorios()
        {
            var comando = new CriarCurriculoDisciplinaComando();

            comando.AulasSemanaisPratica = -1;
            comando.AulasSemanaisTeorica = -1;

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

            var mensagemErroEsperada = new List <string> {
                "O campo período é obrigatório.",
                "O campo código da disciplina é obrigatório.",
                "O campo código do currículo é obrigatório.",
                "O campo aulas semanais teóricas é obrigatório.",
                "O campo aulas semanais práticas é obrigatório.",
                "O campo disciplina tipo é obrigatório."
            };

            await _testsFixture.TestarRequisicaoComErro(resposta, mensagemErroEsperada);
        }
Example #5
0
        public async Task DisciplinaCurriculo_RealizarCadastro_DeveRealizarCadastroComSucesso()
        {
            var comando = new CriarCurriculoDisciplinaComando
            {
                CodigoTipo           = 1,
                AulasSemanaisPratica = 3,
                AulasSemanaisTeorica = 2,
                CodigoCurriculo      = 1,
                CodigoDisciplina     = 4,
                Periodo = (int)EPeriodo.PRIMEIRO
            };

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

            resposta.EnsureSuccessStatusCode();

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

            dadosResposta.Codigo.Should().BeGreaterThan(0);
        }
Example #6
0
        public async Task DisciplinaCurriculo_RealizarCadastro_DeveRetornarMensagemDeErroDisciplinaECurriculoNaoEncontrado()
        {
            var comando = new CriarCurriculoDisciplinaComando
            {
                CodigoTipo           = 1,
                AulasSemanaisPratica = 4,
                AulasSemanaisTeorica = 4,
                CodigoCurriculo      = 99,
                CodigoDisciplina     = 99,
                Periodo = (int)EPeriodo.NONO
            };

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

            var erros = new List <string> {
                $"Não foi encontrado uma disciplina com o código {comando.CodigoDisciplina}.",
                $"Não foi encontrado um currículo com o código {comando.CodigoCurriculo}."
            };

            await _testsFixture.TestarRequisicaoComErro(resposta, erros);
        }