public void TestShouldUpdateProduct()
        {
            // Arrange
            var sut = CreateProductController();

            // Act
            var result = sut.UpdateProduct(SampleProductDtos.CreateProductUpdate());

            // Assert
            var createdResult = (NoContentResult)result;

            Assert.AreEqual((int)HttpStatusCode.NoContent, createdResult.StatusCode);
        }
        public void TestShouldCreateProduct()
        {
            // Arrange
            _productInteractor.CreateProduct("FirstProduct", "This is the first product.")
            .Returns(SampleProducts.CreateProduct(1));

            var sut = CreateProductController();

            // Act
            var result = sut.CreateProduct(SampleProductDtos.CreateProductCreate());

            // Assert
            var createdResult = (CreatedAtRouteResult)result;
            var value         = (Product)createdResult.Value;

            Assert.AreEqual((int)HttpStatusCode.Created, createdResult.StatusCode);
            Assert.AreEqual("FirstProduct", value.Name);
        }