Пример #1
0
        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);
        }
Пример #2
0
        public async Task <ApiResponse <TrackPurchaseResponse> > TrackPurchaseAsync(TrackPurchaseRequest model)
        {
            Ensure.ArgumentNotNull(model, nameof(model));

            return(await _restClient.PostAsync <TrackPurchaseResponse>("/api/commerce/trackPurchase", model).ConfigureAwait(false));
        }