Add tests and clean up A/B testing

Also fixes STUD-1351
This commit is contained in:
Diana Huang
2014-03-01 14:15:56 -05:00
committed by Calen Pennington
parent 2d5c37b2a0
commit bce7d9e43d
29 changed files with 715 additions and 105 deletions

View File

@@ -1,9 +1,11 @@
"""Provides factories for User API models."""
from factory.django import DjangoModelFactory
from factory import SubFactory
from student.tests.factories import UserFactory
from user_api.models import UserPreference, UserCourseTag
# Factories don't have __init__ methods, and are self documenting
# pylint: disable=W0232, C0111
class UserPreferenceFactory(DjangoModelFactory):
FACTORY_FOR = UserPreference

View File

@@ -1,7 +1,8 @@
"""Tests for user API middleware"""
from mock import Mock, patch
from unittest import TestCase
from django.http import HttpRequest, HttpResponse
from django.http import HttpResponse
from django.test.client import RequestFactory
from student.tests.factories import UserFactory, AnonymousUserFactory
@@ -41,7 +42,8 @@ class TagsMiddlewareTest(TestCase):
self.assertEquals(self.middleware.process_request(self.request), None)
def assertContextSetTo(self, context):
self.tracker.get_tracker.return_value.enter_context.assert_called_with(
"""Asserts UserTagsEventContextMiddleware.CONTEXT_NAME matches ``context``"""
self.tracker.get_tracker.return_value.enter_context.assert_called_with( # pylint: disable=maybe-no-member
UserTagsEventContextMiddleware.CONTEXT_NAME,
context
)
@@ -98,7 +100,7 @@ class TagsMiddlewareTest(TestCase):
self.assertContextSetTo({'course_id': self.course_id, 'course_user_tags': {}})
def test_remove_context(self):
get_tracker = self.tracker.get_tracker
get_tracker = self.tracker.get_tracker # pylint: disable=maybe-no-member
exit_context = get_tracker.return_value.exit_context
# The middleware should clean up the context when the request is done