Ejemplo n.º 1
0
    def test_change(self):
        c = DataContext()
        c.save()

        revisions = Revision.objects.get_for_object(c)
        self.assertEqual(revisions.count(), 1)

        latest_revision = Revision.objects.latest_for_object(c)
        self.assertFalse('old_value' in latest_revision.changes)
        self.assertEqual(latest_revision.changes, {
            'json': {'new_value': {}},
            'name': {'new_value': None},
            'description': {'new_value': None}
        })

        c.name = "New Name"
        c.save()

        revisions = Revision.objects.get_for_object(c)
        self.assertEqual(revisions.count(), 2)

        latest_revision = Revision.objects.latest_for_object(c)
        self.assertEqual(latest_revision.changes, {
            'name': {'old_value': None, 'new_value': 'New Name'}
        })
Ejemplo n.º 2
0
    def test_change(self):
        c = DataContext()
        c.save()

        revisions = Revision.objects.get_for_object(c)
        self.assertEqual(revisions.count(), 1)

        latest_revision = Revision.objects.latest_for_object(c)
        self.assertFalse('old_value' in latest_revision.changes)
        self.assertEqual(latest_revision.changes, {
            'json': {'new_value': {}},
            'name': {'new_value': None},
            'description': {'new_value': None}
        })

        c.name = "New Name"
        c.save()

        revisions = Revision.objects.get_for_object(c)
        self.assertEqual(revisions.count(), 2)

        latest_revision = Revision.objects.latest_for_object(c)
        self.assertEqual(latest_revision.changes, {
            'name': {'old_value': None, 'new_value': 'New Name'}
        })
Ejemplo n.º 3
0
    def test_cull_for_object(self):
        c = DataContext(name="Test")
        c.save()

        Revision.objects.create_revision(c, fields=["name"])

        for i in xrange(1, 100):
            c.name = "Test{0}".format(i)
            c.save()
            Revision.objects.create_revision(c, fields=["name"])

        self.assertEqual(Revision.objects.get_for_object(c).count(), 100)

        # Cull down to the maximum size defined in the settings
        Revision.objects.cull_for_object(c)
        self.assertEqual(Revision.objects.get_for_object(c).count(), settings.HISTORY_MAX_SIZE)

        # Cull down to an arbitrary size
        Revision.objects.cull_for_object(c, max_size=20)
        self.assertEqual(Revision.objects.get_for_object(c).count(), 20)
Ejemplo n.º 4
0
    def test_cull_for_object(self):
        c = DataContext(name='Test')
        c.save()

        Revision.objects.create_revision(c, fields=['name'])

        for i in xrange(1, 100):
            c.name = 'Test{0}'.format(i)
            c.save()
            Revision.objects.create_revision(c, fields=['name'])

        self.assertEqual(Revision.objects.get_for_object(c).count(), 100)

        # Cull down to the maximum size defined in the settings
        Revision.objects.cull_for_object(c)
        self.assertEqual(Revision.objects.get_for_object(c).count(),
                         settings.HISTORY_MAX_SIZE)

        # Cull down to an arbitrary size
        Revision.objects.cull_for_object(c, max_size=20)
        self.assertEqual(Revision.objects.get_for_object(c).count(), 20)
Ejemplo n.º 5
0
    def test_change(self):
        c = DataContext()
        c.save()

        revisions = Revision.objects.get_for_object(c)
        self.assertEqual(revisions.count(), 1)

        latest_revision = Revision.objects.latest_for_object(c)
        self.assertFalse("old_value" in latest_revision.changes)
        self.assertEqual(
            latest_revision.changes,
            {"json": {"new_value": {}}, "name": {"new_value": None}, "description": {"new_value": None}},
        )

        c.name = "New Name"
        c.save()

        revisions = Revision.objects.get_for_object(c)
        self.assertEqual(revisions.count(), 2)

        latest_revision = Revision.objects.latest_for_object(c)
        self.assertEqual(latest_revision.changes, {"name": {"old_value": None, "new_value": "New Name"}})