public void EditProductWithPositiveIdTest() { //Arrange FakeProductRepository fakeRepo = new FakeProductRepository(); InputProductController controller = new InputProductController(fakeRepo); Product product = new Product() { ProductId = 3, NameOfProduct = "Surata Tofu", Rating = 4, Review = "great product", }; //Add it first controller.Index(product); //Retrieve it, then update it Product retrievedProduct = fakeRepo.Products.ToList()[0]; retrievedProduct.NameOfProduct = "updated"; retrievedProduct.Rating = 3; controller.Edit(retrievedProduct); //retrieve it again to check if updated Product updatedProduct = fakeRepo.Products.ToList()[0]; Assert.Equal("updated", updatedProduct.NameOfProduct); }
public void MuiltChangeTest() { var unitOfWorkObj = new EfUnitOfWork(null /*ILogger*/); //{ DbContextFactory = _dbContextFactory }; var uoWdbContextProvider = new EfUnitOfWorkDbContextProvider(new EfUnitOfWorkManager(IoCManager, null /*ILogger*/), IoCManager, null /*ILogger*/); var orderRepo = new FakeOrderRepository(uoWdbContextProvider); var productRepo = new FakeProductRepository(uoWdbContextProvider); var userRepo = new FakeUserRepository(uoWdbContextProvider); unitOfWorkObj.Begin(new UnitOfWorkOption()); try { //orderRepo.Insert(FakeOrder.Fake()); productRepo.InsertAsync(FakeProduct.Fake()).GetAwaiter(); userRepo.InsertAsync(FakeUser.Fake()).GetAwaiter(); unitOfWorkObj.CommitAsync().GetAwaiter().GetResult(); } catch (Exception ex) { //Assert.F("发生异常:" + ex.Message); } finally { unitOfWorkObj.Dispose(); } }
private void Window_Loaded(object sender, RoutedEventArgs e) { IProductRepository productRepository = new FakeProductRepository(); ProductViewModel viewModel = new ProductViewModel(productRepository); this.ucProducts.DataContext = viewModel; }
public void SetUp() { var auctionRespository = new FakeAuctionRepository(); var productRespository = new FakeProductRepository(); productRespository.Add(new AntiqueProduct() { Id = productId }); auctionRespository.AddAuction(new Auction() { Id = auciontId }); sut = new AuctionFacade(auctionRespository, productRespository); }
public void GetProductWithInValidIDThrowsException() { // Arrange IProductRepository productRepository = new FakeProductRepository(); ProductService productService = new ProductService(productRepository); // Act & Assert Assert.Throws<ProductNotFoundException>(() => productService.GetByID("invalid-id")); }
public void DeleteProductHandler_valid() { var repository = new FakeProductRepository(); var handler = new ProductHandler(repository); string id = repository.GetAll().FirstOrDefault().Id; var result = handler.Delete(id); Assert.True(result.Success, result.Message); }
public void DeleteProductHandler_NotExists_Invalid() { var repository = new FakeProductRepository(); var handler = new ProductHandler(repository); string id = Guid.NewGuid().ToString(); var result = handler.Delete(id); Assert.False(result.Success, result.Message); }
public void IsIndexReturnsAllProducts() { // arrange IProductRepository fakeProductRepository = new FakeProductRepository(); ProductController productController = new ProductController(fakeProductRepository); // act ViewResult viewResult = productController.Index() as ViewResult; List <Product> products = viewResult.Model as List <Product>; // assert Assert.AreEqual(products.Count, 3); }
public void AddProductHandler_valid() { var repository = new FakeProductRepository(); var handler = new ProductHandler(repository); var command = new ProductCreateCommand(); command.Name = "Product D"; command.Price = 5.5m; var result = handler.Create(command); Assert.True(result.Success, result.Message); }
public void IsGetProductReturnsTheCorrectProduct() { // arrange var fakeProductRepository = new FakeProductRepository(); var productController = new ProductController(fakeProductRepository); // act var viewResult = productController.GetProduct(2) as ViewResult; Product product = viewResult.Model as Product; // assert Assert.AreEqual(product.Id, 2); }
public void GetProductWithValidIDReturnsProduct() { // Arrange IProductRepository productRepository = new FakeProductRepository(); ProductService productService = new ProductService(productRepository); // Act Product product = productService.GetByID("spr-product"); // Assert Assert.IsNotNull(product); }
public void GetProductModelShouldContainTheRightProduct() { // Arrange var fakeProductRepository = new FakeProductRepository(); var productController = new ProductController(fakeProductRepository); // Act var viewResult = productController.GetProduct(2) as ViewResult; Product product = viewResult.Model as Product; // Assert Assert.AreEqual(product.Id, 2); }
public void AddProductHandler_Lenght_Name_4_Invalid() { var repository = new FakeProductRepository(); var handler = new ProductHandler(repository); var command = new ProductCreateCommand(); command.Name = "Pro"; command.Price = 5.5m; var result = handler.Handle(command); Assert.False(result.Success, result.Message); }
public void AddPromotionHandler_price_invalid() { var repository = new FakeProductRepository(); var handler = new ProductHandler(repository); var command = new ProductPromotionCommand(); command.Id = repository.GetAll().FirstOrDefault().Id; command.Price = 11.5m; var result = handler.Handle(command); Assert.False(result.Success, result.Message); }
public void AddProductHandler_Negative_Price_Invalid() { var repository = new FakeProductRepository(); var handler = new ProductHandler(repository); var command = new ProductCreateCommand(); command.Name = "Product D"; command.Price = -1; var result = handler.Handle(command); Assert.False(result.Success, result.Message); }
public void UpdateProductHandler_Null_Name_Invalid() { var repository = new FakeProductRepository(); var handler = new ProductHandler(repository); var command = new ProductUpdateCommand(); command.Id = repository.GetAll().FirstOrDefault().Id; command.Name = null; command.Price = 5.5m; var result = handler.Update(command); Assert.False(result.Success, result.Message); }
public void DeleteProductHandler_NotExists_Invalid() { var repository = new FakeProductRepository(); var handler = new ProductHandler(repository); string id = repository.GetAll().FirstOrDefault().Id; var command = new ProductDeleteCommand(); command.Id = id; var result = handler.Handle(command); Assert.True(result.Success, result.Message); }
public void Get__Returns_NotFound() { // arrange var repo = FakeProductRepository.Empty(); var controller = this.BuildController(repo); // act var id = 0; var expected = repo.Get(id); var actual = controller.Get(id); // assert Assert.IsNull(expected, "Repository mis-configured."); Assert.IsInstanceOfType(actual, typeof(NotFoundResult), "Expected NotFoundResult."); }
private static void GetProductsTest() { IOptions <FakeOptions> options = Options.Create(new FakeOptions { Quantity = 100 }); IProductRepository productRepository = new FakeProductRepository(new ProductFaker(), options); var products = productRepository.Get("red"); foreach (var product in products) { Console.WriteLine($"{product.Name} {product.Color}"); } }
public void UpdateProductHandler_valid() { var repository = new FakeProductRepository(); var handler = new ProductHandler(repository); var command = new ProductUpdateCommand(); command.Id = repository.GetAll().FirstOrDefault().Id; command.Name = "Product X"; command.Price = 9.5m; var result = handler.Handle(command); Assert.True(result.Success, result.Message); }
public void IndexModelShouldContainTheResultOfTheSearch() { // Arrange IRepositoryProducts fakeProductRepository = new FakeProductRepository(); IReadFromBrowser fakeReadCookie = new FakeReadCookie(); IWriteToBrowser fakeWriteCookie = new FakeWriteCookie(); HomeController homeController = new HomeController(fakeProductRepository, fakeReadCookie, fakeWriteCookie); // Act ViewResult viewResult = homeController.Search("T") as ViewResult; List <Product> products = viewResult.Model as List <Product>; // Should Be products.Count.Should().Be(2); }
public void GetAll__Returns_Populated_IEnumerable() { // arrange var fakeRepo = FakeProductRepository.Multiple(); var controller = this.BuildController(fakeRepo); // act var actual = controller.GetAll(); var result = actual as OkNegotiatedContentResult <IEnumerable <Product> >; // assert Assert.IsNotNull(result, "Expected OkNegotiatedContentResult."); Assert.IsNotNull(result.Content, "Expected Content."); Assert.IsInstanceOfType(result.Content, typeof(IEnumerable <Product>), "Expected Content as IEnumerable<Product>."); Assert.AreEqual(result.Content.Count(), fakeRepo.Count, "Expected matching Count."); }
public void IndexModelShouldBeListOfProducts_UsingFake() { // Arrange var productRepository = new FakeProductRepository(); productRepository.Products = new List <Product> { new Product(), new Product(), new Product() }.AsQueryable(); var productController = new ProductController(productRepository); // Act var result = productController.Index() as ViewResult; // Assert Assert.AreEqual(typeof(List <Product>), result.Model.GetType()); }
public void AddProductTest() { //////////Tests Add Product ////////////// and GetProductByProductID //Arrange FakeProductRepository repo = new FakeProductRepository(); Product testProduct1 = new Product(); testProduct1.ProductID = 1; testProduct1.ProductName = "TLL18 Test"; testProduct1.Price = 39.99M; //testProduct1.Shipping = 5M; testProduct1.InStock = true; //Act repo.AddProduct(testProduct1); //Assert Product contentProductRepo = repo.GetProductByProductID(1); Assert.AreEqual(contentProductRepo.ProductID, testProduct1.ProductID); Assert.AreEqual(contentProductRepo.ProductName, testProduct1.ProductName); ////////////////////// ////////////////////// //////////Tests Add Product ////////////// and GetProductByProductName FakeProductRepository repo2 = new FakeProductRepository(); Product testProduct2 = new Product(); testProduct2.ProductID = 2; testProduct2.ProductName = "TLL24 Test"; testProduct2.Price = 49.99M; //testProduct2.Shipping = 5M; testProduct2.InStock = true; //Act repo.AddProduct(testProduct2); //Assert Product contentProductRepo2 = repo.GetProductByProductName("TLL24 Test"); Assert.AreEqual(contentProductRepo2.ProductID, testProduct2.ProductID); Assert.AreEqual(contentProductRepo2.ProductName, testProduct2.ProductName); }
public void Get__Returns_Product() { // arrange var repo = FakeProductRepository.Single(); var controller = this.BuildController(repo); // act var id = 1; var expected = repo.Get(id); var actual = controller.Get(id); var result = actual as OkNegotiatedContentResult <Product>; // assert Assert.IsNotNull(expected, "Repository mis-configured."); Assert.IsNotNull(result, "Expected OkNegotiatedContentResult."); Assert.AreEqual(expected, result.Content, "Products do not match."); }
public void GetAllItemOfSpsipicUser() { // Arrange IRepositoryUser fakeRepositoryUser = new FakeUserRepository(); IRepositoryProducts fakeRepositoryProducts = new FakeProductRepository(); IReadFromBrowser fakeReadCookie = new FakeReadCookie(); ICheckUserExist fakeCheckUser = new FakeCheckUser(); ILogger fakeLogger = new FakeLogger(); ProductController productController = new ProductController(fakeRepositoryProducts, fakeRepositoryUser, fakeReadCookie, fakeCheckUser, fakeLogger); // Act ViewResult viewResult = productController.MyProducts() as ViewResult; List <Product> products = viewResult.Model as List <Product>; // Should Be products.Count.Should().Be(2); }
public void AddProductTest() { //Arrange FakeProductRepository fakeRepo = new FakeProductRepository(); InputProductController controller = new InputProductController(fakeRepo); Product product = new Product() { ProductId = -1, NameOfProduct = "Surata Tofu", Rating = 4, Review = "great product", }; //Act controller.Index(product); //Assert that my index method in the controller did add my product to the list in my fake repo Product retrievedProduct = fakeRepo.Products.ToList()[0]; Assert.Equal("great product", retrievedProduct.Review); }
public void MuiltChangeTest() { var unitOfWorkObj = new EfUnitOfWork();//{ DbContextFactory = _dbContextFactory }; var unitOfWorkDbContextFactory = new DefualtDbContextFactory() { UnitOfWork = unitOfWorkObj }; var orderRepo = new FakeOrderRepository() { DbContextFactory = unitOfWorkDbContextFactory }; var productRepo = new FakeProductRepository() { DbContextFactory = unitOfWorkDbContextFactory }; var userRepo = new FakeUserRepository() { DbContextFactory = unitOfWorkDbContextFactory }; unitOfWorkObj.BeginTransaction(new UnitOfWorkOptions()); try { //orderRepo.Insert(FakeOrder.Fake()); productRepo.Insert(FakeProduct.Fake()); userRepo.Insert(FakeUser.Fake()); unitOfWorkObj.Commit(); } catch (Exception ex) { unitOfWorkObj.RollBack(); Assert.Fail("发生异常:" + ex.Message); } finally { unitOfWorkObj.Dispose(); } }
public void EditProductWith0asIdTest() { //Arrange FakeProductRepository fakeRepo = new FakeProductRepository(); InputProductController controller = new InputProductController(fakeRepo); Product product = new Product() { ProductId = 0, NameOfProduct = "Surata Tofu", Rating = 4, Review = "great product", }; //Act controller.Edit(product); //because products' id is 0, it should be added Assert.Single(fakeRepo.Products.ToList()); Product retrievedProduct = fakeRepo.Products.ToList()[0]; Assert.Equal("Surata Tofu", retrievedProduct.NameOfProduct); }
public void RemoveProductTest() { //Arrange FakeProductRepository fakeRepo = new FakeProductRepository(); InputProductController controller = new InputProductController(fakeRepo); Product product = new Product() { ProductId = -2, NameOfProduct = "Surata Tofu", Rating = 4, Review = "great product", }; //Act //Add it, then can delete it controller.Index(product); Assert.Single(fakeRepo.Products.ToList()); controller.Delete(product); //Assert that my delete method in the controller did remove my product in the list of my fake repo Assert.Empty(fakeRepo.Products.ToList()); }
public ProductController(FakeProductRepository productRepository) { _productRepository = productRepository; }
public ProductsControllerTest() { IProductRepository productRepository = new FakeProductRepository(); _controller = new ProductsController(productRepository); }