public async Task UpdatesMandateReplacingMetadata() { // given var subject = new MandatesClient(_clientConfiguration); var mandate = await _resourceFactory.CreateMandateFor(_creditor, _customer, _customerBankAccount); var request = new UpdateMandateRequest { Id = mandate.Id, Metadata = new Dictionary <string, string> { ["Key4"] = "Value4", ["Key5"] = "Value5", ["Key6"] = "Value6", }, }; // when var result = await subject.UpdateAsync(request); var actual = result.Item; // then Assert.That(actual, Is.Not.Null); Assert.That(actual.Id, Is.Not.Null); Assert.That(actual.Metadata, Is.EqualTo(request.Metadata)); }
public void UpdateMandateRequestIsNullThrows() { // given var subject = new MandatesClient(_clientConfiguration); UpdateMandateRequest request = null; // when AsyncTestDelegate test = () => subject.UpdateAsync(request); // then var ex = Assert.ThrowsAsync <ArgumentNullException>(test); Assert.That(ex.ParamName, Is.EqualTo(nameof(request))); }
public async Task CallsUpdateMandateEndpoint() { // given var subject = new MandatesClient(_clientConfiguration); var request = new UpdateMandateRequest { Id = "MD12345678" }; // when await subject.UpdateAsync(request); // then _httpTest .ShouldHaveCalled("https://api.gocardless.com/mandates") .WithVerb(HttpMethod.Put); }
public void UpdateMandateRequestIdIsNullOrWhiteSpaceThrows(string id) { // given var subject = new MandatesClient(_clientConfiguration); var request = new UpdateMandateRequest { Id = id }; // when AsyncTestDelegate test = () => subject.UpdateAsync(request); // then var ex = Assert.ThrowsAsync <ArgumentException>(test); Assert.That(ex.ParamName, Is.EqualTo(nameof(request.Id))); }
public async Task UpdatesMandatePreservingMetadata() { // given var subject = new MandatesClient(_clientConfiguration); var mandate = await _resourceFactory.CreateMandateFor(_creditor, _customer, _customerBankAccount); var request = new UpdateMandateRequest { Id = mandate.Id }; // when var result = await subject.UpdateAsync(request); var actual = result.Item; // then Assert.That(actual, Is.Not.Null); Assert.That(actual.Id, Is.Not.Null); Assert.That(actual.Metadata, Is.EqualTo(mandate.Metadata)); }