Beispiel #1
0
    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