Commit f1f65c56 by Arthur Barrett

fix failing unit test in lms.envs.test env

parent c7197cd5
...@@ -28,6 +28,13 @@ API_SETTINGS = { ...@@ -28,6 +28,13 @@ API_SETTINGS = {
#----------------------------------------------------------------------# #----------------------------------------------------------------------#
# API requests are routed through api_request() using the resource map. # API requests are routed through api_request() using the resource map.
def api_enabled(request, course_id):
'''
Returns True if the api is enabled for the course, otherwise False.
'''
course = _get_course(request, course_id)
return notes_enabled_for_course(course)
@login_required @login_required
def api_request(request, course_id, **kwargs): def api_request(request, course_id, **kwargs):
''' '''
...@@ -37,8 +44,7 @@ def api_request(request, course_id, **kwargs): ...@@ -37,8 +44,7 @@ def api_request(request, course_id, **kwargs):
''' '''
# Verify that notes are enabled for the course # Verify that notes are enabled for the course
course = get_course_with_access(request.user, course_id, 'load') if not api_enabled(request, course_id):
if not notes_enabled_for_course(course):
log.debug('Notes not enabled for course') log.debug('Notes not enabled for course')
raise Http404 raise Http404
...@@ -91,6 +97,12 @@ def api_format(request, response, data): ...@@ -91,6 +97,12 @@ def api_format(request, response, data):
content = json.dumps(data) content = json.dumps(data)
return [content_type, content] return [content_type, content]
def _get_course(request, course_id):
'''
Helper function to load and return a user's course.
'''
return get_course_with_access(request.user, course_id, 'load')
#----------------------------------------------------------------------# #----------------------------------------------------------------------#
# API actions exposed via the resource map. # API actions exposed via the resource map.
......
...@@ -14,8 +14,6 @@ import logging ...@@ -14,8 +14,6 @@ import logging
from . import utils, api, models from . import utils, api, models
logging.disable(logging.CRITICAL) # remove debugging from the log output
class UtilsTest(TestCase): class UtilsTest(TestCase):
def setUp(self): def setUp(self):
''' '''
...@@ -41,12 +39,17 @@ class UtilsTest(TestCase): ...@@ -41,12 +39,17 @@ class UtilsTest(TestCase):
{'type': 'foo'}, {'type': 'foo'},
{'name': 'My Notes', 'type': 'notes'}, {'name': 'My Notes', 'type': 'notes'},
{'type':'bar'}] {'type':'bar'}]
self.assertTrue(utils.notes_enabled_for_course(self.course)) self.assertTrue(utils.notes_enabled_for_course(self.course))
class ApiTest(TestCase): class ApiTest(TestCase):
def setUp(self): def setUp(self):
self.client = Client() self.client = Client()
# Mocks
api.api_enabled = (lambda request, course_id: True)
# Create two accounts # Create two accounts
self.password = 'abc' self.password = 'abc'
self.student = User.objects.create_user('student', 'student@test.com', self.password) self.student = User.objects.create_user('student', 'student@test.com', self.password)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment