public async Task Should_Purchase_With_Valid_Value() { string path = "/api/commerce/trackPurchase"; var request = new TrackPurchaseRequest() { Id = "1234", Items = new List <CommerceItem>(), User = new UpdateUserRequest() { Email = "*****@*****.**", UserId = "*****@*****.**", DataFields = new ExpandoObject() } }; MockRestClient.Setup(m => m.PostAsync <TrackPurchaseResponse>(It.Is <string>(a => a == path), It.IsAny <TrackPurchaseRequest>())).ReturnsAsync(new ApiResponse <TrackPurchaseResponse> { UrlPath = path, HttpStatusCode = HttpStatusCode.OK, Model = new TrackPurchaseResponse { Code = "Success" } }); ApiResponse <TrackPurchaseResponse> response = await _commerceClient.TrackPurchaseAsync(request).ConfigureAwait(false); Assert.NotNull(response); Assert.NotNull(response.Model); Assert.Equal("Success", response.Model.Code); Assert.Equal(HttpStatusCode.OK, response.HttpStatusCode); Assert.Equal(path, response.UrlPath); MockRestClient.Verify(m => m.PostAsync <TrackPurchaseResponse>(It.Is <string>(a => a == path), It.IsAny <TrackPurchaseRequest>()), Times.Once); }
public async Task <ApiResponse <TrackPurchaseResponse> > TrackPurchaseAsync(TrackPurchaseRequest model) { Ensure.ArgumentNotNull(model, nameof(model)); return(await _restClient.PostAsync <TrackPurchaseResponse>("/api/commerce/trackPurchase", model).ConfigureAwait(false)); }