def test_to_representation_returns_default_serialization_if_no_request(self): self.serializer = TestSerializer(context={'request': None}) instance = TestModel( test_field_one='test_one', test_field_two='test_two', test_field_three='test_three', test_field_four='test_four', test_field_five='test_five', ) data = self.serializer.to_representation(instance=instance) self.assertEqual(data, MatchingModelSerializer().to_representation(instance))
def test_to_representation_returns_default_serialization_if_no_request_version(self): self.request = APIRequestFactory().get("") self.serializer = TestSerializer(context={"request": self.request}) instance = TestModel( test_field_one="test_one", test_field_two="test_two", test_field_three="test_three", test_field_four="test_four", test_field_five="test_five", ) data = self.serializer.to_representation(instance=instance) self.assertEqual(data, MatchingModelSerializer().to_representation(instance))
def test_to_representation_doesnt_get_transform_classes_without_version(self, get_transform_classes_mock): self.request = APIRequestFactory().get('') self.serializer = TestSerializer(context={'request': self.request}) self.serializer.to_representation(instance=TestModel()) self.assertFalse(get_transform_classes_mock.called)
def setUp(self): self.request = APIRequestFactory().get('') self.request.version = 1 self.serializer = TestSerializer(context={'request': self.request})
class VersioningSerializerUnitTests(TestCase): def setUp(self): self.request = APIRequestFactory().get('') self.request.version = 1 self.serializer = TestSerializer(context={'request': self.request}) def test_to_representation_raises_error_when_no_transform_base_specified_with_instance(self): self.serializer.transform_base = None with self.assertRaises(TransformBaseNotDeclaredException): self.serializer.to_representation(instance=TestModel()) def test_to_representation_raises_error_when_no_transform_base_specified_without_instance(self): self.serializer.transform_base = None with self.assertRaises(TransformBaseNotDeclaredException): self.serializer.to_representation(instance=None) @patch('rest_framework_transforms.serializers.get_transform_classes') def test_to_representation_gets_transform_classes_with_instance(self, get_transform_classes_mock): self.serializer.to_representation(instance=TestModel()) self.assertTrue(get_transform_classes_mock.called) get_transform_classes_mock.assert_called_once_with( 'tests.test_transforms.TestModelTransform', base_version=self.request.version, reverse=True, ) @patch('rest_framework_transforms.serializers.get_transform_classes') def test_to_representation_calls_backwards_on_transform_classes_with_instance(self, get_transform_classes_mock): instance = TestModel( test_field_one='test_one', test_field_two='test_two', test_field_three='test_three', test_field_four='test_four', test_field_five='test_five', ) transform_one = MagicMock() transform_two = MagicMock() get_transform_classes_mock.return_value = [ transform_one, transform_two, ] self.serializer.to_representation(instance=instance) self.assertTrue(transform_one.return_value.backwards.called) transform_one.return_value.backwards.assert_called_once_with( MatchingModelSerializer().to_representation(instance), self.request, instance, ) self.assertTrue(transform_two.return_value.backwards.called) transform_two.return_value.backwards.assert_called_once_with( transform_one.return_value.backwards.return_value, self.request, instance, ) def test_to_representation_returns_default_serialization_if_no_request(self): self.serializer = TestSerializer(context={'request': None}) instance = TestModel( test_field_one='test_one', test_field_two='test_two', test_field_three='test_three', test_field_four='test_four', test_field_five='test_five', ) data = self.serializer.to_representation(instance=instance) self.assertEqual(data, MatchingModelSerializer().to_representation(instance)) def test_to_representation_returns_default_serialization_if_no_request_version(self): self.request = APIRequestFactory().get('') self.serializer = TestSerializer(context={'request': self.request}) instance = TestModel( test_field_one='test_one', test_field_two='test_two', test_field_three='test_three', test_field_four='test_four', test_field_five='test_five', ) data = self.serializer.to_representation(instance=instance) self.assertEqual(data, MatchingModelSerializer().to_representation(instance)) def test_to_representation_returns_empty_serialization_if_no_instance(self): data = self.serializer.to_representation(instance=None) self.assertEqual(data, MatchingModelSerializer().to_representation(None)) @patch('rest_framework_transforms.serializers.get_transform_classes') def test_to_representation_doesnt_get_transform_classes_without_instance(self, get_transform_classes_mock): self.serializer.to_representation(instance=None) self.assertFalse(get_transform_classes_mock.called) @patch('rest_framework_transforms.serializers.get_transform_classes') def test_to_representation_doesnt_get_transform_classes_without_version(self, get_transform_classes_mock): self.request = APIRequestFactory().get('') self.serializer = TestSerializer(context={'request': self.request}) self.serializer.to_representation(instance=TestModel()) self.assertFalse(get_transform_classes_mock.called)