Example #1
0
        public async Task FetchIncomeAsync_should_retrieve_the_monthly_earnings_of_an_userAsync()
        {
            // Arrange
            using PlaidClient client = new PlaidClient { Environment = Environment.Sandbox };
            GetIncomeRequest request = new GetIncomeRequest {
            };

            // Act
            GetIncomeResponse result = await client.FetchUserIncomeAsync(request);

            if (result.Exception?.ErrorCode == "INVALID_PRODUCT")
            {
                Assert.Inconclusive(Properties.Resources.AuthorizationDenialMessage);
            }

            // Assert
            result.SuccessfulOutcome.ShouldBeTrue();
            result.Request.ShouldNotBeNullOrEmpty();
            result.Income.Streams.Length.ShouldBeGreaterThan(0);
            result.Income.LastYearIncome.ShouldBeGreaterThan(0);
            result.Item.ShouldBeNull();
        }
Example #2
0
        public void Can_retrieve_the_monthly_earnings_of_an_user()
        {
            // Arrange
            var sut     = new PlaidClient(Environment.Sandbox);
            var request = new Income.GetIncomeRequest()
            {
            }.UseDefaults();

            // Act
            var  result = sut.FetchUserIncomeAsync(request).Result;
            bool publicKeyDontHaveAccess = result.Exception?.ErrorCode == Exceptions.ErrorCode.InvalidProduct;

            if (publicKeyDontHaveAccess)
            {
                Assert.Inconclusive(Helper.your_public_key_do_not_have_access_contact_plaid);
            }

            // Assert
            result.IsSuccessStatusCode.ShouldBeTrue();
            result.RequestId.ShouldNotBeNullOrEmpty();
            result.Income.Streams.Length.ShouldBeGreaterThan(0);
            result.Income.LastYearIncome.ShouldBeGreaterThan(0);
        }