public void Copy_should_create_and_save_a_copy_of_the_product()
        {
            const int productId       = 5;
            const int copiedId        = 7;
            var       originalProduct = new Product {
                Id = productId
            };
            var copiedProduct = new Product();

            productCopyService.Stub(s => s.Copy(originalProduct)).Return(copiedProduct);
            productRepository.SaveOrUpdateDelegate = product =>
            {
                product.Id = copiedId;
            };

            productCopyController.Copy(originalProduct)
            .ReturnsRedirectToRouteResult()
            .ToController("Product")
            .ToAction("Edit")
            .WithRouteValue("id", "7");

            unitOfWork.AssertWasCalled(u => u.Commit());
        }