60 lines
2.3 KiB
Python
60 lines
2.3 KiB
Python
# Copyright The IETF Trust 2016-2019, All Rights Reserved
|
|
import factory
|
|
import datetime
|
|
|
|
from ietf.review.models import ReviewTeamSettings, ReviewRequest, ReviewAssignment, ReviewerSettings
|
|
from ietf.name.models import ReviewTypeName, ReviewResultName
|
|
|
|
|
|
class ReviewTeamSettingsFactory(factory.django.DjangoModelFactory):
|
|
class Meta:
|
|
model = ReviewTeamSettings
|
|
|
|
group = factory.SubFactory('ietf.group.factories.GroupFactory',type_id='review')
|
|
reviewer_queue_policy_id = 'RotateAlphabetically'
|
|
|
|
@factory.post_generation
|
|
def review_types(obj, create, extracted, **kwargs):
|
|
if not create:
|
|
return
|
|
if extracted:
|
|
obj.review_types.set(ReviewTypeName.objects.filter(slug__in=extracted))
|
|
else:
|
|
obj.review_types.set(ReviewTypeName.objects.filter(slug__in=('early','lc','telechat')))
|
|
|
|
@factory.post_generation
|
|
def review_results(obj, create, extracted, **kwargs):
|
|
if not create:
|
|
return
|
|
if extracted:
|
|
obj.review_results.set(ReviewResultName.objects.filter(slug__in=extracted))
|
|
else:
|
|
obj.review_results.set(ReviewResultName.objects.filter(slug__in=('not-ready','right-track','almost-ready','ready-issues','ready-nits','ready')))
|
|
|
|
class ReviewRequestFactory(factory.django.DjangoModelFactory):
|
|
class Meta:
|
|
model = ReviewRequest
|
|
|
|
state_id = 'requested'
|
|
type_id = 'lc'
|
|
doc = factory.SubFactory('ietf.doc.factories.DocumentFactory',type_id='draft')
|
|
team = factory.SubFactory('ietf.group.factories.ReviewTeamFactory',type_id='review')
|
|
deadline = datetime.datetime.today()+datetime.timedelta(days=14)
|
|
requested_by = factory.SubFactory('ietf.person.factories.PersonFactory')
|
|
|
|
class ReviewAssignmentFactory(factory.django.DjangoModelFactory):
|
|
class Meta:
|
|
model = ReviewAssignment
|
|
|
|
review_request = factory.SubFactory('ietf.review.factories.ReviewRequestFactory')
|
|
state_id = 'assigned'
|
|
reviewer = factory.SubFactory('ietf.person.factories.EmailFactory')
|
|
assigned_on = datetime.datetime.now()
|
|
|
|
class ReviewerSettingsFactory(factory.django.DjangoModelFactory):
|
|
class Meta:
|
|
model = ReviewerSettings
|
|
|
|
team = factory.SubFactory('ietf.group.factories.ReviewTeamFactory')
|
|
person = factory.SubFactory('ietf.person.factories.PersonFactory')
|