public async Task ReturnsIndividualPayout() { // given var subject = new PayoutsClient(_clientConfiguration); var payout = (await subject.GetPageAsync()).Items.First(); // when var result = await subject.ForIdAsync(payout.Id); var actual = result.Item; // then Assert.That(actual, Is.Not.Null); Assert.That(actual.Id, Is.Not.Null.And.EqualTo(payout.Id)); Assert.That(actual.Amount, Is.Not.Null.And.EqualTo(payout.Amount)); Assert.That(actual.ArrivalDate, Is.Not.Null.And.EqualTo(payout.ArrivalDate)); Assert.That(actual.CreatedAt, Is.Not.Null.And.EqualTo(payout.CreatedAt)); Assert.That(actual.Currency, Is.Not.Null.And.EqualTo(payout.Currency)); Assert.That(actual.DeductedFees, Is.Not.Null.And.EqualTo(payout.DeductedFees)); Assert.That(actual.Links, Is.Not.Null); Assert.That(actual.Links.Creditor, Is.Not.Null.And.EqualTo(payout.Links.Creditor)); Assert.That(actual.Links.CreditorBankAccount, Is.Not.Null.And.EqualTo(payout.Links.CreditorBankAccount)); Assert.That(actual.PayoutType, Is.Not.Null.And.EqualTo(payout.PayoutType)); Assert.That(actual.Reference, Is.Not.Null.And.EqualTo(payout.Reference)); Assert.That(actual.Status, Is.Not.Null.And.EqualTo(payout.Status)); }
public void IdIsNullOrWhiteSpaceThrows(string id) { // given var subject = new PayoutsClient(_clientConfiguration); // when AsyncTestDelegate test = () => subject.ForIdAsync(id); // then var ex = Assert.ThrowsAsync <ArgumentException>(test); Assert.That(ex.Message, Is.Not.Null); Assert.That(ex.ParamName, Is.EqualTo(nameof(id))); }
public async Task CallsIndividualPayoutsEndpoint() { // given var subject = new PayoutsClient(_clientConfiguration); var id = "PO12345678"; // when await subject.ForIdAsync(id); // then _httpTest .ShouldHaveCalled("https://api.gocardless.com/payouts/PO12345678") .WithVerb(HttpMethod.Get); }