public async Task <InventoryResponse> PostAsync(InventoryPostRequest request)
        {
            using (var client = new HttpClient())
            {
                var serializedRequest = JsonSerializer.Serialize(request);
                var requestContent    = new StringContent(serializedRequest, Encoding.UTF8, "application/json");

                var response = await client.PostAsync($"{BaseUrl}/inventory", requestContent);

                string responseBody = await response.Content.ReadAsStringAsync();

                return(JsonSerializer.Deserialize <InventoryResponse>(responseBody, Options));
            };
        }
        public async Task Post_WithRequest_ReturnsResult()
        {
            var productId = 1;
            var quantity  = 2;
            InventoryPostRequest request = new InventoryPostRequest {
                Quantity = quantity
            };
            InventoryResponse inventoryResponse = new InventoryResponse {
                ProductId = productId, Quantity = quantity
            };

            var expectedObjectResult = new OkObjectResult(inventoryResponse);

            _inventoryRepository.Add(quantity).Returns(inventoryResponse);

            var sut = CreateSut();

            var actual = sut.Post(request);

            actual.As <OkObjectResult>().Should().BeEquivalentTo(expectedObjectResult);
        }
Example #3
0
        public IActionResult Post(InventoryPostRequest request)
        {
            var inventoryResponse = _inventoryRepository.Add(request.Quantity);

            return(Ok(inventoryResponse));
        }