public void Test_UsingGivenDatabaseConnection_Delete() { //---------------Set up test pack------------------- BORegistry.DataAccessor = new DataAccessorInMemory(); MyBO.LoadDefaultClassDef(); MyBO bo = new MyBO(); bo.Save(); bo.MarkForDelete(); DatabaseConnection.CurrentConnection = null; //---------------Assert preconditions--------------- Assert.AreNotSame(_databaseConnection, DatabaseConnection.CurrentConnection); //---------------Execute Test ---------------------- TransactionalBusinessObjectDB transactional = new TransactionalBusinessObjectDB(bo, _databaseConnection); SqlStatement sqlStatement = (SqlStatement)transactional.GetPersistSql().FirstOrDefault(); //---------------Test Result ----------------------- Assert.AreSame(_databaseConnection, sqlStatement.Connection); //---------------Tear down ------------------------- }
public void TestButtonsControl_ClickSaveAcceptsChanges() { //---------------Set up test pack------------------- MyBO.LoadDefaultClassDef(); //---------------Clean from previous tests---------- const string originalText = "testsavechanges"; const string newText = "testsavechanges_edited"; Criteria criteria = new Criteria("TestProp", Criteria.ComparisonOp.Equals, originalText); // MyBO oldBO1 = BORegistry.DataAccessor.BusinessObjectLoader.GetBusinessObject<MyBO>(criteria); // if (oldBO1 != null) // { // oldBO1.MarkForDelete(); // oldBO1.Save(); // } // MyBO oldBO2 = BORegistry.DataAccessor.BusinessObjectLoader.GetBusinessObject<MyBO>(criteria); // if (oldBO2 != null) // { // oldBO2.MarkForDelete(); // oldBO2.Save(); // } MyBO bo = new MyBO { TestProp = originalText }; bo.Save(); BusinessObjectCollection <MyBO> col = new BusinessObjectCollection <MyBO> { bo, new MyBO { TestProp = "SomeText" } }; IEditableGridControl gridControl = GetControlFactory().CreateEditableGridControl(); AddControlToForm(gridControl.Grid); SetupGridColumnsForMyBo(gridControl.Grid); gridControl.Grid.BusinessObjectCollection = col; //---------------Assert Precondition---------------- Assert.AreEqual(3, gridControl.Grid.Rows.Count); Assert.AreEqual(originalText, gridControl.Grid.Rows[0].Cells[1].Value); criteria = new Criteria("TestProp", Criteria.ComparisonOp.Equals, newText); MyBO nullBO = BORegistry.DataAccessor.BusinessObjectLoader.GetBusinessObject <MyBO>(criteria); // MyBO nullBO = BOLoader.Instance.GetBusinessObject<MyBO>("TestProp='" + newText + "'"); Assert.IsNull(nullBO); //---------------Execute Test ---------------------- gridControl.Grid.Rows[0].Cells[1].Value = newText; //---------------Assert Precondition---------------- Assert.AreEqual(newText, gridControl.Grid.Rows[0].Cells[1].Value); gridControl.Grid.SelectedBusinessObject = col[1]; //---------------Execute Test ---------------------- gridControl.Buttons["Save"].PerformClick(); //---------------Test Result ----------------------- Assert.AreEqual(newText, gridControl.Grid.Rows[0].Cells[1].Value); criteria = new Criteria("TestProp", Criteria.ComparisonOp.Equals, newText); MyBO savedBO = BORegistry.DataAccessor.BusinessObjectLoader.GetBusinessObject <MyBO>(criteria); // MyBO savedBO = BOLoader.Instance.GetBusinessObject<MyBO>("TestProp='" + newText + "'"); Assert.IsNotNull(savedBO); //---------------Tear Down-------------------------- savedBO.MarkForDelete(); savedBO.Save(); }