public void UpdateCustomer_FromPOCO() { using (var cc = new CustomerContext()) { cc.Database.Delete(); cc.Database.Create(); } var repo = new Left4Edit.Models.Repo.EFCustomerRepo(); repo.AddCustomer(CreateTestCustomer_Mem().First()); repo.SaveChanges(); // Make sure the POCO customer was accepted Assert.IsTrue(repo.GetCustomers().Count() == 1 && repo.GetCustomers().First().Symbol == "ASA"); var customer = repo.GetCustomers().First(); customer.Name = "Made some Changes!"; repo.AddCredentialToCustomer( new Credential() { Domain = "Update Test", UserName = "******", Password = "******" }, customer.ID ); repo.UpdateCustomer(customer); repo.SaveChanges(); Assert.IsTrue( repo.GetCustomers().First() .Credentials.Where(c => c.Domain == "Update Test") .Count() == 1 ); Assert.IsTrue( repo.GetCustomers().Where(c => c.Name == "Made some Changes!").Count() == 1 ); }
public void EF_Include() { // preperation var EFcustomer = CreateTestCustomer_EF().First(); using (var cc = new CustomerContext()) { cc.Database.Delete(); cc.Database.Create(); cc.Customers.Add(EFcustomer); cc.SaveChanges(); EFcustomer = cc.Customers .Include(c => c.Contacts) .Include(c => c.Credentials) .Include(c => c.Nodes).FirstOrDefault(); } // Make sure Include properties work Assert.IsNotNull(EFcustomer.Contacts); Assert.IsNotNull(EFcustomer.Credentials); Assert.IsNotNull(EFcustomer.Nodes); }
public void UpdateCustomer() { using (var cc = new CustomerContext()) { cc.Database.Delete(); cc.Database.Create(); } var repo = new Left4Edit.Models.Repo.EFCustomerRepo(); repo.AddCustomer(CreateTestCustomer_EF().First()); repo.SaveChanges(); var customer = repo.GetCustomers().First(); Int32 customerKey = customer.ID; String customerName = customer.Name; String newCustomerName = "APPLE SAUCE!"; customer.Name = newCustomerName; repo.UpdateCustomer(customer); repo.SaveChanges(); customer = repo.GetCustomer(customerKey); Assert.IsTrue(customer.Name == newCustomerName); }
public void EF_Customer_Poco_Add() { using (var cc = new CustomerContext()) { cc.Database.Delete(); cc.Database.Create(); } Left4Edit.Models.Repo.ICustomerRepo repo = new Left4Edit.Models.Repo.EFCustomerRepo(); Customer pocoCustomer = new Customer() { Name = "Poco Inc", Symbol = "POI", Contacts = new List<Contact>() { new Contact() { FirstName = "No way", LastName = "This works!", Email = "*****@*****.**" } } }; repo.AddCustomer(pocoCustomer); repo.SaveChanges(); Assert.IsTrue(repo.GetCustomers().First().Name == "Poco Inc"); Assert.IsTrue(repo.GetCustomers().First().Contacts.First().FirstName == "No way"); }
public void EF_Customer_GetCustomer() { using (var cc = new CustomerContext()) { cc.Database.Delete(); cc.Database.Create(); } Left4Edit.Models.Repo.ICustomerRepo repo = new Left4Edit.Models.Repo.EFCustomerRepo(); repo.AddCustomer(CreateTestCustomer_EF().First()); repo.SaveChanges(); var cust = repo.GetCustomer(repo.GetCustomers().First().ID); Assert.IsNotNull(cust); Assert.IsNotNull(cust.Credentials); Assert.IsNotNull(cust.Contacts); Assert.IsNotNull(cust.Nodes); Assert.IsNotNull( cust.Nodes.Where(n => n.Address == "node1.billmcg.com") .First().Credentials ); }
public void EF_Customer_AddItems() { using (var cc = new CustomerContext()) { cc.Database.Delete(); cc.Database.Create(); } var repo = new Left4Edit.Models.Repo.EFCustomerRepo(); var customer = CreateTestCustomer_EF().ElementAt(0); repo.AddCustomer(customer); repo.SaveChanges(); var newCredential = repo.CreateCredential(); newCredential.Domain = "+DOMAIN"; newCredential.UserName = "******"; newCredential.Password = "******"; repo.AddCredentialToCustomer(newCredential, customer.ID); repo.SaveChanges(); var newContact = repo.CreateContact(); newContact.FirstName = "Added"; newContact.LastName = "Contact"; newContact.Email = "*****@*****.**"; repo.AddContactToCustomer(newContact, customer.ID); //repo.SaveChanges(); var newNode = repo.CreateNode(); newNode.Name = "Added node"; newNode.Address = "added.billmcg.com"; repo.AddNodeToCustomer(newNode, customer.ID); repo.AddCredentialToNode(newCredential, newNode.ID); repo.SaveChanges(); // Assert tiem var node = repo.GetNodes().Where(n => n.Name == "Added node").First(); Assert.IsTrue(node.Credentials.Any(c => c.Domain == "+DOMAIN")); var contact = repo.GetCustomerContacts(customer.ID) .Where(c => c.Email == "*****@*****.**") .First(); Assert.IsTrue(contact.LastName == "Contact"); var sharedCredential = customer.Credentials.Where(c => c.Domain == "+DOMAIN").First(); Assert.IsTrue( sharedCredential.ID == node.Credentials.Where( c => c.Domain == "+DOMAIN" ).First().ID ); }
public static IEnumerable<Customer> CreateTestCustomer_EF() { // Preparation using (var cc = new CustomerContext()) { var customer = cc.Customers.Create(); var contact1 = cc.Contacts.Create(); var contact2 = cc.Contacts.Create(); var node1 = cc.Nodes.Create(); var node2 = cc.Nodes.Create(); var node3 = cc.Nodes.Create(); var credential1 = cc.Credentials.Create(); var credential2 = cc.Credentials.Create(); var credential3 = cc.Credentials.Create(); // Build customer customer.Name = "Test Customer"; customer.Symbol = "ASA"; // Build contact1 contact1.FirstName = "Anita"; contact1.LastName = "Neal"; contact1.Email = "*****@*****.**"; // Build contact2 contact2.FirstName = "Monster"; contact2.LastName = "Energy"; contact2.Email = "*****@*****.**"; // build node1 node1.Address = "node1.billmcg.com"; node1.Name = "Node1 is best node!"; node1.Comment = "No comment here"; // build node2 node2.Address = "node2.billmcg.com"; node2.Name = "Node2 FTW!"; node2.Comment = "Worst Connection US"; // build node3 node2.Address = "node3.billmcg.com"; node2.Name = "Test Server"; node3.Comment = "Use RDP fool"; // build credential1 credential1.Domain = "SPLITH"; credential1.UserName = "******"; credential1.Password = "******"; // build credential2 credential2.Domain = "AURORA_NT"; credential2.UserName = "******"; credential2.Password = "******"; // build credential3 credential3.Domain = "AURORA_NT"; credential3.UserName = "******"; credential3.Password = "******"; // assembly customer.Contacts.Add(contact1); customer.Contacts.Add(contact2); customer.Credentials.Add(credential2); customer.Credentials.Add(credential3); customer.Nodes.Add(node1); customer.Nodes.Add(node2); customer.Nodes.Add(node3); node1.Credentials.Add(credential1); return new List<Customer>(new Customer[] {customer}); } }
public void DeleteCustomer_FromPOCO() { using (var cc = new CustomerContext()) { cc.Database.Delete(); cc.Database.Create(); } var repo = new Left4Edit.Models.Repo.EFCustomerRepo(); repo.AddCustomer(CreateTestCustomer_EF().First()); repo.SaveChanges(); var existingCustomer = repo.GetCustomers().First(); Customer customerToDelete = new Customer() { ID = existingCustomer.ID, Name = "Test Customer", Symbol = "ASA" }; repo.DeleteCustomer(customerToDelete); repo.SaveChanges(); Assert.IsTrue(repo.GetCustomers().Count() == 0); }