dabo Commit
Revision 6371
Date: 2011-02-01 16:56:01 -0800 (Tue, 01 Feb 2011)
Author: Paul
Trac: http://trac.dabodev.com/changeset/6371
Changed:
U trunk/dabo/biz/test/test_dBizobj.py
Log:
Added a test case for ticket #1101. It does show some inconsistencies which I'll
discuss in the ticket.
Diff:
Modified: trunk/dabo/biz/test/test_dBizobj.py
===================================================================
--- trunk/dabo/biz/test/test_dBizobj.py 2011-02-02 00:32:54 UTC (rev 6370)
+++ trunk/dabo/biz/test/test_dBizobj.py 2011-02-02 00:56:01 UTC (rev 6371)
@@ -265,6 +265,46 @@
self.assertEqual(bizChild.RowCount, 0)
self.assertEqual(bizMain.RowCount, 2)
+
+ def testSaveNewUnchanged(self):
+ """See ticket #1101"""
+ bizMain = self.biz
+ bizChild = dabo.biz.dBizobj(self.con)
+ bizChild.KeyField = "pk"
+ bizChild.DataSource = self.temp_child_table_name
+ bizChild.LinkField = "parent_fk"
+ bizChild.FillLinkFromParent = True
+
+ bizMain.addChild(bizChild)
+ bizMain.requery()
+
+ # test case 1: True in both parent/child, record should save to
backend:
+ bizMain.SaveNewUnchanged = True
+ bizChild.SaveNewUnchanged = True
+ bizChild.new()
+ self.assertEqual(bizChild.RowCount, 3)
+ self.assertEqual(bizMain.isAnyChanged(), True)
+ bizMain.save()
+ self.assertEqual(bizMain.isAnyChanged(), False)
+ self.assertEqual(bizChild.RowCount, 3)
+ test_sql = "select count(*) as count from %s where parent_fk =
?" % self.temp_child_table_name
+ temp = bizMain.getTempCursor(test_sql, (bizMain.Record.pk,))
+ self.assertEqual(bizChild.RowCount, temp.Record.count)
+
+ # test case 2: False in parent but True in child: won't save
child changes but will keep prompting
+ bizMain.SaveNewUnchanged = False
+ bizChild.new()
+ self.assertEqual(bizChild.RowCount, 4)
+ self.assertEqual(bizMain.isAnyChanged(), False) ## because
False in bizMain
+ self.assertEqual(bizMain.getChangedRows(), [])
+ self.assertEqual(bizChild.isAnyChanged(), True) ## because
True in bizMain
+ bizMain.save()
+ self.assertEqual(bizChild.RowCount, 4)
+ temp = bizMain.getTempCursor(test_sql, (bizMain.Record.pk,))
+ self.assertEqual(bizChild.RowCount, temp.Record.count) ##
record should have been saved
+ self.assertEqual(bizMain.getChangedRows(), [])
+
+
def testMementos(self):
biz = self.biz
cur = biz._CurrentCursor
_______________________________________________
Post Messages to: [email protected]
Subscription Maintenance: http://leafe.com/mailman/listinfo/dabo-dev
Searchable Archives: http://leafe.com/archives/search/dabo-dev
This message:
http://leafe.com/archives/byMID/[email protected]