def test__modify(self): t = DbObject(DBH.test) t.tbl_.truncate() t.db_.commit() t.company_id = COMPANY_ID t.name = NAME t.number = NUMBER t.start_date = START_DATE t.status = STATUS self.assertTrue(t.add()) # Add succeeds original_updated_on = t.updated_on t.name = NAME_2 time.sleep(1) # Pause one sec so the modified date will change self.assertTrue(t.modify()) # Modify succeeds rows = t.db_.executesql( """ SELECT id, company_id, name, number, start_date, status, created_on, updated_on FROM test; """ ) self.assertEqual(rows[0][0], t.id) # Id matches self.assertEqual(rows[0][1], COMPANY_ID) # company_id matches self.assertEqual(rows[0][2], NAME_2) # name matches self.assertEqual(rows[0][3], NUMBER) # number matches self.assertEqual(rows[0][4], START_DATE) # start_date matches self.assertEqual(rows[0][5], STATUS) # status matches # Creation and modified dates should be set. self.assertTrue(isinstance(rows[0][6], datetime.datetime)) self.assertTrue(isinstance(rows[0][7], datetime.datetime)) # modified date is updated self.assertNotEqual(t.updated_on, original_updated_on) t.tbl_.truncate() t.db_.commit() return