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); }
public IActionResult Post(InventoryPostRequest request) { var inventoryResponse = _inventoryRepository.Add(request.Quantity); return(Ok(inventoryResponse)); }