public void TestMessageTwoPersistSimpleBO_Failing() { //---------------Set up test pack------------------- FakeBOWithCustomRule fakeBO = new FakeBOWithCustomRule(); TransactionCommitter committerDB = new TransactionCommitterStub(); committerDB.AddBusinessObject(fakeBO); ContactPersonTestBO.LoadClassDefWithAddressesRelationship_DeleteRelated(); ContactPersonTestBO contactPersonTestBO = ContactPersonTestBO.CreateSavedContactPersonNoAddresses(); contactPersonTestBO.Surname = null; committerDB.AddBusinessObject(contactPersonTestBO); //---------------Execute Test ---------------------- try { committerDB.CommitTransaction(); } catch (BusObjectInAnInvalidStateException ex) //---------------Test Result ----------------------- { Assert.IsTrue(ex.Message.Contains(_customRuleErrorMessage)); Assert.IsTrue(ex.Message.Contains("Surname")); } }
public void TestAfterLoadCalled_GetCollection_Generic_NotReloaded() { //---------------Set up test pack------------------- BORegistry.BusinessObjectManager = new BusinessObjectManagerSpy(); SetupDefaultContactPersonBO(); ContactPersonTestBO cp = ContactPersonTestBO.CreateSavedContactPersonNoAddresses(); ContactPersonTestBO.CreateSavedContactPerson(); BORegistry.BusinessObjectManager = new BusinessObjectManagerSpy(); //---------------Assert Precondition---------------- Assert.IsFalse(cp.AfterLoadCalled); //---------------Execute Test ---------------------- Criteria criteria = new Criteria ("ContactPersonID", Criteria.ComparisonOp.Equals, cp.ContactPersonID.ToString("B")); BusinessObjectCollection <ContactPersonTestBO> col = BORegistry.DataAccessor.BusinessObjectLoader.GetBusinessObjectCollection <ContactPersonTestBO> (criteria); //---------------Test Result ----------------------- Assert.AreEqual(1, col.Count); ContactPersonTestBO loadedBO = col[0]; Assert.IsTrue(loadedBO.AfterLoadCalled); //This works because if the object is not dirty then it is refreshed from the database }
public void TestGetRelatedBusinessObjectCollection_SortOrder_ChangeOrder() { //---------------Set up test pack------------------- ClassDef.ClassDefs.Clear(); ContactPersonTestBO.LoadClassDefWithAddressesRelationship_SortOrder_AddressLine1(); ContactPersonTestBO cp = ContactPersonTestBO.CreateSavedContactPersonNoAddresses(); AddressTestBO address1 = new AddressTestBO(); address1.ContactPersonID = cp.ContactPersonID; address1.AddressLine1 = "ffff"; address1.Save(); AddressTestBO address2 = new AddressTestBO(); address2.ContactPersonID = cp.ContactPersonID; address2.AddressLine1 = "bbbb"; address2.Save(); //---------------Assert PreConditions--------------- RelatedBusinessObjectCollection <AddressTestBO> addresses = cp.Addresses; Assert.AreEqual(2, addresses.Count); Assert.AreSame(address1, addresses[1]); Assert.AreSame(address2, addresses[0]); //---------------Execute Test ---------------------- address2.AddressLine1 = "zzzzz"; address2.Save(); RelatedBusinessObjectCollection <AddressTestBO> addressesAfterChangeOrder = cp.Addresses; //---------------Test Result ----------------------- Assert.AreSame(address1, addressesAfterChangeOrder[0]); Assert.AreSame(address2, addressesAfterChangeOrder[1]); }
public void TestRemoveRelatedObject_AsBusinessObjectCollection() { //-----Create Test pack--------------------- ClassDef.ClassDefs.Clear(); ContactPersonTestBO.LoadClassDefWithAddressesRelationship_DeleteRelated(); ContactPersonTestBO contactPersonTestBO = ContactPersonTestBO.CreateSavedContactPersonNoAddresses(); AddressTestBO address = contactPersonTestBO.Addresses.CreateBusinessObject(); address.Save(); //-------Assert Precondition ------------------------------------ Assert.AreEqual(1, contactPersonTestBO.Addresses.Count); //-----Run tests---------------------------- BusinessObjectCollection <AddressTestBO> addresses = contactPersonTestBO.Addresses; addresses.Remove(address); ////-----Test results------------------------- Assert.AreEqual(1, addresses.RemovedBusinessObjects.Count); Assert.AreEqual(0, addresses.Count); Assert.IsNull(address.ContactPersonID); Assert.IsNull(address.ContactPersonTestBO); // Assert.IsTrue(address.Status.IsDeleted); Assert.AreEqual(1, addresses.PersistedBusinessObjects.Count); }
public void Test_TestCreatedChildBO_ParentSet() { //Test that the parent business object is set for a // child bo that is created by the collection //---------------Set up test pack------------------- ClassDef.ClassDefs.Clear(); BORegistry.DataAccessor = new DataAccessorInMemory(); ContactPersonTestBO.LoadClassDefWithAddresBOsRelationship_AddressReverseRelationshipConfigured(); ContactPersonTestBO contactPersonTestBO = ContactPersonTestBO.CreateSavedContactPersonNoAddresses(); //---------------Assert Precondition---------------- //---------------Execute Test ---------------------- AddressTestBO address = contactPersonTestBO.AddressTestBOs.CreateBusinessObject(); //---------------Test Result ----------------------- Assert.IsNotNull(address.ContactPersonTestBO); Assert.IsNotNull(address.ContactPersonID); }
public void TestAfterLoadCalled_GetBusinessObject() { //---------------Set up test pack------------------- SetupDefaultContactPersonBO(); ContactPersonTestBO cp = ContactPersonTestBO.CreateSavedContactPersonNoAddresses(); BORegistry.BusinessObjectManager = new BusinessObjectManagerSpy();//Ensures a new BOMan is created and used for each test //---------------Assert Precondition---------------- //---------------Execute Test ---------------------- ContactPersonTestBO loadedCP = BORegistry.DataAccessor.BusinessObjectLoader.GetBusinessObject <ContactPersonTestBO>(cp.ID); //---------------Test Result ----------------------- Assert.AreNotSame(cp, loadedCP); Assert.IsTrue(loadedCP.AfterLoadCalled); }
public void TestRemoveRelatedObject_SetsRemovedBO() { //-----Create Test pack--------------------- ClassDef.ClassDefs.Clear(); ContactPersonTestBO.LoadClassDefWithAddressesRelationship_DeleteRelated(); ContactPersonTestBO contactPersonTestBO = ContactPersonTestBO.CreateSavedContactPersonNoAddresses(); RelatedBusinessObjectCollection <AddressTestBO> addresses1 = contactPersonTestBO.Addresses; AddressTestBO address = addresses1.CreateBusinessObject(); address.Save(); //-----Run tests---------------------------- RelatedBusinessObjectCollection <AddressTestBO> addresses = addresses1; addresses.Remove(address); ////-----Test results------------------------- Assert.AreSame(contactPersonTestBO, address.Relationships.GetSingle <ContactPersonTestBO>("ContactPersonTestBO").RemovedBO); }
public void TestSetupComboBoxFromClassDef_SetsItemsInComboBox() { //---------------Set up test pack------------------- IClassDef classDef = ContactPersonTestBO.LoadClassDefOrganisationTestBORelationship_MultipleReverse(); OrganisationTestBO.LoadDefaultClassDef(); ContactPerson.DeleteAllContactPeople(); OrganisationTestBO.ClearAllFromDB(); OrganisationTestBO.CreateSavedOrganisation(); OrganisationTestBO.CreateSavedOrganisation(); ContactPersonTestBO.CreateSavedContactPersonNoAddresses(); TestUtil.WaitForGC(); BusinessObjectCollection <ContactPersonTestBO> col = new BusinessObjectCollection <ContactPersonTestBO>(); col.LoadAll(); IEditableGridControl gridControl = GetControlFactory().CreateEditableGridControl(); GridInitialiser gridInitialiser = new GridInitialiser(gridControl, GetControlFactory()); //--------------Assert PreConditions---------------- Assert.AreEqual(0, gridControl.Grid.Columns.Count); Assert.AreEqual(1, classDef.UIDefCol.Count); const string uiDefName = "default"; IUIGrid uiGridDef = classDef.UIDefCol[uiDefName].UIGrid; Assert.IsNotNull(uiGridDef); Assert.AreEqual(1, uiGridDef.Count); Assert.AreEqual(1, col.Count); Assert.AreEqual(2, BORegistry.DataAccessor.BusinessObjectLoader.GetBusinessObjectCollection <OrganisationTestBO> ("").Count); //---------------Execute Test ---------------------- gridInitialiser.InitialiseGrid(classDef, uiDefName); //---------------Test Result ----------------------- Assert.AreEqual(2, gridControl.Grid.Columns.Count, "Should have ID column and should have comboBoxColumn"); IDataGridViewColumn dataGridViewColumn = gridControl.Grid.Columns[1]; AssertIsComboBoxColumnType(dataGridViewColumn); AssertComboBoxItemCount(dataGridViewColumn, 3); }
public void TestAfterLoadCalled_GetCollection_Generic_Reloaded() { //---------------Set up test pack------------------- SetupDefaultContactPersonBO(); ContactPersonTestBO cp = ContactPersonTestBO.CreateSavedContactPersonNoAddresses(); BORegistry.BusinessObjectManager = new BusinessObjectManagerSpy(); //---------------Assert Precondition---------------- //---------------Execute Test ---------------------- Criteria criteria = new Criteria ("ContactPersonID", Criteria.ComparisonOp.Equals, cp.ContactPersonID.ToString("B")); BusinessObjectCollection <ContactPersonTestBO> col = BORegistry.DataAccessor.BusinessObjectLoader.GetBusinessObjectCollection <ContactPersonTestBO> (criteria); //---------------Test Result ----------------------- Assert.AreEqual(1, col.Count); Assert.AreNotSame(cp, col[0]); Assert.IsTrue(col[0].AfterLoadCalled); }
public void TestAfterLoadCalled_GetCollection_NonGeneric_NotReloaded() { //---------------Set up test pack------------------- IClassDef classDef = SetupDefaultContactPersonBO(); ContactPersonTestBO cp = ContactPersonTestBO.CreateSavedContactPersonNoAddresses(); BORegistry.BusinessObjectManager = new BusinessObjectManagerSpy(); //---------------Assert Precondition---------------- Assert.IsFalse(cp.AfterLoadCalled); //---------------Execute Test ---------------------- Criteria criteria = new Criteria ("ContactPersonID", Criteria.ComparisonOp.Equals, cp.ContactPersonID.ToString("B")); IBusinessObjectCollection col = BORegistry.DataAccessor.BusinessObjectLoader.GetBusinessObjectCollection(classDef, criteria); //---------------Test Result ----------------------- Assert.AreEqual(1, col.Count); ContactPersonTestBO loadedCP = (ContactPersonTestBO)col[0]; Assert.IsTrue(loadedCP.AfterLoadCalled); Assert.IsInstanceOf(typeof(BusinessObjectCollection <ContactPersonTestBO>), col); }