public async Task Deve_Listar_Carta_Intencoes_Observacao()
        {
            //Arrange
            var mockRetorno = new List <CartaIntencoesObservacaoDto> {
                new CartaIntencoesObservacaoDto {
                    TurmaId = 1,
                    ComponenteCurricularId = 512,
                    Proprietario           = true,
                    Observacao             = "Teste de Observação"
                }
            };

            var param = new BuscaCartaIntencoesObservacaoDto("2172463", 512);

            mediator.Setup(a => a.Send(It.IsAny <ObterTurmaIdPorCodigoQuery>(), It.IsAny <CancellationToken>())).ReturnsAsync(1);

            mediator.Setup(a => a.Send(It.IsAny <ListarCartaIntencoesObservacaoQuery>(), It.IsAny <CancellationToken>()))
            .ReturnsAsync(mockRetorno);


            //Act
            var retorno = await useCase.Executar(param);

            //Asert
            mediator.Verify(x => x.Send(It.IsAny <ListarCartaIntencoesObservacaoQuery>(), It.IsAny <CancellationToken>()), Times.Once);

            Assert.True(retorno.Any());
        }
        public async Task <IEnumerable <CartaIntencoesObservacaoDto> > Executar(BuscaCartaIntencoesObservacaoDto param)
        {
            var usuarioId = await mediator.Send(new ObterUsuarioLogadoIdQuery());

            var turmaId = await mediator.Send(new ObterTurmaIdPorCodigoQuery(param.TurmaCodigo));

            if (turmaId == 0)
            {
                throw new NegocioException("Turma não encontrada.");
            }

            return(await mediator.Send(new ListarCartaIntencoesObservacaoQuery(turmaId, param.ComponenteCurricularId, usuarioId)));
        }