public async Task CallsIndividualMandatesEndpoint() { // given var subject = new MandatesClient(_clientConfiguration); var id = "MD12345678"; // when await subject.ForIdAsync(id); // then _httpTest .ShouldHaveCalled("https://api.gocardless.com/mandates/MD12345678") .WithVerb(HttpMethod.Get); }
public void IsNullOrWhiteSpaceThrows(string id) { // given var subject = new MandatesClient(_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 ReturnsIndividualMandate() { // given var subject = new MandatesClient(_clientConfiguration); var mandate = await _resourceFactory.CreateMandateFor(_creditor, _customer, _customerBankAccount); // when var result = await subject.ForIdAsync(mandate.Id); var actual = result.Item; // then Assert.That(actual, Is.Not.Null); Assert.That(actual.Id, Is.Not.Null.And.EqualTo(mandate.Id)); Assert.That(actual.CreatedAt, Is.Not.EqualTo(default(DateTimeOffset))); Assert.That(actual.Links.Creditor, Is.Not.Null.And.EqualTo(mandate.Links.Creditor)); Assert.That(actual.Links.Customer, Is.Not.Null.And.EqualTo(mandate.Links.Customer)); Assert.That(actual.Links.CustomerBankAccount, Is.Not.Null.And.EqualTo(mandate.Links.CustomerBankAccount)); Assert.That(actual.Metadata, Is.Not.Null.And.EqualTo(mandate.Metadata)); Assert.That(actual.NextPossibleChargeDate, Is.Not.EqualTo(default(DateTimeOffset))); Assert.That(actual.Reference, Is.Not.Null); Assert.That(actual.Scheme, Is.Not.Null.And.EqualTo(mandate.Scheme)); Assert.That(actual.Status, Is.Not.Null.And.EqualTo(mandate.Status)); }