public async Task CreatesAndDisablesConflictingCreditorBankAccountUsingBankCode() { // given var createRequest = new CreateCreditorBankAccountRequest { AccountHolderName = "API BANK ACCOUNT", AccountNumber = "532013001", BankCode = "37040044", CountryCode = "DE", Currency = "EUR", Links = new CreditorBankAccountLinks { Creditor = _creditor.Id }, Metadata = new Dictionary <string, string> { ["Key1"] = "Value1", ["Key2"] = "Value2", ["Key3"] = "Value3", }, SetAsDefaultPayoutAccount = true }; var subject = new CreditorBankAccountsClient(_clientConfiguration); // when await subject.CreateAsync(createRequest); var creationResult = await subject.CreateAsync(createRequest); var disableRequest = new DisableCreditorBankAccountRequest { Id = creationResult.Item.Id }; var disabledResult = await subject.DisableAsync(disableRequest); // then Assert.That(creationResult.Item.Id, Is.Not.Null); Assert.That(creationResult.Item.AccountHolderName, Is.EqualTo(createRequest.AccountHolderName)); Assert.That(creationResult.Item.AccountNumberEnding, Is.Not.Null); Assert.That(creationResult.Item.BankName, Is.Not.Null); Assert.That(creationResult.Item.CountryCode, Is.EqualTo(createRequest.CountryCode)); Assert.That(creationResult.Item.Currency, Is.EqualTo(createRequest.Currency)); Assert.That(creationResult.Item.Metadata, Is.EqualTo(createRequest.Metadata)); Assert.That(creationResult.Item.Links.Creditor, Is.EqualTo(createRequest.Links.Creditor)); Assert.That(creationResult.Item.Enabled, Is.True); Assert.That(disabledResult.Item.Enabled, Is.False); }
public void CreateCreditorBankAccountRequestIsNullThrows() { // given var subject = new CreditorBankAccountsClient(_clientConfiguration); CreateCreditorBankAccountRequest request = null; // when AsyncTestDelegate test = () => subject.CreateAsync(request); // then var ex = Assert.ThrowsAsync <ArgumentNullException>(test); Assert.That(ex.ParamName, Is.EqualTo(nameof(request))); }
public async Task CreatesAndDisablesCreditorBankAccountUsingBranchCode() { // given var createRequest = new CreateCreditorBankAccountRequest { AccountHolderName = "API BANK ACCOUNT", AccountNumber = "55666666", BranchCode = "200000", CountryCode = "GB", Currency = "GBP", Links = new CreditorBankAccountLinks { Creditor = _creditor.Id }, Metadata = new Dictionary <string, string> { ["Key1"] = "Value1", ["Key2"] = "Value2", ["Key3"] = "Value3", } }; var subject = new CreditorBankAccountsClient(_clientConfiguration); // when var creationResult = await subject.CreateAsync(createRequest); var disableRequest = new DisableCreditorBankAccountRequest { Id = creationResult.Item.Id }; var disabledResult = await subject.DisableAsync(disableRequest); // then Assert.That(creationResult.Item.Id, Is.Not.Null.And.Not.Empty); Assert.That(creationResult.Item.AccountHolderName, Is.EqualTo(createRequest.AccountHolderName)); Assert.That(creationResult.Item.AccountNumberEnding, Is.Not.Null); Assert.That(creationResult.Item.BankName, Is.Not.Null.And.Not.Empty); Assert.That(creationResult.Item.CountryCode, Is.EqualTo(createRequest.CountryCode)); Assert.That(creationResult.Item.Currency, Is.EqualTo(createRequest.Currency)); Assert.That(creationResult.Item.Metadata, Is.EqualTo(createRequest.Metadata)); Assert.That(creationResult.Item.Links.Creditor, Is.EqualTo(createRequest.Links.Creditor)); Assert.That(creationResult.Item.Enabled, Is.True); Assert.That(disabledResult.Item.Enabled, Is.False); }
public async Task CallsCreateCreditorBankAccountEndpoint() { // given var subject = new CreditorBankAccountsClient(_clientConfiguration); var request = new CreateCreditorBankAccountRequest { IdempotencyKey = Guid.NewGuid().ToString() }; // when await subject.CreateAsync(request); // then _httpTest .ShouldHaveCalled("https://api.gocardless.com/creditor_bank_accounts") .WithHeader("Idempotency-Key") .WithVerb(HttpMethod.Post); }