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

Popular posts from this blog

javascript - jquery or ashx not working -

opencv - DataType<cv::detail::deriv_type>::depth what is it used for -

python 3.x - Mapping specific letters onto a list of words -