public async Task CustomerIntegrationTest() { // Create DB Context var configuration = new ConfigurationBuilder() .AddJsonFile("appsettings.json") .AddEnvironmentVariables() .Build(); var optionsBuilder = new DbContextOptionsBuilder <CustomerContext>(); optionsBuilder.UseSqlServer(configuration["ConnectionStrings:DefaultConnection"]); var context = new CustomerContext(optionsBuilder.Options); //Just to make sure: Delete all existing customers in the DB await context.Database.EnsureDeletedAsync(); await context.Database.EnsureCreatedAsync(); //Create Controller var controller = new CustomerController(context); //Add Customer await controller.Add(new Customer() { CustomerName = "FooBar" }); //Check: Does GetAll return the added Customer? var result = (await controller.GetAll()).ToArray(); Assert.Single(result); Assert.Equal("FooBar", result[0].CustomerName); }
public void ControllerAddPayload() { var payload = new Customer() { FirstName = "Danny", LastName = "Jones" }; var CustomerControls = new CustomerController(); CustomerControls.Add(payload); }
public void Add_Returns_ViewResult() { //Arrange var unit = new Mock <ISportsUnitWork>(); var custs = new Mock <IRepository <Customer> >(); var countries = new Mock <IRepository <Country> >(); unit.Setup(r => r.Customers).Returns(custs.Object); unit.Setup(r => r.Countries).Returns(countries.Object); var controller = new CustomerController(unit.Object); //Act var result = controller.Add(); //Assert Assert.IsType <ViewResult>(result); }
public List <JObject> Parse(string action) { Function fn; var ReturnObject = new List <JObject>(); if (Actions.TryGetValue(action, out fn)) { if (fn.QueryFields.Length > 0) { Console.Write(fn.Verb + " " + fn.Domain + ":"); this._prompt = action; Console.WriteLine("Query Builder:"); var QueryObjects = new List <JObject>(); while (true) { //Create a new Jobject and assign query fields var Jobject = new JObject(); foreach (string s in fn.QueryFields) { Console.Write(s); Console.Write(':'); var value = Console.ReadLine(); if (s.Contains("Id")) { int i = Int32.Parse(value); } Jobject[s] = value; } QueryObjects.Add(Jobject); if (fn.MultiQuery == true) { Console.WriteLine("Add Another?: Y/N"); if (Console.ReadLine() == "N") { break; } } else { break; } } //Return a JOBJect list to calling function if (fn.Verb == "Add") { if (fn.Domain == "Customer") { var controller = new CustomerController(); foreach (JObject j in QueryObjects) { Customer c = controller.Format(j); var x = controller.Add(c); ReturnObject.Add(JObject.FromObject(x)); } Console.WriteLine("Successfully Added Customer"); } if (fn.Domain == "Order") { var controller = new OrderController(); int id = 0; foreach (JObject j in QueryObjects) { Order c = controller.Format(j); c.Date = DateTime.Now; if (c.OrderId == 0 && id == 0) { id = controller.max() + 1; c.OrderId = id; } if (c.OrderId == 0 && id != 0) { c.OrderId = id; } controller.Add(c); } if (id != 0) { var j = new JObject(); j["New Order Id"] = id; ReturnObject.Add(j); } } } if (fn.Verb == "Show") { if (fn.Domain == "Customer") { var qobject = QueryObjects[0]; var controller = new OrderController(); var o = controller .Where($"x=> x.CustomerId==\"{qobject["CustomerId"]}\"") .Include(x => x.Location) .Include(x => x.Product).ToList(); foreach (Order O in o) { var J = new JObject(); J["Location"] = O.Location.Name; J["Product"] = O.Product.Name; J["Qty"] = O.Qty; J["Date"] = O.Date; ReturnObject.Add(J); } } if (fn.Domain == "Order") { var qobject = QueryObjects[0]; var controller = new OrderController(); List <Order> o = controller.Where($"OrderId=\"{qobject["Id"]}\"") .Include(x => x.Customer) .Include(x => x.Product) .Include(x => x.Location) .ToList(); foreach (Order O in o) { var J = new JObject(); J["Location"] = O.Location.Name; J["Product"] = O.Product.Name; J["Customer"] = O.Customer.FirstName + " " + O.Customer.LastName; J["Qty"] = O.Qty; J["Date"] = O.Date; ReturnObject.Add(J); } } if (fn.Domain == "Location") { var qobject = QueryObjects[0]; var controller = new OrderController(); List <Order> o = controller.Where($"x=>x.LocationId=\"{qobject["Id"]}\"") .Include(x => x.Location) .Include(x => x.Product) .Include(x => x.Customer).ToList() ; foreach (Order O in o) { var J = new JObject(); J["Location"] = O.Location.Name; J["Product"] = O.Product.Name; J["Customer"] = O.Customer.FirstName + " " + O.Customer.LastName; J["Qty"] = O.Qty; J["Date"] = O.Date; ReturnObject.Add(J); } } } if (fn.Verb == "Search") { if (fn.Domain == "Customer") { var qobject = QueryObjects[0]; var controller = new CustomerController(); string condition = $"FirstName=\"{qobject["FirstName"]}\" && LastName=\"{qobject["LastName"]}\""; var found = controller.Where(condition); foreach (Customer C in found) { var J = JObject.FromObject(C); ReturnObject.Add(J); } }/* * if (fn.Domain == "Order") * { * var qobject = QueryObjects[0]; * var controller = new OrderController(); * var found = controller.Where($"x.Customer.FirstName=={qobject["FirstName"]} && x.Customer.LastName=={qobject["LastName"]}"); * foreach (Customer C in found) * { * var J = JObject.FromObject(C); * ReturnObject.Add(J); * } * } */ } } return(ReturnObject); } else { throw new ArgumentException($"Command Not Found Please Try Again"); } }