添加Announcement的API测试,即url中的announcement_list_api,增加公告编辑及相应的API测试

This commit is contained in:
hohoTT
2015-08-06 19:07:46 +08:00
parent 290212d408
commit 1675eed67d
4 changed files with 73 additions and 3 deletions

View File

@@ -6,7 +6,8 @@ from utils.shortcuts import serializer_invalid_response, error_response, success
from account.models import User
from utils.shortcuts import paginate
from .models import Announcement
from .serializers import CreateAnnouncementSerializer, AnnouncementSerializer
from .serializers import (CreateAnnouncementSerializer, AnnouncementSerializer,
EditAnnouncementSerializer)
class AnnouncementAdminAPIView(APIView):
@@ -26,6 +27,28 @@ class AnnouncementAdminAPIView(APIView):
else:
return serializer_invalid_response(serializer)
def put(self, request):
"""
公告编辑json api接口
---
request_serializer: EditAnnouncementSerializer
response_serializer: AnnouncementSerializer
"""
serializer = EditAnnouncementSerializer(data=request.DATA)
if serializer.is_valid():
data = serializer.data
try:
announcement = Announcement.objects.get(id=data["id"])
except Announcement.DoesNotExist:
return error_response(u"该公告不存在!")
announcement.title = data["title"]
announcement.content = data["content"]
announcement.visible = data["visible"]
announcement.save()
return success_response(AnnouncementSerializer(announcement).data)
else:
return serializer_invalid_response(serializer)
class AnnouncementAPIView(APIView):
def get(self, request):