datatracker/ietf/review/factories.py
Jennifer Richards ebebdbed3e
refactor: replace datetime.now and datetime.today with timezone.now (#4211)
* 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
2022-08-25 13:45:16 -03:00

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')