public void PrestacaoGetAllParaAprovacaoReturnEmptyList()
        {
            // Arrange
            var factory = Mock.Of <IPrestacaoStatusActionsFactory>(m => m.CreateObject(It.IsAny <PrestacaoStatuses>()).GetAllParaAprovacao(It.IsAny <int>()) == new List <Prestacao>().AsQueryable());

            var prestacaoService =
                new PrestacaoService(Mock.Of <IPrestacaoRepository>(), Mock.Of <IEmailService>(), factory);

            // Act
            var result = prestacaoService.GetAllParaAprovacao(It.IsAny <int>(), PrestacaoStatuses.Finalizada);

            // Assert
            result.Should().BeEmpty();
        }
        public void PrestacaoGetAllParaAprovacaoFinanceiraShouldBeCalledCorrectly()
        {
            // Arrange
            const int aprovadorId = 1;
            var       prestacoes  = new List <Prestacao>
            {
                new Prestacao
                {
                    Titulo = "Teste", AprovadorId = 5, StatusId = (int)PrestacaoStatuses.EmAprovacaoOperacional
                },
                new Prestacao
                {
                    Titulo = "Teste2", AprovadorFinanceiroId = aprovadorId, StatusId = (int)PrestacaoStatuses.EmAprovacaoFinanceira
                },
                new Prestacao
                {
                    Titulo = "aaaa", EmitenteId = 3, StatusId = (int)PrestacaoStatuses.Rejeitada
                },
                new Prestacao
                {
                    Titulo = "645485", EmitenteId = 4, StatusId = (int)PrestacaoStatuses.Finalizada
                }
            };

            var prestacoesList = prestacoes.AsQueryable();

            var factory = Mock.Of <IPrestacaoStatusActionsFactory>(m => m.CreateObject(It.IsAny <PrestacaoStatuses>()).GetAllParaAprovacao(It.IsAny <int>()) == prestacoesList.Where(pr =>
                                                                                                                                                                                     pr.AprovadorFinanceiroId == aprovadorId &&
                                                                                                                                                                                     pr.StatusId == (int)PrestacaoStatuses.EmAprovacaoFinanceira));

            var prestacaoService =
                new PrestacaoService(Mock.Of <IPrestacaoRepository>(), Mock.Of <IEmailService>(), factory);

            // Act
            var result = prestacaoService.GetAllParaAprovacao(aprovadorId, PrestacaoStatuses.EmAprovacaoFinanceira);

            // Assert
            result.Should().BeEquivalentTo(prestacoesList.Where(x => x.AprovadorFinanceiroId == aprovadorId));
        }