public void PrestacaoGetAllPrestacoesTiposShouldBeCalledCorrectly()
        {
            // Arrange

            var prestacoesTipos = new List <PrestacaoTipo>
            {
                new PrestacaoTipo {
                    Id = 1, Tipo = "aaa"
                },
                new PrestacaoTipo {
                    Id = 2, Tipo = "BBB"
                }
            };

            var prestacoesTiposList = prestacoesTipos.AsQueryable();

            var prestacaoRepository = Mock.Of <IPrestacaoRepository>(m => m.GetAllPrestacaoTipos() == prestacoesTiposList);

            var prestacaoService =
                new PrestacaoService(prestacaoRepository, Mock.Of <IEmailService>(), Mock.Of <IPrestacaoStatusActionsFactory>());

            // Act
            var result = prestacaoService.GetAllPrestacaoTipos();

            // Assert
            result.Should().BeEquivalentTo(prestacoesTiposList);
        }
예제 #2
0
        public void Teste_CalculaStatus_Sucesso()
        {
            var _prestacao = new List <PrestacaoModel>();

            _prestacao.Add(new PrestacaoModel()
            {
                DataVencimento = new DateTime(2020, 09, 05),
                Valor          = 100,
            });

            _prestacao.Add(new PrestacaoModel()
            {
                DataVencimento = new DateTime(2020, 08, 30),
                Valor          = 100,
            });

            _prestacao.Add(new PrestacaoModel()
            {
                DataVencimento = new DateTime(2020, 09, 05),
                DataPagamento  = new DateTime(2020, 09, 01),
                Valor          = 100,
            });

            PrestacaoService = new PrestacaoService(_prestacao);
            var _prestacaoValid = PrestacaoService.CalculaStatus(_prestacao);

            Assert.True(_prestacaoValid[0].Status == contrato_prestacao_models.Enum.StatusPrestacaoEnum.Aberta);
            Assert.True(_prestacaoValid[1].Status == contrato_prestacao_models.Enum.StatusPrestacaoEnum.Atrasada);
            Assert.True(_prestacaoValid[2].Status == contrato_prestacao_models.Enum.StatusPrestacaoEnum.Baixada);
        }
        public void PrestacaoGetAllShouldBeCalledCorrectly()
        {
            // Arrange

            var prestacoes = new List <Prestacao>
            {
                new Prestacao {
                    Titulo = "Fernandes", Justificativa = "Cris"
                },
                new Prestacao {
                    Titulo = "Teste", Justificativa = "Ale"
                }
            };

            var prestacoesList = prestacoes.AsQueryable();

            var prestacaoRepository = Mock.Of <IPrestacaoRepository>(m => m.GetAll() == prestacoesList);

            var prestacaoService =
                new PrestacaoService(prestacaoRepository, Mock.Of <IEmailService>(), Mock.Of <IPrestacaoStatusActionsFactory>());

            // Act
            var result = prestacaoService.GetAll();

            // Assert
            result.Should().BeEquivalentTo(prestacoesList);
        }
        public void UsuarioGetAllByEmitenteIdShouldBeCalledCorrectly()
        {
            // Arrange
            const int id         = 1;
            var       prestacoes = new List <Prestacao>
            {
                new Prestacao {
                    Titulo = "Teste", EmitenteId = 1
                },
                new Prestacao {
                    Titulo = "Teste2", EmitenteId = 1
                },
                new Prestacao {
                    Titulo = "Teste3", EmitenteId = 2
                },
            };

            var prestacoesList = prestacoes.AsQueryable();

            var prestacaoRepository = Mock.Of <IPrestacaoRepository>(m => m.GetAll() == prestacoesList);

            var prestacaoService =
                new PrestacaoService(prestacaoRepository, Mock.Of <IEmailService>(), Mock.Of <IPrestacaoStatusActionsFactory>());

            // Act
            var result = prestacaoService.GetAllByEmitenteId(id);

            // Assert
            result.Should().BeEquivalentTo(prestacoesList.Where(x => x.EmitenteId == id));
        }
        public void PrestacaoGetEmailToShouldReturnEmptyString()
        {
            var factory          = Mock.Of <IPrestacaoStatusActionsFactory>(m => m.CreateObject(It.IsAny <PrestacaoStatuses>()).GetEmailTo(It.IsAny <Prestacao>()) == string.Empty);
            var prestacaoService =
                new PrestacaoService(Mock.Of <IPrestacaoRepository>(), Mock.Of <IEmailService>(), factory);

            // Act
            var result = prestacaoService.GetEmailTo(new Prestacao(), (PrestacaoStatuses)10);

            // Assert
            result.Should().BeEmpty();
        }
        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 PrestacaoExistsShouldBeCalledCorrectly()
        {
            // Arrange
            const int prestacaoToBeGet = 7;


            var prestacaoRepository = Mock.Of <IPrestacaoRepository>(m => m.Exists(prestacaoToBeGet));

            var prestacaoService =
                new PrestacaoService(prestacaoRepository, Mock.Of <IEmailService>(), Mock.Of <IPrestacaoStatusActionsFactory>());

            // Act
            var result = prestacaoService.Exists(prestacaoToBeGet);

            // Assert
            Assert.IsTrue(result);
        }
        public void PrestacaoGetByIdShouldBeCalledCorrectly()
        {
            // Arrange

            var       prestacao = new Prestacao();
            const int id        = 7;


            var prestacaoRepository = Mock.Of <IPrestacaoRepository>(m => m.GetById(id) == prestacao);

            var prestacaoService =
                new PrestacaoService(prestacaoRepository, Mock.Of <IEmailService>(), Mock.Of <IPrestacaoStatusActionsFactory>());

            // Act
            var result = prestacaoService.GetById(id);

            // Assert
            result.IsSameOrEqualTo(prestacao);
        }
        public void PrestacaoIDeletePrestacaoShouldBeCalledCorrectly()
        {
            // Arrange
            const int id             = 7;
            const int expectedResult = 1;


            var prestacaoRepository = Mock.Of <IPrestacaoRepository>(m => m.Delete(id) == expectedResult);

            var prestacaoService =
                new PrestacaoService(prestacaoRepository, Mock.Of <IEmailService>(), Mock.Of <IPrestacaoStatusActionsFactory>());

            // Act
            var result = prestacaoService.Delete(id);

            // Assert
            Mock.Get(prestacaoRepository).Verify(m => m.Delete(id), Times.Once);
            result.IsSameOrEqualTo(expectedResult);
        }
