Example #1
0
    def test_get_lookup_value_returns_сomposity_primary_key(self):
        class FakeBookObject(object):
            pk = (1, 2)

        obj = FakeBookObject()
        instance = HyperlinkedRelatedField(view_name='book-detail')
        self.assertEqual(instance.get_lookup_value(obj), obj.pk)
Example #2
0
 def test_get_object(self):
     instance = HyperlinkedRelatedField(
         view_name='book-detail', queryset=self.Book.objects.all()
     )
     self.assertEqual(
         instance.get_object('book-detail', [], {'pk': self.book.id}),
         self.book
     )
Example #3
0
 def test_get_object_raises_value_error(self):
     instance = HyperlinkedRelatedField(
         view_name='book-detail', queryset=self.Book.objects.all()
     )
     self.assertRaises(
         ValidationError,
         instance.get_object, 'book-detail', [], {'pk': ""},
     )
Example #4
0
 def test_get_object_raises_improperly_configured_error(self):
     instance = HyperlinkedRelatedField(
         view_name='book-detail', queryset=self.Book.objects.all()
     )
     self.assertRaises(
         ImproperlyConfigured,
         instance.get_object, 'book-detail', [], {'id': self.book.id},
     )
Example #5
0
 def test_get_lookup_value_returns_single_primary_key(self):
     instance = HyperlinkedRelatedField(view_name='book-detail')
     self.assertEqual(
         instance.get_lookup_value(self.book),
         (self.book.pk, )
     )
Example #6
0
 def test_is_saved_in_database_returns_false(self):
     obj = self.Book(name='not_saved_object')
     instance = HyperlinkedRelatedField(view_name='book-detail')
     self.assertFalse(instance.is_saved_in_database(obj))
Example #7
0
 def test_is_saved_in_database_returns_true(self):
     instance = HyperlinkedRelatedField(view_name='book-detail')
     self.assertTrue(instance.is_saved_in_database(self.book))
Example #8
0
 def test_use_pk_only_optimization_returns_true(self):
     instance = HyperlinkedRelatedField(view_name='book-detail')
     self.assertTrue(instance.use_pk_only_optimization())