def test_simple_reverse_relation_included_renderer(): ''' Test renderer when a single reverse fk relation is passed. ''' serializer = DummyTestSerializer(instance=Entry()) renderer = JSONRenderer() rendered = renderer.render(serializer.data, renderer_context={'view': DummyTestViewSet()}) assert rendered
def test_api_patch(fixture, admin_client, viewset, snapshot, minio_mock): url = reverse("{0}-detail".format(viewset.base_name), args=[fixture.pk]) serializer = viewset.serializer_class(fixture) renderer = JSONRenderer() context = {"view": viewset} data = renderer.render(serializer.data, renderer_context=context) with CaptureQueriesContext(connection) as context: response = admin_client.patch(url, data=json.loads(data)) assert_response(response, context, snapshot, request_payload=data)
def test_api_create(fixture, admin_client, viewset, snapshot): url = reverse("{0}-list".format(viewset.base_name)) serializer = viewset.serializer_class(fixture) renderer = JSONRenderer() context = {"view": viewset} data = renderer.render(serializer.data, renderer_context=context) fixture.delete() # avoid constraint issues with CaptureQueriesContext(connection) as context: response = admin_client.post(url, data=json.loads(data)) assert_response(response, context, snapshot)
def json(cls, *args, **kwargs): """Render a JSON POST request.""" serializer = cls.build(*args, **kwargs) attributes = {} relationships = {} for key, value in serializer.initial_data.items(): if is_relation(value): relationships[format_value(key)] = {"data": value} else: attributes[format_value(key)] = value data = {"type": get_resource_type_from_serializer(serializer)} if attributes: data["attributes"] = attributes if relationships: data["relationships"] = relationships return JSONRenderer().render({"data": data})
def render_dummy_test_serialized_view(view_class): serializer = DummyTestSerializer(instance=Entry()) renderer = JSONRenderer() return renderer.render(serializer.data, renderer_context={'view': view_class()})
def render_dummy_test_serialized_view(view_class, instance): serializer = view_class.serializer_class(instance=instance) renderer = JSONRenderer() return renderer.render(serializer.data, renderer_context={'view': view_class()})