Skip to content

Commit a438ff8

Browse files
committed
Made the MeetingFactory produce ietf meetings with dates appropriate for the numbers. Fixes random failures in test_eligible().
- Legacy-Id: 14556
1 parent a005326 commit a438ff8

1 file changed

Lines changed: 12 additions & 2 deletions

File tree

ietf/meeting/factories.py

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ class Meta:
1313
model = Meeting
1414

1515
type_id = factory.Iterator(['ietf','interim'])
16-
date = datetime.date(2010,1,1)+datetime.timedelta(days=random.randint(0,3652))
16+
1717
city = factory.Faker('city')
1818
country = factory.Faker('country_code')
1919
time_zone = factory.Faker('timezone')
@@ -44,6 +44,17 @@ def days(self):
4444
else:
4545
return 1
4646

47+
@factory.lazy_attribute
48+
def date(self):
49+
if self.type_id == 'ietf':
50+
year = (self.number-2)//3+1985
51+
month = ((self.number-2)%3+1)*4-1
52+
day = random.randint(1,28)
53+
return datetime.date(year, month, day)
54+
else:
55+
return datetime.date(2010,1,1)+datetime.timedelta(days=random.randint(0,3652))
56+
57+
4758
@factory.post_generation
4859
def populate_agenda(obj, create, extracted, **kwargs): # pylint: disable=no-self-argument
4960
'''
@@ -58,7 +69,6 @@ def populate_agenda(obj, create, extracted, **kwargs): # pylint: disable=no-self
5869
obj.agenda = ScheduleFactory(meeting=obj)
5970
obj.save()
6071

61-
6272
class SessionFactory(factory.DjangoModelFactory):
6373
class Meta:
6474
model = Session

0 commit comments

Comments
 (0)