예제 #1
0
        private async Task TestGetProductByIdNotExists(ProductReadItemDto retrievedProduct)
        {
            var getProductResponse = await _testHostFixture.Client.GetAsync($"{baseUrl}/{retrievedProduct.ProductId}");

            Assert.False(getProductResponse.IsSuccessStatusCode);
            Assert.Equal(HttpStatusCode.NotFound, getProductResponse.StatusCode);
        }
예제 #2
0
        private async Task TestDeleteProductById(ProductReadItemDto createdProduct)
        {
            var deleteProductResponse = await _testHostFixture.Client.DeleteAsync(
                $"{baseUrl}/{createdProduct.ProductId}");

            deleteProductResponse.EnsureSuccessStatusCode();

            Assert.Equal(HttpStatusCode.NoContent, deleteProductResponse.StatusCode);
        }
예제 #3
0
        private async Task TestUpdateProduct(ProductReadItemDto createdProduct, ProductReadItemDto retrievedProduct)
        {
            var updateProductResponse = await _testHostFixture.Client.PutAsJsonAsync(
                $"{baseUrl}/{createdProduct.ProductId}",
                retrievedProduct);

            updateProductResponse.EnsureSuccessStatusCode();

            var updatedProduct =
                JsonConvert.DeserializeObject <ProductReadItemDto>(
                    await updateProductResponse.Content.ReadAsStringAsync());

            Assert.Equal(HttpStatusCode.OK, updateProductResponse.StatusCode);
            Assert.Equal(retrievedProduct.ProductId, updatedProduct.ProductId);
            AssertProductsEquality(updatedProduct, retrievedProduct);
        }
예제 #4
0
        private async Task <ProductReadItemDto> TestGetProductById(ProductReadItemDto createdProduct)
        {
            var getProductResponse = await _testHostFixture.Client.GetAsync($"{baseUrl}/{createdProduct.ProductId}");

            getProductResponse.EnsureSuccessStatusCode();

            var getProduct =
                JsonConvert.DeserializeObject <ProductReadItemDto>(
                    await getProductResponse.Content.ReadAsStringAsync());

            Assert.Equal(HttpStatusCode.OK, getProductResponse.StatusCode);
            Assert.Equal(createdProduct.ProductId, getProduct.ProductId);
            AssertProductsEquality(createdProduct, getProduct);

            return(getProduct);
        }
예제 #5
0
 private static void AssertProductsEquality(ProductWriteItemDto expectedProduct, ProductReadItemDto actualProduct)
 {
     Assert.Equal(expectedProduct.ProductName, actualProduct.ProductName);
     Assert.Equal(expectedProduct.QuantityPerUnit, actualProduct.QuantityPerUnit);
     Assert.Equal(expectedProduct.ReorderLevel, actualProduct.ReorderLevel);
     Assert.Equal(expectedProduct.SelectedCategoryId, actualProduct.SelectedCategoryId);
     Assert.Equal(expectedProduct.SelectedSupplierId, actualProduct.SelectedSupplierId);
     Assert.Equal(expectedProduct.UnitPrice, actualProduct.UnitPrice);
     Assert.Equal(expectedProduct.UnitsInStock, actualProduct.UnitsInStock);
     Assert.Equal(expectedProduct.UnitsOnOrder, actualProduct.UnitsOnOrder);
 }