private async Task Valida_Tratamento_De_Aluno_Ja_Incluso_No_Curso_Deve_Retornar_True() { // Arrange var alunoCurso = new AlunoCursoEol(1234567, 1010, 6); var alunoGoogle = new AlunoGoogle(1234567, "José da Silva", "*****@*****.**", string.Empty); var cursoGoogle = new CursoGoogle("Curso Google", "Seção", 1010, 6, "*****@*****.**"); mediator.Setup(a => a.Send(It.IsAny <ObterAlunosPorCodigosQuery>(), It.IsAny <CancellationToken>())) .ReturnsAsync(new List <AlunoGoogle> { alunoGoogle }); mediator.Setup(a => a.Send(It.IsAny <ObterCursoPorEmailNomeQuery>(), It.IsAny <CancellationToken>())) .ReturnsAsync(cursoGoogle); mediator.Setup(a => a.Send(It.IsAny <ExisteAlunoCursoGoogleQuery>(), It.IsAny <CancellationToken>())) .ReturnsAsync(true); var alunoCursoJson = JsonConvert.SerializeObject(alunoCurso); var mensagem = new MensagemRabbit(alunoCursoJson); // Act var retorno = await inserirAlunoCursoGoogleUseCase.Executar(mensagem); // Assert Assert.True(retorno); }
private async Task Valida_Tratamento_De_Excecoes_Ao_Comunicar_Com_Google_Deve_Devolver_A_Excecao_Disparada() { // Arrange var alunoCurso = new AlunoCursoEol(1234567, 1010, 6); var alunoGoogle = new AlunoGoogle(1234567, "José da Silva", "*****@*****.**", string.Empty); var cursoGoogle = new CursoGoogle("Curso Google", "Seção", 1010, 6, "*****@*****.**"); mediator.Setup(a => a.Send(It.IsAny <ObterAlunosPorCodigosQuery>(), It.IsAny <CancellationToken>())) .ReturnsAsync(new List <AlunoGoogle> { alunoGoogle }); mediator.Setup(a => a.Send(It.IsAny <ObterCursoPorEmailNomeQuery>(), It.IsAny <CancellationToken>())) .ReturnsAsync(cursoGoogle); mediator.Setup(a => a.Send(It.IsAny <ExisteAlunoCursoGoogleQuery>(), It.IsAny <CancellationToken>())) .ReturnsAsync(false); var excecao = new NullReferenceException("Erro ao se comunicar Google Classroom."); mediator.Setup(a => a.Send(It.IsAny <InserirAlunoCursoGoogleCommand>(), It.IsAny <CancellationToken>())) .Throws(excecao); mediator.Setup(a => a.Send(It.IsAny <IncluirCursoUsuarioCommand>(), It.IsAny <CancellationToken>())) .ReturnsAsync(10); var alunoCursoJson = JsonConvert.SerializeObject(alunoCurso); var mensagem = new MensagemRabbit(alunoCursoJson); // Assert await Assert.ThrowsAsync <NullReferenceException>(() => inserirAlunoCursoGoogleUseCase.Executar(mensagem)); }
private static string ObterMensagemDeErro(AlunoCursoEol cursoDoAlunoParaIncluirGoogle, Exception ex = null) { var mensagem = $"Não foi possível inserir o curso [TurmaId:{cursoDoAlunoParaIncluirGoogle.TurmaId}, ComponenteCurricularId:{cursoDoAlunoParaIncluirGoogle.ComponenteCurricularId}] aluno RA{cursoDoAlunoParaIncluirGoogle.CodigoAluno} na fila para inclusão no Google Classroom."; if (ex is null) { return(mensagem); } return($"{mensagem}. {ex.InnerException?.Message ?? ex.Message}. {ex.StackTrace}"); }
private async Task IncluirCursoDoAlunoComErroAsync(AlunoCursoEol cursoDoAlunoParaIncluirGoogle, string mensagem) { var command = new IncluirCursoUsuarioErroCommand( cursoDoAlunoParaIncluirGoogle.CodigoAluno, cursoDoAlunoParaIncluirGoogle.TurmaId, cursoDoAlunoParaIncluirGoogle.ComponenteCurricularId, ExecucaoTipo.AlunoCursoAdicionar, ErroTipo.Negocio, mensagem); await mediator.Send(command); }
public async Task <bool> Executar(AtribuirAlunoCursoDto atribuirAlunoCurso) { var alunoCursoEol = new AlunoCursoEol(atribuirAlunoCurso.CodigoAluno, atribuirAlunoCurso.TurmaId, atribuirAlunoCurso.ComponenteCurricularId); var publicarAlunoCurso = await mediator.Send(new PublicaFilaRabbitCommand(RotasRabbit.FilaAlunoCursoIncluir, RotasRabbit.FilaAlunoCursoIncluir, alunoCursoEol)); if (!publicarAlunoCurso) { throw new NegocioException("Não foi possível realizar a requisição para atribuir o aluno ao curso."); } return(publicarAlunoCurso); }
private async Task Valida_Tratamento_De_Aluno_Nao_Incluso_Deve_Retornar_False() { // Arrange var alunoCurso = new AlunoCursoEol(1234567, 1010, 6); mediator.Setup(a => a.Send(It.IsAny <ObterAlunosPorCodigosQuery>(), It.IsAny <CancellationToken>())) .ReturnsAsync(new List <AlunoGoogle>()); var alunoCursoJson = JsonConvert.SerializeObject(alunoCurso); var mensagem = new MensagemRabbit(alunoCursoJson); // Act var retorno = await inserirAlunoCursoGoogleUseCase.Executar(mensagem); // Assert Assert.False(retorno); }