mirror of
https://github.com/jazzband/django-admin2.git
synced 2026-05-02 20:44:52 +00:00
Fixing names for views beeing more consistent and tests for API views.
This commit is contained in:
parent
73a41f5632
commit
09dd2095e3
3 changed files with 26 additions and 10 deletions
|
|
@ -25,7 +25,7 @@ class Admin2APIMixin(Admin2Mixin):
|
|||
# about the name of the admin instance when declaring the
|
||||
# Admin2APISerializer base class
|
||||
_default_view_name = ':'.join((
|
||||
self.modeladmin.admin.name +
|
||||
self.modeladmin.admin.name,
|
||||
'%(app_label)s_%(model_name)s_api-detail'))
|
||||
|
||||
class Meta:
|
||||
|
|
|
|||
|
|
@ -109,7 +109,7 @@ class ModelAdmin2(BaseAdmin2):
|
|||
delete_view = views.ModelDeleteView
|
||||
|
||||
# API Views
|
||||
api_index_view = apiviews.ListCreateAPIView
|
||||
api_list_view = apiviews.ListCreateAPIView
|
||||
api_detail_view = apiviews.RetrieveUpdateDestroyAPIView
|
||||
|
||||
def __init__(self, model, admin, **kwargs):
|
||||
|
|
@ -166,7 +166,7 @@ class ModelAdmin2(BaseAdmin2):
|
|||
def get_index_url(self):
|
||||
return reverse('admin2:{}'.format(self.get_prefixed_view_name('index')))
|
||||
|
||||
def get_api_index_kwargs(self):
|
||||
def get_api_list_kwargs(self):
|
||||
return self.get_default_view_kwargs()
|
||||
|
||||
def get_api_detail_kwargs(self):
|
||||
|
|
@ -205,7 +205,7 @@ class ModelAdmin2(BaseAdmin2):
|
|||
return patterns('',
|
||||
url(
|
||||
regex=r'^$',
|
||||
view=self.api_index_view.as_view(**self.get_api_index_kwargs()),
|
||||
view=self.api_list_view.as_view(**self.get_api_list_kwargs()),
|
||||
name=self.get_prefixed_view_name('api-list'),
|
||||
),
|
||||
url(
|
||||
|
|
|
|||
|
|
@ -4,6 +4,8 @@ from django.core.urlresolvers import reverse
|
|||
|
||||
|
||||
from djadmin2 import apiviews
|
||||
from djadmin2 import default
|
||||
from djadmin2.models import ModelAdmin2
|
||||
from ..models import Post
|
||||
|
||||
|
||||
|
|
@ -11,18 +13,27 @@ class ViewTest(unittest.TestCase):
|
|||
def setUp(self):
|
||||
self.factory = RequestFactory()
|
||||
|
||||
def get_model_admin(self, model):
|
||||
return ModelAdmin2(model, default)
|
||||
|
||||
|
||||
class ListCreateAPIViewTest(ViewTest):
|
||||
|
||||
def test_response_ok(self):
|
||||
request = self.factory.get(reverse('admin2:blog_post_api-index'))
|
||||
response = apiviews.ListCreateAPIView.as_view(model=Post)(request)
|
||||
request = self.factory.get(reverse('admin2:blog_post_api-list'))
|
||||
modeladmin = self.get_model_admin(Post)
|
||||
view = apiviews.ListCreateAPIView.as_view(
|
||||
**modeladmin.get_api_list_kwargs())
|
||||
response = view(request)
|
||||
self.assertEqual(response.status_code, 200)
|
||||
|
||||
def test_list_includes_unicode_field(self):
|
||||
Post.objects.create(title='Foo', body='Bar')
|
||||
request = self.factory.get(reverse('admin2:blog_post_api-index'))
|
||||
response = apiviews.ListCreateAPIView.as_view(model=Post)(request)
|
||||
request = self.factory.get(reverse('admin2:blog_post_api-list'))
|
||||
modeladmin = self.get_model_admin(Post)
|
||||
view = apiviews.ListCreateAPIView.as_view(
|
||||
**modeladmin.get_api_list_kwargs())
|
||||
response = view(request)
|
||||
response.render()
|
||||
|
||||
self.assertIn('"__str__": "Foo"', response.content)
|
||||
|
|
@ -32,6 +43,11 @@ class RetrieveUpdateDestroyAPIViewTest(ViewTest):
|
|||
|
||||
def test_response_ok(self):
|
||||
post = Post.objects.create(title='Foo', body='Bar')
|
||||
request = self.factory.get(reverse('admin2:blog_post_api-detail', kwargs={'pk': post.pk}))
|
||||
response = apiviews.RetrieveUpdateDestroyAPIView.as_view(model=Post)(request, pk=post.pk)
|
||||
request = self.factory.get(
|
||||
reverse('admin2:blog_post_api-detail',
|
||||
kwargs={'pk': post.pk}))
|
||||
modeladmin = self.get_model_admin(Post)
|
||||
view = apiviews.RetrieveUpdateDestroyAPIView.as_view(
|
||||
**modeladmin.get_api_detail_kwargs())
|
||||
response = view(request, pk=post.pk)
|
||||
self.assertEqual(response.status_code, 200)
|
||||
|
|
|
|||
Loading…
Reference in a new issue