python - Django Rest Framework - How to test ViewSet? -
i'm having trouble testing viewset:
class viewsettest(testcase): def test_view_set(self): factory = apirequestfactory() view = catviewset.as_view() cat = cat(name="bob") cat.save() request = factory.get(reverse('cat-detail', args=(cat.pk,))) response = view(request) i'm trying replicate syntax here:
http://www.django-rest-framework.org/api-guide/testing#forcing-authentication
but think accountdetail view different viewset, i'm getting error last line:
attributeerror: 'nonetype' object has no attributes 'items' is there correct syntax here or mixing concepts? apiclient tests work, i'm using factory here because add "request.user = some_user". in advance!
oh , client test works fine:
def test_client_view(self): response = apiclient().get(reverse('cat-detail', args=(cat.pk,))) self.assertequal(response.status_code, 200)
i think found correct syntax, not sure if conventional (still new django):
def test_view_set(self): request = apirequestfactory().get("") cat_detail = catviewset.as_view({'get': 'retrieve'}) cat = cat.objects.create(name="bob") response = cat_detail(request, pk=cat.pk) self.assertequal(response.status_code, 200) so passes , can assign request.user, allows me customize retrieve method under catviewset consider user.
Comments
Post a Comment