예제 #1
0
        public void Can_get_account_holder_information()
        {
            // Arrange
            var sut     = new PlaidClient(Environment.Sandbox);
            var request = new Identity.GetUserIdentityRequest().UseDefaults();

            // Act
            var  result = sut.FetchUserIdentityAsync(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.ShouldNotBeNull();
            result.IsSuccessStatusCode.ShouldBeTrue();
            result.RequestId.ShouldNotBeNullOrEmpty();
            result.Item.ShouldNotBeNull();
            result.Accounts.Length.ShouldBeGreaterThan(0);
            result.Accounts[0].Owners.ShouldAllBe(x => x.Names.Length > 0);
            result.Accounts[0].Owners.ShouldAllBe(x => x.Addresses.Length > 0);
            result.Accounts[0].Owners.ShouldAllBe(x => x.PhoneNumbers.Length > 0);
        }
예제 #2
0
        public async Task FetchUserIdentityAsync_should_retrieve_the_personal_info_of_an_userAsync()
        {
            // Arrange
            using PlaidClient client = new PlaidClient { Environment = Environment.Sandbox };
            GetUserIdentityRequest request = new GetUserIdentityRequest {
            };

            // Act
            GetUserIdentityResponse result = await client.FetchUserIdentityAsync(request);

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

            // Assert
            result.SuccessfulOutcome.ShouldBeTrue();
            result.Request.ShouldNotBeNullOrEmpty();
            result.Accounts.Length.ShouldBeGreaterThan(0);
            result.Accounts[0].Owners.Length.ShouldBeGreaterThan(0);
            result.Item.ShouldNotBeNull();
        }
예제 #3
0
        public void FetchUserIdentityAsync_should_retrieve_the_personal_info_of_an_user()
        {
            // Arrange
            var sut     = new PlaidClient(Environment.Sandbox);
            var request = new Identity.GetUserIdentityRequest()
            {
            }.UseDefaults();

            // Act
            var  result = sut.FetchUserIdentityAsync(request).Result;
            bool publicKeyDontHaveAccess = result.Exception?.ErrorCode == "INVALID_PRODUCT";

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

            // Assert
            result.IsSuccessStatusCode.ShouldBeTrue();
            result.RequestId.ShouldNotBeNullOrEmpty();
            result.Accounts.Length.ShouldBeGreaterThan(0);
            result.Item.ShouldNotBeNull();
        }