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