public async System.Threading.Tasks.Task EmployeesEditEditsAsync() { //Arrange Employees employeeTest = new Employees() { LastName = "test1", FirstName = "test1" }; await _EmployeesControllerUnderTest.Create(employeeTest); _db.Entry(employeeTest).State = System.Data.Entity.EntityState.Added; var expectedEmployee = _db.Employees.Find(employeeTest.EmployeeID); _db.Dispose(); employeeTest.LastName = "test2"; employeeTest.FirstName = "test2"; _db = new NorthwindDatabase(); //Act await _EmployeesControllerUnderTest.Edit(employeeTest); _db.Entry(employeeTest).State = System.Data.Entity.EntityState.Modified; var actualEmployee = _db.Employees.Find(employeeTest.EmployeeID); //Assert Assert.AreEqual(expectedEmployee, actualEmployee); DeleteTestFromDb(); }
public async System.Threading.Tasks.Task SuppliersDeleteItemAsync() { //Arrange //init var controller = new NorthwindWeb.Controllers.SuppliersController(); var db = new NorthwindDatabase(); //create Suppliers var Suppliers = new Suppliers() { CompanyName = "TestSuppliersCreate", ContactName = "contact", }; db.Entry(Suppliers).State = System.Data.Entity.EntityState.Added; db.SaveChanges(); //detach Suppliers from db db.Entry(Suppliers).State = System.Data.Entity.EntityState.Detached; db.SaveChanges(); //Act //run controller action await controller.DeleteConfirmed(Suppliers.SupplierID); controller.Dispose(); //Assert //this will throw a InvalidOperationException var actualSuppliers = db.Suppliers.Where(x => x.SupplierID == Suppliers.SupplierID).First(); }
public async System.Threading.Tasks.Task ProductCreateItemAsync() { //Arrange var controller = new ProductController(); var db = new NorthwindDatabase(); int productCountBefore = db.Products.Count(); var product = new Products() { CategoryID = 4, ProductName = "TestProductCreate", Discontinued = false, QuantityPerUnit = "1", UnitPrice = 1, UnitsInStock = 1, ReorderLevel = 0, SupplierID = 1, UnitsOnOrder = 0 }; //Act await controller.Create(product, null); //Assert Assert.AreEqual(productCountBefore + 1, db.Products.Count()); db.Entry(db.Products.Where(x => x.ProductName == product.ProductName).First()).State = System.Data.Entity.EntityState.Deleted; db.SaveChanges(); controller.Dispose(); db.Dispose(); }
public async Task CategoryEditEdits() { //Arrange Categories categoriesTest = new Categories() { CategoryName = "foto" }; await _categoriesControllerTest.Create(categoriesTest); db.Entry(categoriesTest).State = System.Data.Entity.EntityState.Added; var expectedCategory = db.Categories.Find(categoriesTest.CategoryID); db.Dispose(); categoriesTest.CategoryName = "video"; db = new NorthwindDatabase(); //Act await _categoriesControllerTest.Edit(categoriesTest); db.Entry(categoriesTest).State = System.Data.Entity.EntityState.Modified; var actualCategory = db.Categories.Find(categoriesTest.CategoryID); //Assert Assert.AreEqual(expectedCategory, actualCategory); var category = db.Categories.Where(c => (c.CategoryName == "video") || (c.CategoryName == "foto")); db.Categories.RemoveRange(category); db.SaveChanges(); }
public async Task OrdersReturnsEditEdits() { //Arrange Orders orderTest = new Orders() { OrderID = 222, EmployeeID = 3 }; await _ordersControllerUnderTest.Create(orderTest); db.Entry(orderTest).State = System.Data.Entity.EntityState.Added; var expectedOrder = db.Orders.Find(orderTest.OrderID); db.Dispose(); orderTest.EmployeeID = 4; db = new NorthwindDatabase(); //Act await _ordersControllerUnderTest.Edit(orderTest); db.Entry(orderTest).State = System.Data.Entity.EntityState.Modified; var actualOrder = db.Orders.Find(orderTest.OrderID); //Assert Assert.AreEqual(expectedOrder, actualOrder); var orders = db.Orders.Where(o => o.OrderID == orderTest.OrderID && o.EmployeeID == orderTest.EmployeeID); db.Orders.RemoveRange(orders); db.SaveChanges(); }
public async System.Threading.Tasks.Task RegionEditEdits() { //Arrange Region regionTest = new Region() { RegionID = 100, RegionDescription = "Aici" }; await _regionsControllerTest.Create(regionTest); db.Entry(regionTest).State = System.Data.Entity.EntityState.Added; var expectedRegion = db.Regions.Find(regionTest.RegionID); db.Dispose(); regionTest.RegionDescription = "Acolo"; db = new NorthwindDatabase(); //Act await _regionsControllerTest.Edit(regionTest); db.Entry(regionTest).State = System.Data.Entity.EntityState.Modified; var actualRegion = db.Regions.Find(regionTest.RegionID); //Assert Assert.AreEqual(expectedRegion, actualRegion); var region = db.Regions.Where(r => (r.RegionDescription == "Aici") || (r.RegionDescription == "Acolo")); db.Regions.RemoveRange(region); db.SaveChanges(); }
public async Task CustomersReturnsEditEdits() { //Arrange var expectedCustomer = new Customers() { CustomerID = "ZZZZZ", CompanyName = "test" }; db.Customers.Add(expectedCustomer); db.SaveChanges(); db.Entry(expectedCustomer).State = System.Data.Entity.EntityState.Added; db.Dispose(); expectedCustomer.CompanyName = "test2"; db = new NorthwindDatabase(); //Act await _customersControllerUnderTest.Edit(expectedCustomer); db.Entry(expectedCustomer).State = System.Data.Entity.EntityState.Modified; var actualCustomer = db.Customers.Find(expectedCustomer.CustomerID); //Assert Assert.AreEqual(expectedCustomer.CustomerID, actualCustomer.CustomerID); var customerss = db.Customers.Where(c => c.CompanyName == expectedCustomer.CompanyName || c.CompanyName == actualCustomer.CompanyName); db.Customers.RemoveRange(customerss); db.SaveChanges(); }
public async Task ShipperEditEdits() { //Arrange Shippers shipperTest = new Shippers() { CompanyName = "Express", Phone = "0240-111-111" }; await _shippersControllerTest.Create(shipperTest); db.Entry(shipperTest).State = System.Data.Entity.EntityState.Added; var expectedShipper = db.Shippers.Find(shipperTest.ShipperID); db.Dispose(); shipperTest.CompanyName = "Nero Express"; shipperTest.Phone = "0240-222-222"; db = new NorthwindDatabase(); //Act await _shippersControllerTest.Edit(shipperTest); db.Entry(shipperTest).State = System.Data.Entity.EntityState.Modified; var actualShipper = db.Shippers.Find(shipperTest.ShipperID); //Assert Assert.AreEqual(expectedShipper, actualShipper); var shipper = db.Shippers.Where(s => (s.CompanyName == "Express" && s.Phone == "0240-111-111") || (s.CompanyName == "Nero Express" && s.Phone == "0240-222-222")); db.Shippers.RemoveRange(shipper); db.SaveChanges(); }
public void ContactCreateItem() { //Arrange var controller = new NorthwindWeb.Controllers.ContactController(); var db = new NorthwindDatabase(); NorthwindWeb.Models.Persons person = new NorthwindWeb.Models.Persons() { ID = db.Persons.Count() + 1, FirstName = "test1223", LastName = "123331111", Email = "*****@*****.**", Comment = "Buna!" }; //Act var result = controller.Index(person); //Assert Assert.IsNotNull(result); db.Entry(person).State = System.Data.Entity.EntityState.Deleted; db.SaveChanges(); db.Dispose(); }
public DatabaseSamples(string connectionString, MetaModel mapping, TextWriter log) { this.db = new NorthwindDatabase(connectionString, mapping) { Configuration = { Log = log } }; }
public void TestInitialize() { //var xmlMapping = XmlMappingSource.FromStream(typeof(SQLiteTest).Assembly.GetManifestResourceStream("Test.Northwind.Access.map")); //db = new AccessNorthwind("C:/Northwind.mdb"); //db = new AccessNorthwind("C:/Northwind.mdb", xmlMapping); db = new SQLiteNorthwind("C:/Northwind.db3"); db.Log = Console.Out; employees = db.GetTable <Employee>(); products = db.GetTable <Product>(); }
public void TestInitialize() { var xmlMapping = XmlMappingSource.FromStream(typeof(SQLiteTest).Assembly.GetManifestResourceStream("Test.Northwind.Access.map")); //db = new AccessNorthwind("C:/Northwind.mdb"); //db = new AccessNorthwind("C:/Northwind.mdb", xmlMapping); //db = new SQLiteNorthwind("C:/Northwind.db3"); db = new MySqlNorthwind(MySqlNorthwind.CreateConnection("root", "test", "Northwind", "localhost", 3306).ConnectionString); db.Log = Console.Out; }
public void CategoryJsonTableFill() { //Arrange var controller = new CategoriesController(); var db = new NorthwindDatabase(); var categoryCount = db.Categories.Count(); //Act var jsonData = controller.JsonTableFill("").Data as IQueryable <CategoriesData>; //Assert Assert.AreEqual(db.Categories.Count(), jsonData.Count()); db.Dispose(); }
public void ShipperJsonTableFill() { //Arrange var controller = new ShippersController(); var db = new NorthwindDatabase(); var shipperCount = db.Shippers.Count(); //Act var jsonData = controller.JsonTableFill().Data as IQueryable <ShipperData>; //Assert Assert.AreEqual(db.Shippers.Count(), jsonData.Count()); db.Dispose(); }
public void RegionJsonTableFill() { //Arrange var controller = new RegionsController(); var db = new NorthwindDatabase(); var regionCount = db.Regions.Count(); //Act var jsonData = controller.JsonTableFill("").Data as IQueryable <RegionData>; //Assert Assert.AreEqual(db.Regions.Count(), jsonData.Count()); db.Dispose(); }
public void CustomersJsonTableFill() { //Arrange var controller = new CustomersController(); var db = new NorthwindDatabase(); var customersCount = db.Customers.Count(); int draw = 1; int row = 20; //Act var jsonData = controller.JsonTableFill(draw, 0, row).Data as JsonDataTable; //Assert Assert.AreEqual(jsonData.draw, draw); Assert.AreEqual(jsonData.recordsTotal, customersCount); Assert.IsTrue(jsonData.recordsFiltered <= customersCount); db.Dispose(); }
public async Task OrderDetailReturnsEditEdits() { //Arrange Orders OrderTest = new Orders() { OrderID = 22, CustomerID = "ALFKI", EmployeeID = 3 }; Order_Details detailsTest = new Order_Details() { ProductID = 20, UnitPrice = 23, Quantity = 12, Discount = 1, Order = OrderTest }; await _detailsControllerUnderTest.Create(detailsTest, OrderTest.OrderID); db.Entry(detailsTest).State = System.Data.Entity.EntityState.Added; var expectedDetails = db.Order_Details.Find(detailsTest.OrderID, detailsTest.ProductID); db.Dispose(); detailsTest.UnitPrice = 43; detailsTest.Quantity = 22; db = new NorthwindDatabase(); //Act await _detailsControllerUnderTest.Edit(detailsTest); db.Entry(detailsTest).State = System.Data.Entity.EntityState.Modified; var actualDetails = db.Order_Details.Find(detailsTest.OrderID, detailsTest.ProductID); //Assert Assert.AreEqual(expectedDetails, actualDetails); var details = db.Order_Details.Where(o => o.OrderID == detailsTest.OrderID && o.ProductID == detailsTest.ProductID && o.UnitPrice == detailsTest.UnitPrice && o.Quantity == detailsTest.Quantity && o.Discount == detailsTest.Discount); var orders = db.Orders.Find(OrderTest.OrderID); foreach (var orderdet in details) { db.Order_Details.Remove(orderdet); } db.Orders.Remove(orders); db.SaveChanges(); }
public object LinqExercises1() { var db = new NorthwindDatabase(); // Elenco di prodotti che hanno elementi a magazzino // Elenco di prodotti in nome/descrizione/categoria contiene 'bev' (da gestire come parametro) // Valore totale di prodotti che ho a magazzino per categoria // Valore totale di prodotti riordinati per prodotto // Elenco da riordinare // Elenco dei client che ho in USA // Elenco delle categorie ordinate per quantità di prodotto return(null); }
public void ProductsProducts() { //Arrange var controller = new NorthwindWeb.Controllers.ProductsController(); var db = new NorthwindDatabase(); int productCount = db.Products.Count(); int noProductOnPage = 10; //Act var resultView = controller.Products("") as ViewResult; var modelResult = resultView.Model as PagedList.IPagedList <NorthwindWeb.ViewModels.ViewProductCategoryS>; //Assert Assert.IsNotNull(resultView); Assert.IsTrue(modelResult.TotalItemCount == productCount); Assert.IsTrue(modelResult.PageCount * noProductOnPage >= productCount); Assert.IsTrue(modelResult.PageNumber == 1); db.Dispose(); controller.Dispose(); }
public async System.Threading.Tasks.Task SuppliersEditItemAsync() { //Arrange //init var controller = new NorthwindWeb.Controllers.SuppliersController(); var db = new NorthwindDatabase(); //create Suppliers var Suppliers = new Suppliers() { CompanyName = "TestSuppliersCreate", ContactName = "contact", }; db.Entry(Suppliers).State = System.Data.Entity.EntityState.Added; db.SaveChanges(); //detach Suppliers from db db.Entry(Suppliers).State = System.Data.Entity.EntityState.Detached; db.SaveChanges(); //edit name of Suppliers string name = Suppliers.CompanyName; string nameExpected = "test1223"; Suppliers.CompanyName = nameExpected; //Act //run controller action await controller.Edit(Suppliers); controller.Dispose(); string actual = db.Suppliers.Where(x => x.SupplierID == Suppliers.SupplierID).First().CompanyName; //Assert //check and delete Suppliers Assert.AreEqual(nameExpected, actual); Suppliers = db.Suppliers.Where(x => x.SupplierID == Suppliers.SupplierID).First(); Suppliers.CompanyName = name; db.Entry(Suppliers).State = System.Data.Entity.EntityState.Deleted; db.SaveChanges(); db.Dispose(); }
public async System.Threading.Tasks.Task SuppliersCreateItemAsync() { //Arrange var controller = new NorthwindWeb.Controllers.SuppliersController(); var db = new NorthwindDatabase(); int SuppliersCountBefore = db.Suppliers.Count(); var Suppliers = new Suppliers() { CompanyName = "TestSuppliersCreate", ContactName = "contact", }; //Act await controller.Create(Suppliers); //Assert Assert.AreEqual(SuppliersCountBefore + 1, db.Suppliers.Count()); db.Entry(Suppliers).State = System.Data.Entity.EntityState.Deleted; db.SaveChanges(); controller.Dispose(); db.Dispose(); }
public async System.Threading.Tasks.Task ProductEditItemAsync() { //Arrange //init var controller = new ProductController(); var db = new NorthwindDatabase(); //create product var product = new Products() { ProductName = "test", CategoryID = 1, SupplierID = 1 }; db.Entry(product).State = System.Data.Entity.EntityState.Added; db.SaveChanges(); //detach product from db db.Entry(product).State = System.Data.Entity.EntityState.Detached; db.SaveChanges(); //edit name of product string name = product.ProductName; string nameExpected = "test12232"; product.ProductName = nameExpected; //Act //run controller action await controller.Edit(product, null); controller.Dispose(); string actual = db.Products.Where(x => x.ProductID == product.ProductID).First().ProductName; //Assert //check and delete product Assert.AreEqual(nameExpected, actual); product = db.Products.Where(x => x.ProductID == product.ProductID).First(); product.ProductName = name; db.Entry(product).State = System.Data.Entity.EntityState.Deleted; db.SaveChanges(); db.Dispose(); }
public async Task TerritoryEditEdits() { //Arrange Region regionTest = new Region() { RegionID = 100, RegionDescription = "test" }; Territories territoryTest = new Territories() { TerritoryID = "102", TerritoryDescription = "Aici", Region = regionTest }; await _territoriesControllerTest.Create(territoryTest, regionTest.RegionID); db.Entry(territoryTest).State = System.Data.Entity.EntityState.Added; var expectedTerritory = db.Territories.Find(territoryTest.TerritoryID); db.Dispose(); territoryTest.TerritoryDescription = "Acolo"; db = new NorthwindDatabase(); //Act await _territoriesControllerTest.Edit(territoryTest); db.Entry(territoryTest).State = System.Data.Entity.EntityState.Modified; var actualTerritory = db.Territories.Find(territoryTest.TerritoryID); //Assert Assert.AreEqual(expectedTerritory, actualTerritory); var territory = db.Territories.Where(t => (t.TerritoryDescription == "Aici") || (t.TerritoryDescription == "Acolo")); db.Territories.RemoveRange(territory); var regions = db.Regions.Where(t => t.RegionDescription.Contains(regionTest.RegionDescription)); db.Regions.RemoveRange(regions); db.SaveChanges(); }
public async System.Threading.Tasks.Task ProductDeleteItemAsync() { //Arrange var controller = new ProductController(); var db = new NorthwindDatabase(); //create product var product = new Products() { ProductName = "test", CategoryID = 1, SupplierID = 1 }; db.Entry(product).State = System.Data.Entity.EntityState.Added; db.SaveChanges(); //Act try { //run controller action await controller.DeleteConfirmed(product.ProductID); controller.Dispose(); } catch (Exception ex) { //image not found if (!(ex is NullReferenceException)) { throw; } } //Assert //this will throw a InvalidOperationException if (db.Products.Any(x => x.ProductID == product.ProductID)) { Assert.Fail(); } }
public CategoriesController(NorthwindDatabase context) { db = context; }
public object LinqExercises1() { var db = new NorthwindDatabase(); // Elenco di prodotti che hanno elementi a magazzino var prod1 = db.Products.Where(p => p.UnitsInStock > 0) .Select(p => new { p.ProductName, p.UnitsInStock }); //return prod1; // Elenco di prodotti la cui nome categoria contiene 'bev' (da gestire come parametro) string filter = "bev"; //filter = filter.ToLower(); //var prod2 = db.Products.Where(p => p.Category.CategoryName.ToLower().Contains(filter)) // .Select(p => new { p.ProductName, p.Category.CategoryName }); var prod2 = db.Products.Where(p => p.Category.CategoryName .IndexOf(filter, StringComparison.CurrentCultureIgnoreCase) >= 0) .Select(p => new { p.ProductName, p.Category.CategoryName }); //prod2 = db.Products.Where(p => // p.Category.CategoryName.ToLower().Contains(filter) // || p.ProductName.ToLower().Contains(filter) // || p.Category.Description.ToLower().Contains(filter)) // .Select(p => new { p.ProductName, p.Category.CategoryName}); //prod2 = db.Products.Where(p => // ( p.Category.CategoryName + p.Category.Description // + p.ProductName).ToLower().Contains(filter)) // .Select(p => new { p.ProductName, p.Category.CategoryName }); Trace.WriteLine($"prods: {prod2.Count()}"); //return prod2; // Valore totale di prodotti che ho a magazzino var totalValue = db.Products.Sum(p => p.UnitPrice * p.UnitsInStock); var totalValue2 = db.Products.Select(p => p.UnitPrice * p.UnitsInStock).Sum(); Trace.WriteLine($"Total prod value: {totalValue} - {totalValue2}"); // Valore totale di prodotti per categoria var categ1 = db.Categories.Select(c => new { c.CategoryName, TotalValue = db.Products.Where(p => p.Category.Id == c.Id) .Sum(p => p.UnitPrice * p.UnitsInStock) }); categ1 = (from c in db.Categories select new { c.CategoryName, TotalValue = db.Products .Where(p => p.Category.Id == c.Id) .Sum(p => p.UnitPrice * p.UnitsInStock) }); //return categ1; // Elenco dei client che ho in USA var customers = from c in db.Customers where c.Country == "USA" select new { c.Id, c.CompanyName, c.Country }; //return customers; // Elenco delle categorie ordinate per quantità di prodotto var categ2 = db.Categories.Select(c => new { c.CategoryName, ProdQty = db.Products.Where(p => p.Category.Id == c.Id) .Sum(p => p.UnitsInStock) }).OrderBy(c => c.ProdQty).ThenBy(c => c.CategoryName); return(categ2); return(null); }
public object ComplexObjectIntro() { var db = new NorthwindDatabase(); var cat1 = db.Categories.Select(c => new { c.Id, c.CategoryName }); cat1.LogValues(); //db.Categories.LogValues(); var prods1 = db.Products.Where(x => x.Category.Id == 1); var prod = new Product(); prod.Id = 23; prod.UnitsInStock = 213; prod.Category = new Category(); prod.Category.Id = 11; prod.Category.Description = "asljfhasldjfhasldfj"; var prods2 = db.Products.Where(x => x.Category.Id == 1) .Select(x => new { x.Id, x.ProductName, //Categ = x.Category, CategoryId = x.Category.Id, x.Category.CategoryName }); //return prods2; var prodCat1 = db.Products.Where(p => p.Category.Id == 1); var numProds = prodCat1.Count(); var prodCatList = prodCat1.ToList(); //var a = prodCatList.Count; var b = prodCatList.Count(); var numProdsInStock = prodCat1.Sum(p => p.UnitsInStock); //numProdsInStock = prodCat1.Select(p => p.UnitsInStock).Sum(); var avgPrice = prodCat1.Average(p => p.UnitPrice); var ac = prodCat1.Min(p => p.UnitPrice); var bc = prodCat1.Max(p => p.UnitPrice); var prod1 = prodCat1.First(); // almeno 1 elemento var prod2 = prodCat1.FirstOrDefault(); // 0 + //var prod3 = prodCat1.Single(); // 1 di 1 //var prod4 = prodCat1.SingleOrDefault(); // 1 o 0 // --- if (prodCat1.Any(p => p.UnitsInStock > 0)) { // solo se sono presenti elementi } // --- var prodsWithStock = prodCat1.Where(p => p.UnitsInStock > 0); // operazione eseguita 2 volte if (prodsWithStock.Any()) { foreach (var p in prodsWithStock) { // } } if (prodCat1.Where(p => p.UnitsInStock > 0).Any()) { } // ----- var categs = db.Categories.Select(c => new { c.Id, c.CategoryName }); foreach (var cat in categs) { var numProdCateg = db.Products.Count(p => p.Category.Id == cat.Id); Trace.WriteLine($"{cat.CategoryName}: {numProdCateg} products"); } // ----------- var categsWithProds = db.Categories.Select(c => new { c.Id, c.CategoryName, NumProducts = c.Products == null ? 0 : c.Products.Count() }); var categsWithProds1 = db.Categories.Select(c => new { c.Id, c.CategoryName, //NumProducts = db.Products.Where(p => p.Category.Id == c.Id).Count() NumProducts = db.Products.Count(p => p.Category.Id == c.Id) }); return(categsWithProds1); //categsWithProds.ToList(); //return null; }
public MenuViewComponent(NorthwindDatabase context) { _northwindDatabase = context; }
//todo //private log4net.ILog logger = log4net.LogManager.GetLogger(typeof(ProductController)); //Declaring Log4Net to log errors in Event View-er in NorthwindLog Application log. public ProductController(NorthwindDatabase context) { db = context; }
public OrderController(NorthwindDatabase context) { db = context; }