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)); }
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)); } }
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); }
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); }
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); }
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"); }