class RegistrationArchivingTest(TestCase): def setUp(self): # Start with a confirmed registration self.reg = RegistrationFactory(archive_time=None) def test_save_with_archive_version(self): orig_change_count = self.reg.change_count self.reg.change_count = 99 self.reg.save_with_archive_version() # See what's in the DB for this record cur_reg = Registration.objects.get(citizen=self.reg.citizen) self.assertEqual(99, cur_reg.change_count) # See if there's an archive record now archive = Registration.objects.archived().get(citizen=self.reg.citizen) self.assertNotEqual(archive.pk, self.reg.pk) self.assertEqual(orig_change_count, archive.change_count) self.assertTrue(archive.archive_time <= now()) # And the times match self.assertEqual(archive.archive_time, cur_reg.creation_date)