Ejemplo n.º 1
0
        public void PostTest_Success()
        {
            InitializeMapper();

            var postResult = _controller.GetCards(new ProviderCreatingDto
            {
                UserId      = _userId.ToString(),
                Name        = "Visa Cal",
                Type        = InstitutionType.Credit,
                Credentials = new Dictionary <String, String> {
                    { "username", "YURIYK81" }, { "password", "2w3e4r5t" }
                },
                BankAccounts = new List <BankAccountDto>(),
                CreditCards  = new List <CreditCardDto>()
            }).Result;

            var okPostResult = postResult as OkObjectResult;
            var cards        = okPostResult?.Value as IEnumerable <CreditCardDto>;

            Assert.NotNull(cards);
            Assert.NotEmpty(cards);

            foreach (var card in cards)
            {
                Assert.NotEmpty(card.Id);
                Assert.NotEmpty(card.LastDigits);
                Assert.NotEmpty(card.CardName);
                Assert.NotEmpty(card.TypeDescription);
                Assert.NotEmpty(card.Id);

                foreach (var debit in card.Debits)
                {
                    var debitToTest = card.Debits.First(d => d.Date == debit.Date);

                    Assert.True(debit.Date < DateTime.Now);
                    Assert.NotNull(debit.Transactions);
                    Assert.NotEmpty(debit.Transactions);

                    foreach (var transaction in debit.Transactions)
                    {
                        var transactionToTest = debitToTest.Transactions.First(t => t.Id == transaction.Id);

                        Assert.Equal(transaction.Id, transactionToTest.Id);
                        Assert.Equal(transaction.PaymentAmount, transactionToTest.PaymentAmount);
                        Assert.Equal(transaction.PaymentCurrency, transactionToTest.PaymentCurrency);
                        Assert.Equal(transaction.PaymentDate, transactionToTest.PaymentDate);
                        Assert.Equal(transaction.DealAmount, transactionToTest.DealAmount);
                        Assert.Equal(transaction.DealCurrency, transactionToTest.DealCurrency);
                        Assert.Equal(transaction.DealDate, transactionToTest.DealDate);
                        Assert.Equal(transaction.Description, transactionToTest.Description);
                        Assert.Equal(transaction.Notes, transactionToTest.Notes);
                        Assert.Equal(transaction.DealSector, transactionToTest.DealSector);
                    }
                }
            }
        }