public async Task Sala_RealizarCadastro_DeveRetornarMensagemBlocoNaoEncontrado() { var comando = new CriarSalaComando { CodigoBloco = 99, Descricao = "Teste", Laboratorio = true, Numero = 1 }; var resposta = await _testsFixture.Client.PostAsJsonAsync(GetRota("criar"), comando); var mensagemEsperada = $@"Não foi encontrado um bloco com o código {comando.CodigoBloco}."; await _testsFixture.TestarRequisicaoComErro(resposta, mensagemEsperada); }
public async Task Sala_RealizarCadastro_DeveRetornarMensagemDeCamposObrigatorios() { var comando = new CriarSalaComando(); var resposta = await _testsFixture.Client.PostAsJsonAsync(GetRota("criar"), comando); var erros = new List <string> { "O campo descrição é obrigatório.", "O campo número é obrigatório.", "O campo código do bloco é obrigatório.", "O campo número é obrigatório." }; await _testsFixture.TestarRequisicaoComErro(resposta, erros); }
public async Task <Resposta <SalaViewModel> > Handle(CriarSalaComando request, CancellationToken cancellationToken) { var erros = _validador.Validar(request); if (!string.IsNullOrEmpty(erros)) { return(new Resposta <SalaViewModel>(erros)); } var salaEntidade = _mapper.Map <Sala>(request); salaEntidade = await _salaRepositorio.Criar(salaEntidade); var salaViewModel = _mapper.Map <SalaViewModel>(salaEntidade); return(new Resposta <SalaViewModel>(salaViewModel)); }
public async Task <IActionResult> Criar([FromBody] CriarSalaComando 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 Sala_RealizarCadastro_DeveRealizarCadastroComSucesso() { var comando = new CriarSalaComando { Descricao = "Sala 1", CodigoBloco = 1, Laboratorio = false, Numero = 200 }; var resposta = await _testsFixture.Client.PostAsJsonAsync(GetRota("criar"), comando); resposta.EnsureSuccessStatusCode(); var dadosResposta = await _testsFixture.RecuperarConteudoRequisicao <SalaViewModel>(resposta); dadosResposta.Codigo.Should().BeGreaterThan(0); dadosResposta.Descricao.Should().Be(comando.Descricao); dadosResposta.Laboratorio.Should().Be(comando.Laboratorio); dadosResposta.Numero.Should().Be(comando.Numero); }