public void Delete_Product_ShouldRemoveProduct() { //arrange SqlProductRepository productRepository = new SqlProductRepository(connectionString); //act bool deleted = productRepository.Delete("p1"); //assert Assert.True(deleted); Assert.DoesNotContain(productRepository.SelectAll(), p => p.Id == "p1"); Assert.Equal(8, productRepository.SelectAll().Count); }
public void Update_Product_ShouldUpdateProduct() { //arrange SqlProductRepository productRepository = new SqlProductRepository(connectionString); Product product = productRepository.SelectAll().First(p => p.Id == "p1"); product.CostPrice = 1.6; //act bool updated = productRepository.Update(product); //assert Assert.True(updated); Assert.Equal(1.6, productRepository.SelectAll().First(p => p.Id == "p1").CostPrice); }
public void SelectAll_Should_Return_All_Products() { SqlProductRepository productRepository = new SqlProductRepository(connectionString); ICollection <Product> products = productRepository.SelectAll(); Assert.Equal(9, products.Count); }
public void Create_Product_ShouldAddProduct() { //arrange SqlProductRepository productRepository = new SqlProductRepository(connectionString); Product product = new Product("p11", "Hammer", 2.20); //act bool created = productRepository.Create(product); //assert Assert.True(created); Assert.Contains(product, productRepository.SelectAll()); }
public void Update_ContrivedOptimisticConcurrencyConflict() { //arrange SqlProductRepository productRepository = new SqlProductRepository(connectionString); Product product1 = productRepository.SelectAll().First(p => p.Id == "p1"); Product product2 = productRepository.SelectAll().First(p => p.Id == "p1"); product1.RetailPrice = 1.50; product2.RetailPrice = 1.55; //act //modifying a row will update the RowVersion column value bool updatedProduct1 = productRepository.Update(product1); //product1 RowVersion property and database RowVersion //column values are now unequal, so the update will fail bool updatedProduct2 = productRepository.Update(product2); //assert Assert.True(updatedProduct1); Assert.False(updatedProduct2); }