Files
edx-platform/lms/djangoapps/instructor_task/tests/factories.py
Justin Hynes bfd75013a1 chore: update instructor task names to use constants
* Update various instructor task logic to use constants over strings when referring to instructor task names
2022-05-17 11:52:35 -04:00

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)