public void SubmitContactPerson() { // ---- Arrange ---- // set up model DefTblContactPersons def = new DefTblContactPersons(); CRM_web.Models.Model.Model m = CRM_web.Models.Model.Model.GetModel(); TestCase.CleanUp(); m.ExecuteActionQuery(String.Format("DELETE FROM {0} WHERE {1} = {2};", def.TblName, def.Cid.Name, TestContactPerson.cid)); TestCase.PopulateTestData(); m.Cid = TestContactPerson.cid; m.LoadCustomers(); m.LoadContactPersons(TestCustomer.cid); //Thread.Sleep(1000); // set up controller and view model FrmContactPersonController controller = new FrmContactPersonController(); ContactPersonViewModel vm = new ContactPersonViewModel(); vm.Id = TestContactPerson.id; vm.Cid = TestContactPerson.cid; vm.Forename = TestContactPerson.forename; vm.Surname = TestContactPerson.surname; vm.Gender = TestContactPerson.gender; vm.Email = TestContactPerson.email; vm.Phone = TestContactPerson.phone; vm.MainContact = TestContactPerson.mainContact; // ---- Act ---- RedirectToRouteResult result = controller.Submit(vm) as RedirectToRouteResult; Thread.Sleep(1000); m.LoadContactPersons(TestCustomer.cid); Thread.Sleep(1000); // ---- Assert ---- Assert.IsNotNull(result); // check new entries in database int lastEntry = 0; int max = 0; for (int i = 0; i < m.ContactPersons.Count; i++) { if (int.Parse(m.ContactPersons[i][def.Id.Name].ToString()) > max) { max = int.Parse(m.ContactPersons[i][def.Id.Name].ToString()); lastEntry = i; } } Assert.AreEqual(m.ContactPersons[lastEntry][def.Cid.Name], TestContactPerson.cid); Assert.AreEqual(m.ContactPersons[lastEntry][def.Forename.Name], TestContactPerson.forename); Assert.AreEqual(m.ContactPersons[lastEntry][def.Surname.Name], TestContactPerson.surname); Assert.AreEqual(m.ContactPersons[lastEntry][def.Gender.Name], TestContactPerson.gender); Assert.AreEqual(m.ContactPersons[lastEntry][def.Email.Name], TestContactPerson.email); Assert.AreEqual(m.ContactPersons[lastEntry][def.Phone.Name], TestContactPerson.phone); Assert.AreEqual(m.ContactPersons[lastEntry][def.MainContact.Name], TestContactPerson.mainContact); // clean up model m.ExecuteActionQuery(String.Format("DELETE FROM {0} WHERE {1} = {2};", def.TblName, def.Cid.Name, TestContactPerson.cid)); TestCase.CleanUp(); }
public void Submit(Dictionary <ColDef, object> Map, String tblName, Tuple <ColDef, Object> id, EntryMode mode) { String sql = ""; if (mode == EntryMode.New) { foreach (var kv in Map) // remove id if exists { if (kv.Key.Name.Equals(id.Item1.Name)) { Map.Remove(kv.Key); break; } } object _id = model.ExecuteScalar("SELECT (Max(" + id.Item1.Name + ") + 1) FROM " + tblName); // generate new id if (_id.ToString().Equals("")) { _id = 1; } Map.Add(id.Item1, _id); sql = SqlStatements.BuildInsert(tblName, Map); } else if (mode == EntryMode.Edit) { sql = SqlStatements.BuildUpdate(tblName, Map, id); } model.Tasks.Add(new Action <String>(s => model.ExecuteActionQuery(s)).BeginInvoke(sql, null /*p => { CRM.Pages.Navigator.UpdateTablesAsync(); }*/, null)); }
public void SubmitNote() { // ---- Arrange ---- // set up model state CRM_web.Models.Model.Model m = CRM_web.Models.Model.Model.GetModel(); DefTblNotes def = new DefTblNotes(); m.ExecuteActionQuery(String.Format("DELETE FROM {0} WHERE {1} = {2};", def.TblName, def.Cid.Name, TestNote.cid)); TestCase.PopulateTestData(); m.Cid = TestNote.cid; m.LoadCustomers(); m.LoadNotes(TestNote.cid); // set up controller and view model FrmNoteController controller = new FrmNoteController(); NoteViewModel vm = new NoteViewModel(); vm.Id = TestNote.id; vm.Cid = TestNote.cid; vm.CreatedBy = TestNote.createdBy; vm.EntryDate = TestNote.entryDate; vm.Memo = TestNote.memo; vm.Category = TestNote.category; vm.Attachment = TestNote.attachment; // ---- Act ---- RedirectToRouteResult result = controller.Submit(vm) as RedirectToRouteResult; Thread.Sleep(1000); // ---- Assert ---- Assert.AreEqual(TestNote.id, m.Notes[0][def.Id.Name]); Assert.AreEqual(TestNote.cid, m.Notes[0][def.Cid.Name]); Assert.AreEqual(TestNote.createdBy, m.Notes[0][def.CreatedBy.Name]); Assert.AreEqual(TestNote.entryDate, m.Notes[0][def.EntryDate.Name]); Assert.AreEqual(TestNote.memo, m.Notes[0][def.Memo.Name]); Assert.AreEqual(TestNote.category, m.Notes[0][def.Category.Name]); Assert.AreEqual(TestNote.attachment, m.Notes[0][def.Attachment.Name]); TestCase.CleanUp(); }