Upgrade factory_boy
TNL-3179
This commit is contained in:
@@ -6,7 +6,8 @@ from opaque_keys.edx.locations import SlashSeparatedCourseKey
|
||||
# Factories are self documenting
|
||||
# pylint: disable=missing-docstring
|
||||
class CourseModeFactory(DjangoModelFactory):
|
||||
FACTORY_FOR = CourseMode
|
||||
class Meta(object):
|
||||
model = CourseMode
|
||||
|
||||
course_id = SlashSeparatedCourseKey('MITx', '999', 'Robot_Super_Course')
|
||||
mode_slug = 'audit'
|
||||
|
||||
@@ -17,14 +17,16 @@ from opaque_keys.edx.locations import SlashSeparatedCourseKey
|
||||
|
||||
|
||||
class GroupFactory(DjangoModelFactory):
|
||||
FACTORY_FOR = Group
|
||||
FACTORY_DJANGO_GET_OR_CREATE = ('name', )
|
||||
class Meta(object):
|
||||
model = Group
|
||||
django_get_or_create = ('name', )
|
||||
|
||||
name = factory.Sequence(u'group{0}'.format)
|
||||
|
||||
|
||||
class UserStandingFactory(DjangoModelFactory):
|
||||
FACTORY_FOR = UserStanding
|
||||
class Meta(object):
|
||||
model = UserStanding
|
||||
|
||||
user = None
|
||||
account_status = None
|
||||
@@ -32,8 +34,9 @@ class UserStandingFactory(DjangoModelFactory):
|
||||
|
||||
|
||||
class UserProfileFactory(DjangoModelFactory):
|
||||
FACTORY_FOR = UserProfile
|
||||
FACTORY_DJANGO_GET_OR_CREATE = ('user', )
|
||||
class Meta(object):
|
||||
model = UserProfile
|
||||
django_get_or_create = ('user', )
|
||||
|
||||
user = None
|
||||
name = factory.LazyAttribute(u'{0.user.first_name} {0.user.last_name}'.format)
|
||||
@@ -45,7 +48,8 @@ class UserProfileFactory(DjangoModelFactory):
|
||||
|
||||
|
||||
class CourseModeFactory(DjangoModelFactory):
|
||||
FACTORY_FOR = CourseMode
|
||||
class Meta(object):
|
||||
model = CourseMode
|
||||
|
||||
course_id = None
|
||||
mode_display_name = u'Honor Code',
|
||||
@@ -57,15 +61,17 @@ class CourseModeFactory(DjangoModelFactory):
|
||||
|
||||
|
||||
class RegistrationFactory(DjangoModelFactory):
|
||||
FACTORY_FOR = Registration
|
||||
class Meta(object):
|
||||
model = Registration
|
||||
|
||||
user = None
|
||||
activation_key = uuid4().hex.decode('ascii')
|
||||
|
||||
|
||||
class UserFactory(DjangoModelFactory):
|
||||
FACTORY_FOR = User
|
||||
FACTORY_DJANGO_GET_OR_CREATE = ('email', 'username')
|
||||
class Meta(object):
|
||||
model = User
|
||||
django_get_or_create = ('email', 'username')
|
||||
|
||||
username = factory.Sequence(u'robot{0}'.format)
|
||||
email = factory.Sequence(u'robot+test+{0}@edx.org'.format)
|
||||
@@ -101,7 +107,8 @@ class UserFactory(DjangoModelFactory):
|
||||
|
||||
|
||||
class AnonymousUserFactory(factory.Factory):
|
||||
FACTORY_FOR = AnonymousUser
|
||||
class Meta(object):
|
||||
model = AnonymousUser
|
||||
|
||||
|
||||
class AdminFactory(UserFactory):
|
||||
@@ -109,14 +116,16 @@ class AdminFactory(UserFactory):
|
||||
|
||||
|
||||
class CourseEnrollmentFactory(DjangoModelFactory):
|
||||
FACTORY_FOR = CourseEnrollment
|
||||
class Meta(object):
|
||||
model = CourseEnrollment
|
||||
|
||||
user = factory.SubFactory(UserFactory)
|
||||
course_id = SlashSeparatedCourseKey('edX', 'toy', '2012_Fall')
|
||||
|
||||
|
||||
class CourseAccessRoleFactory(DjangoModelFactory):
|
||||
FACTORY_FOR = CourseAccessRole
|
||||
class Meta(object):
|
||||
model = CourseAccessRole
|
||||
|
||||
user = factory.SubFactory(UserFactory)
|
||||
course_id = SlashSeparatedCourseKey('edX', 'toy', '2012_Fall')
|
||||
@@ -124,7 +133,8 @@ class CourseAccessRoleFactory(DjangoModelFactory):
|
||||
|
||||
|
||||
class CourseEnrollmentAllowedFactory(DjangoModelFactory):
|
||||
FACTORY_FOR = CourseEnrollmentAllowed
|
||||
class Meta(object):
|
||||
model = CourseEnrollmentAllowed
|
||||
|
||||
email = 'test@edx.org'
|
||||
course_id = SlashSeparatedCourseKey('edX', 'toy', '2012_Fall')
|
||||
@@ -137,7 +147,8 @@ class PendingEmailChangeFactory(DjangoModelFactory):
|
||||
new_email: sequence of new+email+{}@edx.org
|
||||
activation_key: sequence of integers, padded to 30 characters
|
||||
"""
|
||||
FACTORY_FOR = PendingEmailChange
|
||||
class Meta(object):
|
||||
model = PendingEmailChange
|
||||
|
||||
user = factory.SubFactory(UserFactory)
|
||||
new_email = factory.Sequence(u'new+email+{0}@edx.org'.format)
|
||||
|
||||
@@ -8,6 +8,7 @@ from django.test import TestCase
|
||||
from django.test.client import Client
|
||||
from django.test.utils import override_settings
|
||||
from django.conf import settings
|
||||
from django.contrib.auth.models import User
|
||||
from django.core.cache import cache
|
||||
from django.core.urlresolvers import reverse, NoReverseMatch
|
||||
from django.http import HttpResponseBadRequest, HttpResponse
|
||||
@@ -252,7 +253,7 @@ class LoginTest(TestCase):
|
||||
self._assert_response(response, success=True)
|
||||
|
||||
# Reload the user from the database
|
||||
self.user = UserFactory.FACTORY_FOR.objects.get(pk=self.user.pk)
|
||||
self.user = User.objects.get(pk=self.user.pk)
|
||||
|
||||
self.assertEqual(self.user.profile.get_meta()['session_id'], client1.session.session_key)
|
||||
|
||||
|
||||
@@ -71,10 +71,11 @@ class XModuleFactory(Factory):
|
||||
Factory for XModules
|
||||
"""
|
||||
|
||||
# We have to give a Factory a FACTORY_FOR.
|
||||
# We have to give a model for Factory.
|
||||
# However, the class that we create is actually determined by the category
|
||||
# specified in the factory
|
||||
FACTORY_FOR = Dummy
|
||||
class Meta(object): # pylint: disable=missing-docstring
|
||||
model = Dummy
|
||||
|
||||
@lazy_attribute
|
||||
def modulestore(self):
|
||||
|
||||
@@ -104,7 +104,8 @@ class ModuleSystemFactory(Factory):
|
||||
performed by :func:`xmodule.tests.get_test_system`, so
|
||||
arguments for that function are valid factory attributes.
|
||||
"""
|
||||
FACTORY_FOR = ModuleSystem
|
||||
class Meta(object): # pylint: disable=missing-docstring
|
||||
model = ModuleSystem
|
||||
|
||||
@classmethod
|
||||
def _build(cls, target_class, *args, **kwargs): # pylint: disable=unused-argument
|
||||
@@ -119,7 +120,8 @@ class DescriptorSystemFactory(Factory):
|
||||
performed by :func:`xmodule.tests.get_test_descriptor_system`, so
|
||||
arguments for that function are valid factory attributes.
|
||||
"""
|
||||
FACTORY_FOR = DescriptorSystem
|
||||
class Meta(object): # pylint: disable=missing-docstring
|
||||
model = DescriptorSystem
|
||||
|
||||
@classmethod
|
||||
def _build(cls, target_class, *args, **kwargs): # pylint: disable=unused-argument
|
||||
@@ -190,7 +192,8 @@ class LeafDescriptorFactory(Factory):
|
||||
"""
|
||||
# pylint: disable=missing-docstring
|
||||
|
||||
FACTORY_FOR = XModuleDescriptor
|
||||
class Meta(object):
|
||||
model = XModuleDescriptor
|
||||
|
||||
runtime = SubFactory(DescriptorSystemFactory)
|
||||
url_name = LazyAttributeSequence('{.block_type}_{}'.format)
|
||||
|
||||
@@ -64,7 +64,8 @@ class XmlImportFactory(Factory):
|
||||
Factory for generating XmlImportData's, which can hold all the data needed
|
||||
to run an XModule XML import
|
||||
"""
|
||||
FACTORY_FOR = XmlImportData
|
||||
class Meta(object): # pylint: disable=missing-docstring
|
||||
model = XmlImportData
|
||||
|
||||
filesystem = MemoryFS()
|
||||
xblock_mixins = (InheritanceMixin, XModuleMixin)
|
||||
|
||||
@@ -12,7 +12,8 @@ from . import COMMENTS_STUB_URL
|
||||
|
||||
|
||||
class ContentFactory(factory.Factory):
|
||||
FACTORY_FOR = dict
|
||||
class Meta(object): # pylint: disable=missing-docstring
|
||||
model = dict
|
||||
id = None
|
||||
user_id = "1234"
|
||||
username = "dummy-username"
|
||||
@@ -63,7 +64,8 @@ class Response(Comment):
|
||||
|
||||
|
||||
class SearchResult(factory.Factory):
|
||||
FACTORY_FOR = dict
|
||||
class Meta(object): # pylint: disable=missing-docstring
|
||||
model = dict
|
||||
discussion_data = []
|
||||
annotated_content_info = {}
|
||||
num_pages = 1
|
||||
|
||||
@@ -10,7 +10,8 @@ from . import EDXNOTES_STUB_URL
|
||||
|
||||
|
||||
class Range(factory.Factory):
|
||||
FACTORY_FOR = dict
|
||||
class Meta(object): # pylint: disable=missing-docstring
|
||||
model = dict
|
||||
start = "/div[1]/p[1]"
|
||||
end = "/div[1]/p[1]"
|
||||
startOffset = 0
|
||||
@@ -18,7 +19,8 @@ class Range(factory.Factory):
|
||||
|
||||
|
||||
class Note(factory.Factory):
|
||||
FACTORY_FOR = dict
|
||||
class Meta(object): # pylint: disable=missing-docstring
|
||||
model = dict
|
||||
user = "dummy-user"
|
||||
usage_id = "dummy-usage-id"
|
||||
course_id = "dummy-course-id"
|
||||
|
||||
Reference in New Issue
Block a user