From ca52e7e7e21c9f3bd03d9d91e10c06d82e1c5c43 Mon Sep 17 00:00:00 2001 From: Jean-Baptiste <bleme@pm.me> Date: Mon, 3 Jun 2019 08:38:30 +0200 Subject: [PATCH] fix: error 500 on DELETE --- djangoldp/tests/runner.py | 3 ++- djangoldp/tests/tests_delete.py | 21 +++++++++++++++++++++ djangoldp/views.py | 3 ++- 3 files changed, 25 insertions(+), 2 deletions(-) create mode 100644 djangoldp/tests/tests_delete.py diff --git a/djangoldp/tests/runner.py b/djangoldp/tests/runner.py index 47fcb93e..2f2958ca 100644 --- a/djangoldp/tests/runner.py +++ b/djangoldp/tests/runner.py @@ -60,7 +60,8 @@ failures = test_runner.run_tests([ 'djangoldp.tests.tests_update', 'djangoldp.tests.tests_auto_author', # 'djangoldp.tests.tests_temp' - 'djangoldp.tests.tests_get' + 'djangoldp.tests.tests_get', + 'djangoldp.tests.tests_delete' ]) if failures: sys.exit(failures) diff --git a/djangoldp/tests/tests_delete.py b/djangoldp/tests/tests_delete.py new file mode 100644 index 00000000..91b3a85f --- /dev/null +++ b/djangoldp/tests/tests_delete.py @@ -0,0 +1,21 @@ +from django.test import TestCase +from rest_framework.test import APIRequestFactory, APIClient + +from djangoldp.tests.models import Post + + +class TestDelete(TestCase): + + def setUp(self): + self.factory = APIRequestFactory() + self.client = APIClient() + + def tearDown(self): + pass + + def test_delete(self): + post = Post.objects.create(content="content") + response = self.client.delete('/posts/{}/'.format(post.pk), content_type='application/ld+json') + self.assertEqual(response.status_code, 204) + + self.assertEqual(Post.objects.filter(pk=post.pk).count(), 0) diff --git a/djangoldp/views.py b/djangoldp/views.py index 51cfd453..5c68bc29 100644 --- a/djangoldp/views.py +++ b/djangoldp/views.py @@ -22,7 +22,8 @@ class JSONLDRenderer(JSONRenderer): media_type = 'application/ld+json' def render(self, data, accepted_media_type=None, renderer_context=None): - data["@context"] = settings.LDP_RDF_CONTEXT + if data is not None: + data["@context"] = settings.LDP_RDF_CONTEXT return super(JSONLDRenderer, self).render(data, accepted_media_type, renderer_context) -- GitLab