def testDontSaveAutoInitialIgnoreDuplicatesOnAdd(self): with reversion.create_revision(): reversion.set_ignore_duplicates(True) reversion.set_auto_initial(True, [ReversionTestModel1]) self.test13.name = "model1 instance3 version2" self.test13.save() # Test that no revision at all is saved because it's a new object # and ignore duplicates is activated self.assertEqual(reversion.get_for_object(self.test13).count(), 0)
def testDontSaveAutoInitialOnAdd(self): with reversion.create_revision(): self.assertFalse(reversion.get_auto_initial()) reversion.set_auto_initial(True, [ReversionTestModel1]) self.assertTrue(reversion.get_auto_initial()) self.test13.name = "model1 instance3 version2" self.test13.save() # Test that no initial is saved because it's a new object self.assertEqual(reversion.get_for_object(self.test13).count(), 1)
def testCanSaveAutoInitialOnChange(self): self.assertEqual(reversion.get_for_object(self.test11).count(), 0) with reversion.create_revision(): reversion.set_auto_initial(True, [ReversionTestModel1, ReversionTestModel2]) self.test11.name = "model1 instance1 version2" self.test11.save() self.test12.save() self.test21.save() self.test22.save() # Test that an initial is save because there's a data change and no previous revision self.assertEqual(reversion.get_for_object(self.test11).count(), 2)
def testDontSaveAutoInitialOnDelete(self): self.assertEqual(Version.objects.count(), 0) with reversion.create_revision(): self.test11.save() self.test12.save() self.test21.save() self.test22.save() self.assertEqual(reversion.get_for_object(self.test11).count(), 1) with reversion.create_revision(): reversion.set_auto_initial(True, [ReversionTestModel1]) self.test11.delete() # Test that no initial is saved on delete versions = reversion.get_deleted(ReversionTestModel1) self.assertEqual(len(versions), 1) self.assertEqual(Version.objects.filter(type=VERSION_ADD).count(), 0) self.assertEqual(Version.objects.filter(type=VERSION_CHANGE).count(), 4) self.assertEqual(Version.objects.filter(type=VERSION_DELETE).count(), 1)
def testDontSaveAutoInitialIgnoreDuplicatesOnChange(self): self.assertEqual(reversion.get_for_object(self.test11).count(), 0) with reversion.create_revision(): reversion.set_ignore_duplicates(True) reversion.set_auto_initial(True, [ReversionTestModel1, ReversionTestModel2]) self.test11.save() self.test12.save() self.test21.save() self.test22.save() # Test that no revision at all is saved because there's no data change # and ignore duplicates is activated self.assertEqual(reversion.get_for_object(self.test11).count(), 0) with reversion.create_revision(): reversion.set_ignore_duplicates(True) reversion.set_auto_initial(True, [ReversionTestModel1]) self.test11.name = "model1 instance1 version3" self.test11.save() # Test that initial and normal revision are saved because there's data change self.assertEqual(reversion.get_for_object(self.test11).count(), 2)
def testDontSaveAutoInitialOnChange(self): self.assertEqual(reversion.get_for_object(self.test11).count(), 0) with reversion.create_revision(): self.assertFalse(reversion.get_auto_initial()) reversion.set_auto_initial(True, [ReversionTestModel1, ReversionTestModel2]) self.assertTrue(reversion.get_auto_initial()) self.test11.save() self.test12.save() self.test21.save() self.test22.save() # Test that no initial is saved because there's no data change self.assertEqual(reversion.get_for_object(self.test11).count(), 1) with reversion.create_revision(): self.assertFalse(reversion.get_auto_initial()) reversion.set_auto_initial(True, [ReversionTestModel1]) self.assertTrue(reversion.get_auto_initial()) self.test11.name = "model1 instance1 version3" self.test11.save() # Test that no initial is saved because there's a previous revision self.assertEqual(reversion.get_for_object(self.test11).count(), 2)
def testCanSaveAutoInitialOnDelete(self): self.assertEqual(Version.objects.count(), 0) with reversion.create_revision(): reversion.set_auto_initial(True, [ReversionTestModel1]) self.test11.delete() # Test that an initial is saved on delete versions = reversion.get_deleted(ReversionTestModel1) self.assertEqual(len(versions), 1) self.assertEqual(Version.objects.filter(type=VERSION_ADD).count(), 1) self.assertEqual(Version.objects.filter(type=VERSION_CHANGE).count(), 0) self.assertEqual(Version.objects.filter(type=VERSION_DELETE).count(), 1) self.assertEqual(reversion.get_for_object(self.test12).count(), 0) with reversion.create_revision(): reversion.set_auto_initial(True, [ReversionTestModel1]) self.test12.name = "model1 instance2 version2" self.test12.delete() # Test that an initial is saved on delete versions = reversion.get_deleted(ReversionTestModel1) self.assertEqual(len(versions), 2) self.assertEqual(Version.objects.filter(type=VERSION_ADD).count(), 2) self.assertEqual(Version.objects.filter(type=VERSION_CHANGE).count(), 0) self.assertEqual(Version.objects.filter(type=VERSION_DELETE).count(), 2)