Files
edx-platform/lms/djangoapps/teams/tests/factories.py
2021-02-23 15:50:22 +05:00

48 lines
1.2 KiB
Python

"""
Factories for testing the Teams API.
"""
from datetime import datetime
from uuid import uuid4
import factory
import pytz
from factory.django import DjangoModelFactory
from lms.djangoapps.teams.models import CourseTeam, CourseTeamMembership
LAST_ACTIVITY_AT = datetime(2015, 8, 15, 0, 0, 0, tzinfo=pytz.utc)
class CourseTeamFactory(DjangoModelFactory):
"""Factory for CourseTeams.
Note that team_id is not auto-generated from name when using the factory.
"""
class Meta:
model = CourseTeam
django_get_or_create = ('team_id',)
team_id = factory.Sequence('team-{}'.format)
topic_id = factory.Sequence('topic-{}'.format)
discussion_topic_id = factory.LazyAttribute(lambda a: uuid4().hex)
name = factory.Sequence("Awesome Team {}".format)
description = "A simple description"
last_activity_at = LAST_ACTIVITY_AT
class CourseTeamMembershipFactory(DjangoModelFactory):
"""Factory for CourseTeamMemberships."""
class Meta:
model = CourseTeamMembership
last_activity_at = LAST_ACTIVITY_AT
@classmethod
def _create(cls, model_class, *args, **kwargs):
"""Create the team membership. """
obj = model_class(*args, **kwargs)
obj.save()
return obj