* Update various instructor task logic to use constants over strings when referring to instructor task names
45 lines
1.3 KiB
Python
45 lines
1.3 KiB
Python
"""
|
|
Instructor Task Factory
|
|
"""
|
|
|
|
import datetime
|
|
import json
|
|
|
|
import factory
|
|
from celery.states import PENDING
|
|
from factory.django import DjangoModelFactory
|
|
from opaque_keys.edx.locator import CourseLocator
|
|
|
|
from common.djangoapps.student.tests.factories import UserFactory as StudentUserFactory
|
|
from lms.djangoapps.instructor_task.data import InstructorTaskTypes
|
|
from lms.djangoapps.instructor_task.models import InstructorTask, InstructorTaskSchedule
|
|
|
|
|
|
class InstructorTaskFactory(DjangoModelFactory):
|
|
"""
|
|
Factory used to create InstructorTask instances in unit tests.
|
|
"""
|
|
class Meta:
|
|
model = InstructorTask
|
|
|
|
task_type = InstructorTaskTypes.RESCORE_PROBLEM
|
|
course_id = CourseLocator("MITx", "999", "Robot_Super_Course")
|
|
task_input = json.dumps({})
|
|
task_key = None
|
|
task_id = None
|
|
task_state = PENDING
|
|
task_output = None
|
|
requester = factory.SubFactory(StudentUserFactory)
|
|
|
|
|
|
class InstructorTaskScheduleFactory(DjangoModelFactory):
|
|
"""
|
|
Factory used to create InstructorTaskSchedule instances in unit tests.
|
|
"""
|
|
class Meta:
|
|
model = InstructorTaskSchedule
|
|
|
|
task = factory.SubFactory(InstructorTaskFactory)
|
|
task_args = "{}"
|
|
task_due = datetime.datetime.now().replace(tzinfo=datetime.timezone.utc) - datetime.timedelta(days=1)
|