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:
30
openedx/core/djangoapps/waffle_utils/tests/test_views.py
Normal file
30
openedx/core/djangoapps/waffle_utils/tests/test_views.py
Normal 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
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user