Made the MeetingFactory produce ietf meetings with dates appropriate for the numbers. Fixes random failures in test_eligible().

- Legacy-Id: 14556
This commit is contained in:
Henrik Levkowetz 2018-01-23 21:41:47 +00:00
parent a00532694d
commit a438ff85e8

View file

@ -13,7 +13,7 @@ class MeetingFactory(factory.DjangoModelFactory):
model = Meeting
type_id = factory.Iterator(['ietf','interim'])
date = datetime.date(2010,1,1)+datetime.timedelta(days=random.randint(0,3652))
city = factory.Faker('city')
country = factory.Faker('country_code')
time_zone = factory.Faker('timezone')
@ -44,6 +44,17 @@ class MeetingFactory(factory.DjangoModelFactory):
else:
return 1
@factory.lazy_attribute
def date(self):
if self.type_id == 'ietf':
year = (self.number-2)//3+1985
month = ((self.number-2)%3+1)*4-1
day = random.randint(1,28)
return datetime.date(year, month, day)
else:
return datetime.date(2010,1,1)+datetime.timedelta(days=random.randint(0,3652))
@factory.post_generation
def populate_agenda(obj, create, extracted, **kwargs): # pylint: disable=no-self-argument
'''
@ -58,7 +69,6 @@ class MeetingFactory(factory.DjangoModelFactory):
obj.agenda = ScheduleFactory(meeting=obj)
obj.save()
class SessionFactory(factory.DjangoModelFactory):
class Meta:
model = Session