public async Task ShouldListMandatesForACustomer() { var responseFixture = "fixtures/client/list_mandates_for_a_customer.json"; mockHttp.EnqueueResponse(200, responseFixture); var mandateListRequest = new MandateListRequest() { Customer = "CU00003068FG73", CreatedAt = new MandateListRequest.CreatedAtParam { GreaterThan = new DateTimeOffset(2017, 5, 2, 11, 12, 13, TimeSpan.FromHours(-5)) } }; var listResponse = await client.Mandates.ListAsync(mandateListRequest); TestHelpers.AssertResponseCanSerializeBackToFixture(listResponse, responseFixture); var mandates = listResponse.Mandates; Assert.AreEqual(2, mandates.Count); Assert.AreEqual("MD00001PEYCSQF", mandates[0].Id); Assert.AreEqual("CR000035EME9H5", mandates[0].Links.Creditor); Assert.AreEqual("MD00001P57AN84", mandates[1].Id); Assert.AreEqual("CR000035EME9H5", mandates[1].Links.Creditor); mockHttp.AssertRequestMade("GET", "/mandates?created_at[gt]=2017-05-02T11:12:13.0000000-05:00&customer=CU00003068FG73"); }
public async Task Headers() { http.EnqueueResponse(201, "fixtures/client/create_a_mandate_response.json", resp => resp.Headers.Location = new Uri("/mandates/MD000126", UriKind.Relative)); var mandateResponse = await client.Mandates.CreateAsync(new MandateCreateRequest()); var mandate = mandateResponse.Mandate; http.AssertRequestMade("POST", "/mandates", null, req => { Assert.AreEqual("Bearer access-token", req.Item1.Headers.GetValues("Authorization").Single()); Assert.AreEqual("2015-07-06", req.Item1.Headers.GetValues("GoCardless-Version").Single()); Assert.AreEqual("gocardless-dotnet", req.Item1.Headers.GetValues("GoCardless-Client-Library").Single()); }); }
public async Task ShouldBuildValidRequest() { var responseFixture = "fixtures/client/create_a_redirect_flow_response.json"; mockHttp.EnqueueResponse(201, responseFixture); var prefilledCustomer = new RedirectFlowCreateRequest.RedirectFlowPrefilledCustomer() { Email = "*****@*****.**", GivenName = "Frank", FamilyName = "Osborne" }; var redirectFlowRequest = new RedirectFlowCreateRequest() { Description = "Wine boxes", SessionToken = "SESS_wSs0uGYMISxzqOBq", SuccessRedirectUrl = "https://example.com/pay/confirm", PrefilledCustomer = prefilledCustomer }; var redirectFlowResponse = await client.RedirectFlows.CreateAsync(redirectFlowRequest); TestHelpers.AssertResponseCanSerializeBackToFixture(redirectFlowResponse, responseFixture); var redirectFlow = redirectFlowResponse.RedirectFlow; Assert.AreEqual("http://pay.gocardless.dev/flow/RE123", redirectFlow.RedirectUrl); mockHttp.AssertRequestMade("POST", "/redirect_flows"); }