Merge pull request #24770 from edx/robrap/ARCHBOM-1427-toggle-view-tests

ARCHBOM-1427: add tests for toggle state view
This commit is contained in:
Robert Raposa
2020-08-13 10:08:11 -04:00
committed by GitHub
2 changed files with 32 additions and 2 deletions

View File

@@ -0,0 +1,30 @@
"""
Tests for waffle utils views.
"""
from django.test import TestCase
from rest_framework.test import APIRequestFactory
from student.tests.factories import UserFactory
from ..views import ToggleStateView
class ToggleStateViewTests(TestCase):
def test_success_for_staff(self):
response = self._get_toggle_state_response(is_staff=True)
self.assertEqual(response.status_code, 200)
self.assertTrue(response.data)
def test_failure_for_non_staff(self):
response = self._get_toggle_state_response(is_staff=False)
self.assertEqual(response.status_code, 403)
def _get_toggle_state_response(self, is_staff=True):
request = APIRequestFactory().get('/api/toggles/state/')
user = UserFactory()
user.is_staff = is_staff
request.user = user
view = ToggleStateView.as_view()
response = view(request)
return response

View File

@@ -1,7 +1,6 @@
""" Views that we will use to view toggle state in edx-platform. """
from edx_rest_framework_extensions.auth.jwt.authentication import JwtAuthentication
from edx_rest_framework_extensions.permissions import IsStaff
from rest_framework.authentication import SessionAuthentication
from rest_framework import permissions, views
from rest_framework.response import Response
@@ -15,4 +14,5 @@ class ToggleStateView(views.APIView):
permission_classes = (permissions.IsAuthenticated, IsStaff,)
def get(self, request):
return Response("Hello")
response = {'hello': 'world'}
return Response(response)