add contest tests

This commit is contained in:
zhanghedr
2017-02-26 23:18:22 -05:00
parent bb3d4f7f02
commit 60ebece853
2 changed files with 111 additions and 4 deletions

View File

@@ -1,7 +1,6 @@
import dateutil.parser
from utils.api import APIView, validate_serializer
from ..models import Contest, ContestAnnouncement
from ..serializers import (ContestAnnouncementSerializer, ContestSerializer,
CreateConetestSeriaizer,
@@ -20,8 +19,8 @@ class ContestAPI(APIView):
return self.error("Start time must occur earlier than end time")
if not data["password"]:
data["password"] = None
Contest.objects.create(**data)
return self.success()
contest = Contest.objects.create(**data)
return self.success(ContestSerializer(contest).data)
@validate_serializer(EditConetestSeriaizer)
def put(self, request):
@@ -90,7 +89,8 @@ class ContestAnnouncementAPI(APIView):
contest_announcement_id = request.GET.get("id")
if contest_announcement_id:
if request.user.is_admin():
ContestAnnouncement.objects.filter(id=contest_announcement_id, contest__created_by=request.user).delete()
ContestAnnouncement.objects.filter(id=contest_announcement_id,
contest__created_by=request.user).delete()
else:
ContestAnnouncement.objects.filter(id=contest_announcement_id).delete()
return self.success()