@@ -152,6 +152,7 @@ def test_doc_page(self):
152152 r = self .client .get (url )
153153 self .assertEqual (r .status_code , 200 )
154154 content = unicontent (r )
155+ #debug.show('unicontent(r)')
155156 self .assertTrue ("{} Review" .format (review_req .type .name ) in content )
156157
157158 def test_review_request (self ):
@@ -181,8 +182,8 @@ def test_close_request(self):
181182 review_team = ReviewTeamFactory (acronym = "reviewteam" , name = "Review Team" , type_id = "review" , list_email = "reviewteam@ietf.org" , parent = Group .objects .get (acronym = "farfut" ))
182183 rev_role = RoleFactory (group = review_team ,person__user__username = 'reviewer' ,person__user__email = 'reviewer@example.com' ,name_id = 'reviewer' )
183184 RoleFactory (group = review_team ,person__user__username = 'reviewsecretary' ,person__user__email = 'reviewsecretary@example.com' ,name_id = 'secr' )
184- review_req = ReviewRequestFactory (doc = doc ,team = review_team ,type_id = 'early' ,state_id = 'accepted ' ,requested_by = rev_role .person , reviewer = rev_role . person . email_set . first () ,deadline = datetime .datetime .now ()+ datetime .timedelta (days = 20 ))
185-
185+ review_req = ReviewRequestFactory (doc = doc ,team = review_team ,type_id = 'early' ,state_id = 'assigned ' ,requested_by = rev_role .person ,deadline = datetime .datetime .now ()+ datetime .timedelta (days = 20 ))
186+ ReviewAssignmentFactory ( review_request = review_req , state_id = 'accepted' , reviewer = rev_role . person . email_set . first ())
186187 close_url = urlreverse ('ietf.doc.views_review.close_request' , kwargs = { "name" : doc .name , "request_id" : review_req .pk })
187188
188189
@@ -290,7 +291,8 @@ def get_skip_next(person):
290291 settings , _ = ReviewerSettings .objects .get_or_create (team = team , person = reviewers [2 ])
291292 settings .min_interval = 30
292293 settings .save ()
293- ReviewRequest .objects .create (team = team , doc = doc , type_id = "early" , state_id = "accepted" , deadline = today , requested_by = reviewers [0 ], reviewer = reviewers [2 ].email_set .first ())
294+ req = ReviewRequest .objects .create (team = team , doc = doc , type_id = "early" , state_id = "assigned" , deadline = today , requested_by = reviewers [0 ])
295+ ReviewAssignmentFactory (review_request = req , state_id = "accepted" , reviewer = reviewers [2 ].email_set .first (),assigned_on = req .time )
294296 possibly_advance_next_reviewer_for_team (team , assigned_review_to_person_id = reviewers [3 ].pk )
295297 self .assertEqual (NextReviewerInTeam .objects .get (team = team ).next_reviewer , reviewers [4 ])
296298 self .assertEqual (get_skip_next (reviewers [0 ]), 0 )
@@ -317,17 +319,24 @@ def test_assign_reviewer(self):
317319 doc .save_with_history ([DocEvent .objects .create (doc = doc , rev = doc .rev , type = "changed_document" , by = Person .objects .get (user__username = "secretary" ), desc = "Test" )])
318320
319321 # previous review
320- ReviewRequest . objects . create (
322+ req = ReviewRequestFactory (
321323 time = datetime .datetime .now () - datetime .timedelta (days = 100 ),
322324 requested_by = Person .objects .get (name = "(System)" ),
323325 doc = doc ,
324- type = ReviewTypeName . objects . get ( slug = " early" ) ,
326+ type_id = ' early' ,
325327 team = review_req .team ,
326- state = ReviewRequestStateName .objects .get (slug = "completed" ),
327- result_id = 'serious-issues' ,
328- reviewed_rev = "01" ,
328+ state_id = 'assigned' ,
329+ requested_rev = "01" ,
329330 deadline = datetime .date .today () - datetime .timedelta (days = 80 ),
331+ )
332+ ReviewAssignmentFactory (
333+ review_request = req ,
334+ state_id = 'completed' ,
335+ result_id = 'serious-issues' ,
330336 reviewer = reviewer_email ,
337+ reviewed_rev = "01" ,
338+ assigned_on = req .time ,
339+ completed_on = req .time + datetime .timedelta (days = 10 ),
331340 )
332341
333342 reviewer_settings = ReviewerSettings .objects .get (person__email = reviewer_email , team = review_req .team )
@@ -390,37 +399,25 @@ def test_assign_reviewer(self):
390399 self .assertEqual (r .status_code , 302 )
391400
392401 review_req = reload_db_objects (review_req )
393- self .assertEqual (review_req .state_id , "requested" )
394- self .assertEqual (review_req .reviewer , reviewer )
402+ self .assertEqual (review_req .state_id , "assigned" )
403+ self .assertEqual (review_req .reviewassignment_set .count (),1 )
404+ assignment = review_req .reviewassignment_set .first ()
405+ self .assertEqual (assignment .reviewer , reviewer )
406+ self .assertEqual (assignment .state_id , "requested" )
395407 self .assertEqual (len (outbox ), 1 )
396408 self .assertTrue ("assigned" in outbox [0 ].get_payload (decode = True ).decode ("utf-8" ))
397409 self .assertEqual (NextReviewerInTeam .objects .get (team = review_req .team ).next_reviewer , rotation_list [1 ])
398410
399- # re-assign
400- empty_outbox ()
401- review_req .state = ReviewRequestStateName .objects .get (slug = "accepted" )
402- review_req .save ()
403- reviewer = Email .objects .filter (role__name = "reviewer" , role__group = review_req .team , person = rotation_list [1 ]).first ()
404- r = self .client .post (assign_url , { "action" : "assign" , "reviewer" : reviewer .pk , "add_skip" : 1 })
405- self .assertEqual (r .status_code , 302 )
406-
407- review_req = reload_db_objects (review_req )
408- self .assertEqual (review_req .state_id , "requested" ) # check that state is reset
409- self .assertEqual (review_req .reviewer , reviewer )
410- self .assertEqual (len (outbox ), 2 )
411- self .assertTrue ("cancelled your assignment" in outbox [0 ].get_payload (decode = True ).decode ("utf-8" ))
412- self .assertTrue ("assigned" in outbox [1 ].get_payload (decode = True ).decode ("utf-8" ))
413- self .assertEqual (ReviewerSettings .objects .get (person = reviewer .person ).skip_next , 1 )
414-
415411 def test_accept_reviewer_assignment (self ):
416412
417413 doc = WgDraftFactory (group__acronym = 'mars' ,rev = '01' )
418414 review_team = ReviewTeamFactory (acronym = "reviewteam" , name = "Review Team" , type_id = "review" , list_email = "reviewteam@ietf.org" , parent = Group .objects .get (acronym = "farfut" ))
419415 rev_role = RoleFactory (group = review_team ,person__user__username = 'reviewer' ,person__user__email = 'reviewer@example.com' ,name_id = 'reviewer' )
420- review_req = ReviewRequestFactory (doc = doc ,team = review_team ,type_id = 'early' ,state_id = 'requested' ,requested_by = rev_role .person ,reviewer = rev_role .person .email_set .first (),deadline = datetime .datetime .now ()+ datetime .timedelta (days = 20 ))
416+ review_req = ReviewRequestFactory (doc = doc ,team = review_team ,type_id = 'early' ,state_id = 'assigned' ,requested_by = rev_role .person ,deadline = datetime .datetime .now ()+ datetime .timedelta (days = 20 ))
417+ assignment = ReviewAssignmentFactory (review_request = review_req , state_id = 'requested' , reviewer = rev_role .person .email_set .first ())
421418
422419 url = urlreverse ('ietf.doc.views_review.review_request' , kwargs = { "name" : doc .name , "request_id" : review_req .pk })
423- username = review_req .reviewer .person .user .username
420+ username = assignment .reviewer .person .user .username
424421 self .client .login (username = username , password = username + "+password" )
425422 r = self .client .get (url )
426423 self .assertEqual (r .status_code , 200 )
@@ -431,8 +428,8 @@ def test_accept_reviewer_assignment(self):
431428 r = self .client .post (url , { "action" : "accept" })
432429 self .assertEqual (r .status_code , 302 )
433430
434- review_req = reload_db_objects (review_req )
435- self .assertEqual (review_req .state_id , "accepted" )
431+ assignment = reload_db_objects (assignment )
432+ self .assertEqual (assignment .state_id , "accepted" )
436433
437434 def test_reject_reviewer_assignment (self ):
438435 doc = WgDraftFactory (group__acronym = 'mars' ,rev = '01' )
@@ -682,6 +679,7 @@ def test_complete_review_enter_content(self):
682679
683680 assignment = reload_db_objects (assignment )
684681 self .assertEqual (assignment .state_id , "completed" )
682+ self .assertNotEqual (assignment .completed_on , None )
685683
686684 with open (os .path .join (self .review_subdir , assignment .review .name + ".txt" )) as f :
687685 self .assertEqual (f .read (), "This is a review\n with two lines" )
0 commit comments