@@ -257,27 +257,34 @@ def test_default_reviewer_rotation_list(self):
257257 out_of_team_reviewer = PersonFactory ()
258258 ReviewAssignmentFactory (review_request__team = team , reviewer = out_of_team_reviewer .email ())
259259
260- # No known assignments
260+ # No known assignments, order in PK order.
261261 rotation = policy .default_reviewer_rotation_list ()
262262 self .assertNotIn (unavailable_reviewer , rotation )
263263 self .assertEqual (rotation , reviewers )
264264
265- # Regular accepted assignment
265+ # Regular accepted assignments. Note that one is older and one is newer than reviewer 0's,
266+ # the newest one should count for ordering, i.e. reviewer 1 should be later in the list.
266267 ReviewAssignmentFactory (reviewer = reviewers [1 ].email (), assigned_on = '2019-01-01' ,
267268 state_id = 'accepted' , review_request__team = team )
269+ ReviewAssignmentFactory (reviewer = reviewers [1 ].email (), assigned_on = '2017-01-01' ,
270+ state_id = 'accepted' , review_request__team = team )
268271 # Rejected assignment, should not affect reviewer 2's position
269- ReviewAssignmentFactory (reviewer = reviewers [2 ].email (), state_id = 'rejected ' ,
270- review_request__team = team )
271- # Completed assignment , assigned before reviewer 1,
272+ ReviewAssignmentFactory (reviewer = reviewers [2 ].email (), assigned_on = '2020-01-01 ' ,
273+ state_id = 'rejected' , review_request__team = team )
274+ # Completed assignments , assigned before the most recent assignment of reviewer 1,
272275 # but completed after (assign date should count).
273276 ReviewAssignmentFactory (reviewer = reviewers [0 ].email (), assigned_on = '2018-01-01' ,
274277 completed_on = '2020-01-01' , state_id = 'completed' ,
275278 review_request__team = team )
279+ ReviewAssignmentFactory (reviewer = reviewers [0 ].email (), assigned_on = '2018-05-01' ,
280+ completed_on = '2020-01-01' , state_id = 'completed' ,
281+ review_request__team = team )
276282 rotation = policy .default_reviewer_rotation_list ()
277283 self .assertNotIn (unavailable_reviewer , rotation )
278284 self .assertEqual (rotation , [reviewers [2 ], reviewers [3 ], reviewers [4 ], reviewers [0 ], reviewers [1 ]])
279285
280286 def test_return_reviewer_to_top_rotation (self ):
287+ # Should do nothing, this is implicit in this policy, no state change is needed.
281288 team = ReviewTeamFactory (acronym = "rotationteam" , name = "Review Team" ,
282289 list_email = "rotationteam@ietf.org" ,
283290 parent = Group .objects .get (acronym = "farfut" ))
0 commit comments