* refactor: replace datetime.now with timezone.now * refactor: migrate model fields to use timezone.now as default * refactor: replace datetime.today with timezone.now datetime.datetime.today() is equivalent to datetime.datetime.now(); both return a naive datetime with the current local time. * refactor: rephrase datetime.now(tz) as timezone.now().astimezone(tz) This is effectively the same, but is less likely to encourage accidental use of naive datetimes. * refactor: revert datetime.today() change to old migrations * refactor: change a missed datetime.now to timezone.now * chore: renumber timezone_now migration * chore: renumber migrations
62 lines
2.3 KiB
Python
62 lines
2.3 KiB
Python
# Copyright The IETF Trust 2016-2019, All Rights Reserved
|
|
import factory
|
|
import datetime
|
|
|
|
from django.utils import timezone
|
|
|
|
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 = timezone.now()+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 = timezone.now()
|
|
|
|
class ReviewerSettingsFactory(factory.django.DjangoModelFactory):
|
|
class Meta:
|
|
model = ReviewerSettings
|
|
|
|
team = factory.SubFactory('ietf.group.factories.ReviewTeamFactory')
|
|
person = factory.SubFactory('ietf.person.factories.PersonFactory')
|