86 lines
2.4 KiB
Python
86 lines
2.4 KiB
Python
from datetime import datetime
|
|
import json
|
|
from functools import partial
|
|
|
|
from factory import DjangoModelFactory, SubFactory
|
|
from student.tests.factories import UserFactory as StudentUserFactory
|
|
from student.tests.factories import GroupFactory as StudentGroupFactory
|
|
from student.tests.factories import UserProfileFactory as StudentUserProfileFactory
|
|
from student.tests.factories import CourseEnrollmentAllowedFactory as StudentCourseEnrollmentAllowedFactory
|
|
from student.tests.factories import RegistrationFactory as StudentRegistrationFactory
|
|
from courseware.models import StudentModule, XModuleContentField, XModuleSettingsField
|
|
from courseware.models import XModuleStudentInfoField, XModuleStudentPrefsField
|
|
|
|
from xmodule.modulestore import Location
|
|
|
|
location = partial(Location, 'i4x', 'edX', 'test_course', 'problem')
|
|
|
|
|
|
class UserProfileFactory(StudentUserProfileFactory):
|
|
name = 'Robot Studio'
|
|
courseware = 'course.xml'
|
|
|
|
|
|
class RegistrationFactory(StudentRegistrationFactory):
|
|
pass
|
|
|
|
|
|
class UserFactory(StudentUserFactory):
|
|
email = 'robot@edx.org'
|
|
last_name = 'Tester'
|
|
last_login = datetime.now()
|
|
date_joined = datetime.now()
|
|
|
|
|
|
class GroupFactory(StudentGroupFactory):
|
|
name = 'test_group'
|
|
|
|
|
|
class CourseEnrollmentAllowedFactory(StudentCourseEnrollmentAllowedFactory):
|
|
pass
|
|
|
|
|
|
class StudentModuleFactory(DjangoModelFactory):
|
|
FACTORY_FOR = StudentModule
|
|
|
|
module_type = "problem"
|
|
student = SubFactory(UserFactory)
|
|
course_id = "MITx/999/Robot_Super_Course"
|
|
state = None
|
|
grade = None
|
|
max_grade = None
|
|
done = 'na'
|
|
|
|
|
|
class ContentFactory(DjangoModelFactory):
|
|
FACTORY_FOR = XModuleContentField
|
|
|
|
field_name = 'existing_field'
|
|
value = json.dumps('old_value')
|
|
definition_id = location('def_id').url()
|
|
|
|
|
|
class SettingsFactory(DjangoModelFactory):
|
|
FACTORY_FOR = XModuleSettingsField
|
|
|
|
field_name = 'existing_field'
|
|
value = json.dumps('old_value')
|
|
usage_id = '%s-%s' % ('edX/test_course/test', location('def_id').url())
|
|
|
|
|
|
class StudentPrefsFactory(DjangoModelFactory):
|
|
FACTORY_FOR = XModuleStudentPrefsField
|
|
|
|
field_name = 'existing_field'
|
|
value = json.dumps('old_value')
|
|
student = SubFactory(UserFactory)
|
|
module_type = 'problem'
|
|
|
|
|
|
class StudentInfoFactory(DjangoModelFactory):
|
|
FACTORY_FOR = XModuleStudentInfoField
|
|
|
|
field_name = 'existing_field'
|
|
value = json.dumps('old_value')
|
|
student = SubFactory(UserFactory)
|