예제 #10
0
        public void Teste_CalculaStatus_ValidaDataVencimento_Falha()
        {
            var _prestacao = new List <PrestacaoModel>();

            _prestacao.Add(new PrestacaoModel()
            {
                DataPagamento = new DateTime(2020, 09, 01),
                Valor         = 100
            });

            try
            {
                PrestacaoService = new PrestacaoService(_prestacao);
                var _prestacaoValid = PrestacaoService.CalculaStatus(_prestacao);
            }
            catch (Exception ex)
            {
                Assert.Equal("Data Vencimento inválida!", ex.Message);
            }
        }
        public void PrestacaoIRejeitarPrestacaoShouldBeCalledCorrectlyWhenInAprovacaoFinanceira()
        {
            // Arrange
            const string            titulo        = "Titulo";
            const string            email         = "*****@*****.**";
            const int               id            = 1;
            const PrestacaoStatuses tipoAprovacao = PrestacaoStatuses.EmAprovacaoFinanceira;
            const string            justificativa = "Teste Justificativa";

            var prestacao = new Prestacao
            {
                Id                    = id,
                Titulo                = titulo,
                EmitenteId            = 1,
                AprovadorId           = 2,
                AprovadorFinanceiroId = 3,
                StatusId              = (int)PrestacaoStatuses.EmAprovacaoFinanceira
            };


            var prestacaoRepository = Mock.Of <IPrestacaoRepository>(m => m.GetById(id) == prestacao);
            var factory             = Mock.Of <IPrestacaoStatusActionsFactory>(m => m.CreateObject(tipoAprovacao).GetEmailTo(prestacao) == email);

            Mock.Get(factory).Setup(m => m.CreateObject(tipoAprovacao).RejeitarPrestacao(prestacao, justificativa))
            .Callback(() => prestacao.StatusId = (int)PrestacaoStatuses.Rejeitada);

            var emailHelper = Mock.Of <IEmailService>(m => m.EnviarEmail(prestacao, (PrestacaoStatuses)prestacao.StatusId, email));

            var prestacaoService =
                new PrestacaoService(prestacaoRepository, emailHelper, factory);

            // Act
            prestacaoService.RejeitarPrestacao(prestacao.Id, justificativa, tipoAprovacao);

            // Assert

            Mock.Get(prestacaoRepository).Verify(m => m.Update(prestacao), Times.Once);
            Mock.Get(factory).Verify(m => m.CreateObject(tipoAprovacao).GetEmailTo(prestacao), Times.Once);
            Mock.Get(emailHelper).Verify(m => m.EnviarEmail(prestacao, (PrestacaoStatuses)prestacao.StatusId, email), Times.Once);
            prestacao.StatusId.Should().Be((int)PrestacaoStatuses.Rejeitada);
        }
        public void PrestacaoCreateShouldBeCalledCorrectly()
        {
            // Arrange
            const int prestacaoToBeGet = 7;
            var       prestacao        = new Prestacao {
                Titulo = "Cristian"
            };


            var prestacaoRepository = Mock.Of <IPrestacaoRepository>(m => m.Create(prestacao) == prestacaoToBeGet);
            var factory             = Mock.Of <IPrestacaoStatusActionsFactory>(m => m.CreateObject(It.IsAny <PrestacaoStatuses>()).GetEmailTo(prestacao) == string.Empty);

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

            // Act
            var result = prestacaoService.Create(prestacao);

            // Assert
            result.IsSameOrEqualTo(prestacaoToBeGet);
        }
        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));
        }
        public void PrestacaoIUpdatePrestacaoShouldBeCalledCorrectly()
        {
            // Arrange
            const string titulo    = "dasdsad";
            var          prestacao = new Prestacao {
                Titulo = titulo
            };

            const int id = 7;


            var prestacaoRepository = Mock.Of <IPrestacaoRepository>(m => m.Update(prestacao) == id);
            var factory             = Mock.Of <IPrestacaoStatusActionsFactory>(m => m.CreateObject(It.IsAny <PrestacaoStatuses>()).GetEmailTo(prestacao) == string.Empty);


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

            // Act
            prestacaoService.Update(prestacao);

            // Assert
            Mock.Get(prestacaoRepository).Verify(m => m.Update(prestacao), Times.Once);
        }