Commit fc1e0b66 by Calen Pennington

Use the Django TestClient for course_creator unit tests, so that middleware is cleaned up properly

parent 411f1f79
...@@ -5,13 +5,13 @@ Tests course_creators.views.py. ...@@ -5,13 +5,13 @@ Tests course_creators.views.py.
from django.contrib.auth.models import User from django.contrib.auth.models import User
from django.core.exceptions import PermissionDenied from django.core.exceptions import PermissionDenied
from django.test import TestCase, RequestFactory from django.test import TestCase, RequestFactory
from django.core.urlresolvers import reverse
from course_creators.views import add_user_with_status_unrequested, add_user_with_status_granted from course_creators.views import add_user_with_status_unrequested, add_user_with_status_granted
from course_creators.views import get_course_creator_status, update_course_creator_group, user_requested_access from course_creators.views import get_course_creator_status, update_course_creator_group, user_requested_access
import mock import mock
from student.roles import CourseCreatorRole from student.roles import CourseCreatorRole
from student import auth from student import auth
from edxmako.tests import mako_middleware_process_request
class CourseCreatorView(TestCase): class CourseCreatorView(TestCase):
...@@ -73,11 +73,12 @@ class CourseCreatorView(TestCase): ...@@ -73,11 +73,12 @@ class CourseCreatorView(TestCase):
add_user_with_status_unrequested(self.user) add_user_with_status_unrequested(self.user)
self.assertEqual('unrequested', get_course_creator_status(self.user)) self.assertEqual('unrequested', get_course_creator_status(self.user))
request = RequestFactory().get('/') self.client.login(username=self.user.username, password='foo')
request.user = self.user
mako_middleware_process_request(request) # The user_requested_access function renders a template that requires
user_requested_access(self.user) # request-specific information. Use the django TestClient to supply
# the appropriate request context.
self.client.post(reverse('request_course_creator'))
self.assertEqual('pending', get_course_creator_status(self.user)) self.assertEqual('pending', get_course_creator_status(self.user))
def test_user_requested_already_granted(self): def test_user_requested_already_granted(self):
......
...@@ -76,7 +76,7 @@ urlpatterns += patterns( ...@@ -76,7 +76,7 @@ urlpatterns += patterns(
url(r'^howitworks$', 'howitworks'), url(r'^howitworks$', 'howitworks'),
url(r'^signup$', 'signup', name='signup'), url(r'^signup$', 'signup', name='signup'),
url(r'^signin$', 'login_page', name='login'), url(r'^signin$', 'login_page', name='login'),
url(r'^request_course_creator$', 'request_course_creator'), url(r'^request_course_creator$', 'request_course_creator', name='request_course_creator'),
url(r'^course_team/{}(?:/(?P<email>.+))?$'.format(COURSELIKE_KEY_PATTERN), 'course_team_handler'), url(r'^course_team/{}(?:/(?P<email>.+))?$'.format(COURSELIKE_KEY_PATTERN), 'course_team_handler'),
url(r'^course_info/{}$'.format(settings.COURSE_KEY_PATTERN), 'course_info_handler'), url(r'^course_info/{}$'.format(settings.COURSE_KEY_PATTERN), 'course_info_handler'),
......
...@@ -611,7 +611,7 @@ class ViewsTestCase(ModuleStoreTestCase): ...@@ -611,7 +611,7 @@ class ViewsTestCase(ModuleStoreTestCase):
If `expected_end_text` is None, verifies that the about page *does not* contain the text If `expected_end_text` is None, verifies that the about page *does not* contain the text
"Classes End". "Classes End".
""" """
result = self.client.get(reverse('about_course', args=[unicode(course.id)])) result = self.client.get(reverse('about_course', args=[unicode(course_id)]))
if expected_end_text is not None: if expected_end_text is not None:
self.assertContains(result, "Classes End") self.assertContains(result, "Classes End")
self.assertContains(result, expected_end_text) self.assertContains(result, expected_end_text)
......
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