Exemplo n.º 1
0
    def test_set_current_history_to_null_fails(self):
        self.browser.name = {'en': 'Browser'}
        self.browser.save()

        data = {'history_current': None}
        serializer = BrowserSerializer(self.browser, data=data, partial=True)
        self.assertFalse(serializer.is_valid())
        expected = {'history_current': ['Invalid history ID for this object']}
        self.assertEqual(serializer.errors, expected)
Exemplo n.º 2
0
 def test_versions_same_order(self):
     v1, v2 = self.add_versions()
     set_order = [v1.pk, v2.pk]
     data = {'versions': set_order}
     serializer = BrowserSerializer(self.browser, data=data, partial=True)
     self.assertTrue(serializer.is_valid())
     new_browser = serializer.save()
     new_order = list(new_browser.versions.values_list('pk', flat=True))
     self.assertEqual(new_order, set_order)
Exemplo n.º 3
0
    def test_set_history_current_to_wrong_browser_fails(self):
        other_browser = self.create(
            Browser, slug='other-browser', name={'en': 'Other Browser'})
        bad_history_id = other_browser.history.all()[0].history_id

        data = {'history_current': bad_history_id}
        serializer = BrowserSerializer(self.browser, data=data, partial=True)
        self.assertFalse(serializer.is_valid())
        expected = {'history_current': ['Invalid history ID for this object']}
        self.assertEqual(serializer.errors, expected)
Exemplo n.º 4
0
    def test_set_history_current_to_old(self):
        old_history_id = self.browser.history.latest('history_date').history_id
        self.browser.name = {'en': 'Browser'}
        self.browser.save()

        data = {'history_current': old_history_id}
        serializer = BrowserSerializer(self.browser, data=data, partial=True)
        self.assertTrue(serializer.is_valid())
        new_browser = serializer.save()
        histories = new_browser.history.all()
        self.assertEqual(3, len(histories))
        self.assertEqual(new_browser.name, {'en': 'Old Name'})
Exemplo n.º 5
0
    def test_set_history_current_to_same(self):
        self.browser.name = {'en': 'Browser'}
        self.browser.save()
        current_history_id = self.browser.history.all()[0].history_id

        data = {'history_current': current_history_id}
        serializer = BrowserSerializer(self.browser, data=data, partial=True)
        self.assertTrue(serializer.is_valid())
        new_browser = serializer.save()
        new_history_id = new_browser.history.all()[0].history_id
        self.assertNotEqual(new_history_id, current_history_id)
        histories = new_browser.history.all()
        self.assertEqual(3, len(histories))