Ejemplo n.º 1
0
 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)
Ejemplo n.º 2
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)
Ejemplo n.º 3
0
 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)
Ejemplo n.º 4
0
 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)
Ejemplo n.º 5
0
 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)
Ejemplo n.º 6
0
 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)
Ejemplo n.º 7
0
 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)