1+ # Copyright The IETF Trust 2019, All Rights Reserved
2+ import datetime
13import debug # pyflakes:ignore
24import factory
35
4- from ietf .group .models import Group , Role , GroupEvent
6+ from ietf .group .models import Group , Role , GroupEvent , GroupMilestone
57from ietf .review .factories import ReviewTeamSettingsFactory
68
79class GroupFactory (factory .DjangoModelFactory ):
@@ -14,6 +16,7 @@ class Meta:
1416 state_id = 'active'
1517 type_id = 'wg'
1618 list_email = factory .LazyAttribute (lambda a : '%s@ietf.org' % a .acronym )
19+ uses_milestone_dates = True
1720
1821class ReviewTeamFactory (factory .DjangoModelFactory ):
1922 class Meta :
@@ -44,3 +47,20 @@ class Meta:
4447 by = factory .SubFactory ('ietf.person.factories.PersonFactory' )
4548 type = 'comment'
4649 desc = factory .Faker ('paragraph' )
50+
51+ class BaseGroupMilestoneFactory (factory .DjangoModelFactory ):
52+ class Meta :
53+ model = GroupMilestone
54+
55+ group = factory .SubFactory (GroupFactory )
56+ state_id = 'active'
57+ desc = factory .Faker ('sentence' )
58+
59+ class DatedGroupMilestoneFactory (BaseGroupMilestoneFactory ):
60+ group = factory .SubFactory (GroupFactory , uses_milestone_dates = True )
61+ due = datetime .datetime .today ()+ datetime .timedelta (days = 180 )
62+
63+ class DatelessGroupMilestoneFactory (BaseGroupMilestoneFactory ):
64+ group = factory .SubFactory (GroupFactory , uses_milestone_dates = False )
65+ order = factory .Sequence (lambda n : n )
66+
0 commit comments