add some tests
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
# coding=utf-8
|
||||
from django.core.urlresolvers import reverse
|
||||
from utils.tests import APITestCase
|
||||
|
||||
|
||||
class AnnouncementAdminTest(APITestCase):
|
||||
def setUp(self):
|
||||
self.user = self.create_super_admin(login=True)
|
||||
self.url = reverse("announcement_admin_api")
|
||||
|
||||
def test_announcement_list(self):
|
||||
response = self.client.get(self.url)
|
||||
self.assertSuccess(response)
|
||||
|
||||
def create_announcement(self):
|
||||
return self.client.post(self.url, data={"title": "test", "content": "test"})
|
||||
|
||||
def test_create_announcement(self):
|
||||
response = self.create_announcement()
|
||||
self.assertSuccess(response)
|
||||
|
||||
def test_edit_announcement(self):
|
||||
data = {"id": self.create_announcement().data["data"]["id"], "title": "ahaha", "content": "test content",
|
||||
"visible": False}
|
||||
response = self.client.put(self.url, data=data)
|
||||
self.assertSuccess(response)
|
||||
resp_data = response.data["data"]
|
||||
self.assertEqual(resp_data["title"], "ahaha")
|
||||
self.assertEqual(resp_data["content"], "test content")
|
||||
self.assertEqual(resp_data["visible"], False)
|
||||
|
||||
@@ -2,11 +2,9 @@
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from django.utils.translation import ugettext as _
|
||||
from rest_framework.views import APIView
|
||||
|
||||
from account.decorators import super_admin_required
|
||||
from utils.shortcuts import paginate
|
||||
from utils.shortcuts import serializer_invalid_response, error_response, success_response
|
||||
from utils.shortcuts import paginate_data, APIView
|
||||
from .models import Announcement
|
||||
from .serializers import (CreateAnnouncementSerializer, AnnouncementSerializer,
|
||||
EditAnnouncementSerializer)
|
||||
@@ -24,9 +22,9 @@ class AnnouncementAdminAPIView(APIView):
|
||||
announcement = Announcement.objects.create(title=data["title"],
|
||||
content=data["content"],
|
||||
created_by=request.user)
|
||||
return success_response(AnnouncementSerializer(announcement).data)
|
||||
return self.success(AnnouncementSerializer(announcement).data)
|
||||
else:
|
||||
return serializer_invalid_response(serializer)
|
||||
return self.invalid_serializer(serializer)
|
||||
|
||||
@super_admin_required
|
||||
def put(self, request):
|
||||
@@ -39,16 +37,16 @@ class AnnouncementAdminAPIView(APIView):
|
||||
try:
|
||||
announcement = Announcement.objects.get(id=data["id"])
|
||||
except Announcement.DoesNotExist:
|
||||
return error_response(_("Announcement does not exist"))
|
||||
return self.error(_("Announcement does not exist"))
|
||||
|
||||
announcement.title = data["title"]
|
||||
announcement.content = data["content"]
|
||||
announcement.visible = data["visible"]
|
||||
announcement.save()
|
||||
|
||||
return success_response(AnnouncementSerializer(announcement).data)
|
||||
return self.success(AnnouncementSerializer(announcement).data)
|
||||
else:
|
||||
return serializer_invalid_response(serializer)
|
||||
return self.invalid_serializer(serializer)
|
||||
|
||||
@super_admin_required
|
||||
def get(self, request):
|
||||
@@ -59,8 +57,8 @@ class AnnouncementAdminAPIView(APIView):
|
||||
if announcement_id:
|
||||
try:
|
||||
announcement = Announcement.objects.get(id=announcement_id)
|
||||
return success_response(AnnouncementSerializer(announcement).data)
|
||||
return self.success(AnnouncementSerializer(announcement).data)
|
||||
except Announcement.DoesNotExist:
|
||||
return error_response(_("Announcement does not exist"))
|
||||
return self.error(_("Announcement does not exist"))
|
||||
announcement = Announcement.objects.all().order_by("-create_time")
|
||||
return paginate(request, announcement, AnnouncementSerializer)
|
||||
return self.success(paginate_data(request, announcement, AnnouncementSerializer))
|
||||
|
||||
Reference in New Issue
Block a user