From 3013eaa9db61472ddf52b8f75219e8a908f30f7e Mon Sep 17 00:00:00 2001 From: SebastiaanZ <33516116+SebastiaanZ@users.noreply.github.com> Date: Thu, 25 Apr 2019 23:19:21 +0200 Subject: Adding CreationTests to test_nomination and making related changes in the ViewSet --- pydis_site/apps/api/viewsets/bot/nomination.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'pydis_site/apps/api/viewsets/bot') diff --git a/pydis_site/apps/api/viewsets/bot/nomination.py b/pydis_site/apps/api/viewsets/bot/nomination.py index c3615dd9..1059ffcd 100644 --- a/pydis_site/apps/api/viewsets/bot/nomination.py +++ b/pydis_site/apps/api/viewsets/bot/nomination.py @@ -19,12 +19,12 @@ class NominationViewSet(ModelViewSet): filter_backends = (DjangoFilterBackend, SearchFilter, OrderingFilter) filter_fields = ('user__id', 'actor__id', 'active') frozen_fields = ('id', 'actor', 'inserted_at', 'user', 'unwatched_at', 'active') - frozen_on_create = ('unwatched_at', 'unnominate_reason') + frozen_on_create = ('unwatched_at', 'unnominate_reason', 'active', 'inserted_at') def create(self, request, *args, **kwargs): for field in request.data: if field in self.frozen_on_create: - raise ValidationError({field: ['This field cannot be updated.']}) + raise ValidationError({field: ['This field cannot be set at creation.']}) serializer = self.get_serializer(data=request.data) serializer.is_valid(raise_exception=True) @@ -53,8 +53,8 @@ class NominationViewSet(ModelViewSet): @action(detail=True, methods=['patch']) def end_nomination(self, request, pk=None): for field in request.data: - if field in self.frozen_fields: - raise ValidationError({field: ['This field cannot be updated.']}) + if field != "unnominate_reason": + raise ValidationError({field: ['This field cannot be set at end_nomination']}) if "unnominate_reason" not in request.data: raise ValidationError( -- cgit v1.2.3