Skip to content

Commit bcc280f

Browse files
committed
tightened edge for group office rule
- Legacy-Id: 18972
1 parent 216ec49 commit bcc280f

File tree

2 files changed

+16
-3
lines changed

2 files changed

+16
-3
lines changed

ietf/nomcom/tests.py

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
from ietf.dbtemplate.factories import DBTemplateFactory
2525
from ietf.dbtemplate.models import DBTemplate
2626
from ietf.doc.factories import DocEventFactory, WgDocumentAuthorFactory
27-
from ietf.group.factories import RoleFactory, RoleHistoryFactory
27+
from ietf.group.factories import GroupFactory, GroupHistoryFactory, RoleFactory, RoleHistoryFactory
2828
from ietf.group.models import Group, Role
2929
from ietf.meeting.factories import MeetingFactory
3030
from ietf.message.models import Message
@@ -2302,8 +2302,19 @@ def test_elig_by_office_active_groups(self):
23022302

23032303
self.assertEqual(set([chair,secr]), set(list_eligible(nomcom=self.nomcom)))
23042304

2305-
# Current implementation of 8989 rule 2 has an edge case bug
2306-
# If someone was made a wg officer after the elgibility date proscribed by rfc8989, they will still be counted as eligible.
2305+
2306+
def test_elig_by_office_edge(self):
2307+
2308+
elig_date=get_eligibility_date(self.nomcom)
2309+
day_after = elig_date + datetime.timedelta(days=1)
2310+
two_days_after = elig_date + datetime.timedelta(days=2)
2311+
2312+
group = GroupFactory(time=two_days_after)
2313+
GroupHistoryFactory(group=group,time=day_after)
2314+
2315+
after_chair = RoleFactory(name_id='chair',group=group).person
2316+
2317+
self.assertFalse(is_eligible(person=after_chair,nomcom=self.nomcom))
23072318

23082319

23092320
def test_elig_by_office_closed_groups(self):

ietf/nomcom/utils.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -521,9 +521,11 @@ def list_eligible_8989(date, base_qs=None):
521521
Q(role__name_id__in=('chair','secr'),
522522
role__group__state_id='active',
523523
role__group__type_id='wg',
524+
role__group__time__lte=date,
524525
)
525526
# was an officer since the given date (I think this is wrong - it looks at when roles _start_, not when roles end)
526527
| Q(rolehistory__group__time__gte=three_years_ago,
528+
rolehistory__group__time__lte=date,
527529
rolehistory__name_id__in=('chair','secr'),
528530
rolehistory__group__state_id='active',
529531
rolehistory__group__type_id='wg',

0 commit comments

Comments
 (0)