public async Task <IActionResult> Atualizar([FromBody] AtualizarCargoComando 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)); } }
public async Task Cargo_RealizarAtualizacao_DeveRealizarAtualizacaoSemProfessorComSucesso() { var comando = new AtualizarCargoComando { Ano = 2020, Codigo = 3, Edital = 99, Numero = 99, Semestre = ESemestre.SEGUNDO }; var cargo = await RealizarRequisicaoCargo <CargoViewModel, AtualizarCargoComando>("editar", HttpMethod.Put, comando); ValidarCargo(cargo); cargo.Ano.Should().Be(comando.Ano); cargo.Codigo.Should().Be(comando.Codigo); cargo.Edital.Should().Be(comando.Edital); cargo.Numero.Should().Be(comando.Numero); cargo.Semestre.Should().Be(comando.Semestre); cargo.CodigoProfessor.Should().BeNull(); }
public async Task Cargo_RealizarAtualizacaoCargoJaExistente_DeveRetornarMensagensDeErro() { var comando = new AtualizarCargoComando { Codigo = 2, Ano = DateTime.Now.Year, CodigoProfessor = 1, Edital = 1, Numero = 1, Semestre = ESemestre.PRIMEIRO }; var mensagemEsperada = $@"Já existe um cargo com os mesmos valores para os campos semestre, ano, edital e número." .RemoverEspacosVazios(); var resposta = await _testsFixture.Client.PutAsJsonAsync(GetRota("editar"), comando); var mensagemErroResposta = await resposta.Content.ReadAsStringAsync(); resposta.StatusCode.Should().Be(HttpStatusCode.BadRequest); mensagemErroResposta.RemoverEspacosVazios().Should().Be(mensagemEsperada); }
public async Task Cargo_RealizarAtualizacaoCargoInvalido_DeveRetornarMensagensDeErro() { var comando = new AtualizarCargoComando(); comando.CodigoProfessor = 99; comando.Codigo = 99; var mensagemEsperada = $@"O campo ano é obrigatório. O campo edital é obrigatório. O campo número é obrigatório. O campo semestre é obrigatório. Não foi encontrado um professor com o código {comando.Codigo}. Não foi encontrado um cargo com o código {comando.Codigo}." .RemoverEspacosVazios(); var resposta = await _testsFixture.Client.PutAsJsonAsync(GetRota("editar"), comando); var mensagemErroResposta = await resposta.Content.ReadAsStringAsync(); resposta.StatusCode.Should().Be(HttpStatusCode.BadRequest); mensagemErroResposta.RemoverEspacosVazios().Should().Be(mensagemEsperada); }