Example #1
0
        public async Task <Resposta <CargoDisciplinaViewModel> > Handle(CriarCargoDisciplinaComando request, CancellationToken cancellationToken)
        {
            var erros = _validador.Validar(request);

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

            var disciplina = await MapearComandoParaDisciplina(request);

            disciplina = await _repositorio.Criar(disciplina);

            var disciplinaViewModel = _mapper.Map <CargoDisciplinaViewModel>(disciplina);

            return(new Resposta <CargoDisciplinaViewModel>(disciplinaViewModel));
        }
Example #2
0
        public async Task <IActionResult> Criar([FromBody] CriarCargoDisciplinaComando 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 #3
0
        public async Task DisciplinaCargo_RealizarCadastro_DeveRetornarMensagemDeErroDisciplinaExistente()
        {
            var comando = new CriarCargoDisciplinaComando
            {
                CodigoCargo = 2,
                CodigoCurriculoDisciplina = 1,
                CodigoTurno = 2
            };

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

            var mensagemErroEsperada = $@"Já foi adicionado uma disciplina com os mesmos valores."
                                       .RemoverEspacosVazios();

            resposta.StatusCode.Should().Be(HttpStatusCode.BadRequest);

            var mensagemErroRequest = await resposta.Content.ReadAsStringAsync();

            mensagemErroRequest.RemoverEspacosVazios().Should().Be(mensagemErroEsperada);
        }
Example #4
0
        public async Task DisciplinaCargo_RealizarCadastro_DeveRetornarMensagemDeErroCodigoMaiorQueZero()
        {
            var comando = new CriarCargoDisciplinaComando
            {
                CodigoCargo = 0,
                CodigoCurriculoDisciplina = 0,
                CodigoTurno = 0
            };

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

            var mensagemErroEsperada = @"O campo código do cargo não pode ser menor ou igual a 0.
                                         O campo código da disciplina do currículo não pode ser menor ou igual a 0.
                                         O campo código do turno não pode ser menor ou igual a 0."
                                       .RemoverEspacosVazios();

            resposta.StatusCode.Should().Be(HttpStatusCode.BadRequest);

            var mensagemErroRequest = await resposta.Content.ReadAsStringAsync();

            mensagemErroRequest.RemoverEspacosVazios().Should().Be(mensagemErroEsperada);
        }
Example #5
0
        public async Task DisciplinaCargo_RealizarCadastro_DeveRetornarMensagemDeErroCargoDisciplinaCurriculoInexistente()
        {
            var comando = new CriarCargoDisciplinaComando
            {
                CodigoCargo = 99,
                CodigoCurriculoDisciplina = 99,
                CodigoTurno = 99
            };

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

            var mensagemErroEsperada = $@"Não foi encontrado um cargo de código {comando.CodigoCargo}.
                                          Não foi encontrado a disciplina de currículo com código {comando.CodigoCurriculoDisciplina}.
                                          Não foi encontrado um turno com código {comando.CodigoTurno}."
                                       .RemoverEspacosVazios();

            resposta.StatusCode.Should().Be(HttpStatusCode.BadRequest);

            var mensagemErroRequest = await resposta.Content.ReadAsStringAsync();

            mensagemErroRequest.RemoverEspacosVazios().Should().Be(mensagemErroEsperada);
        }
Example #6
0
        public async Task DisciplinaCargo_RealizarCadastro_DeveRealizarCadastroComSucessoSemPassarDescricao()
        {
            var comando = new CriarCargoDisciplinaComando
            {
                CodigoCargo = 2,
                CodigoCurriculoDisciplina = 11,
                CodigoTurno = 1,
                Descricao   = ""
            };

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

            resposta.EnsureSuccessStatusCode();

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

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

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

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

            dadosResposta.Descricao.Should().Be("Cálculo I");
        }