99from ietf .doc .models import TelechatDocEvent
1010from ietf .iesg .models import TelechatDate
1111from ietf .person .models import Email , Person
12- from ietf .review .models import ReviewRequest , ReviewRequestStateName , ReviewerSettings , UnavailablePeriod
12+ from ietf .review .models import ReviewRequest , ReviewerSettings , UnavailablePeriod
1313from ietf .review .utils import suggested_review_requests_for_team
14+ from ietf .name .models import ReviewTypeName , ReviewResultName , ReviewRequestStateName
1415import ietf .group .views_review
1516from ietf .utils .mail import outbox , empty_outbox
1617
@@ -32,8 +33,8 @@ def test_review_requests(self):
3233 url = urlreverse (ietf .group .views_review .review_requests , kwargs = { 'acronym' : group .acronym })
3334
3435 # close request, listed under closed
35- review_req .state_id = "completed"
36- review_req .result_id = "ready"
36+ review_req .state = ReviewRequestStateName . objects . get ( slug = "completed" )
37+ review_req .result = ReviewResultName . objects . get ( slug = "ready" )
3738 review_req .save ()
3839
3940 r = self .client .get (url )
@@ -97,8 +98,50 @@ def test_suggested_review_requests(self):
9798 review_req .save ()
9899
99100 self .assertEqual (len (suggested_review_requests_for_team (team )), 1 )
100-
101101
102+ def test_reviewer_overview (self ):
103+ doc = make_test_data ()
104+ review_req1 = make_review_data (doc )
105+ review_req1 .state = ReviewRequestStateName .objects .get (slug = "completed" )
106+ review_req1 .save ()
107+
108+ reviewer = review_req1 .reviewer .person
109+
110+ ReviewRequest .objects .create (
111+ doc = review_req1 .doc ,
112+ team = review_req1 .team ,
113+ type_id = "early" ,
114+ deadline = datetime .date .today () + datetime .timedelta (days = 30 ),
115+ state_id = "accepted" ,
116+ reviewer = review_req1 .reviewer ,
117+ requested_by = Person .objects .get (user__username = "plain" ),
118+ )
119+
120+ UnavailablePeriod .objects .create (
121+ team = review_req1 .team ,
122+ person = reviewer ,
123+ start_date = datetime .date .today () - datetime .timedelta (days = 10 ),
124+ availability = "unavailable" ,
125+ )
126+
127+ settings = ReviewerSettings .objects .get (person = reviewer )
128+ settings .skip_next = 1
129+ settings .save ()
130+
131+ group = review_req1 .team
132+
133+ url = urlreverse (ietf .group .views_review .reviewer_overview , kwargs = { 'acronym' : group .acronym , 'group_type' : group .type_id })
134+
135+ # get
136+ r = self .client .get (url )
137+ self .assertEqual (r .status_code , 200 )
138+ self .assertTrue (unicode (reviewer ) in unicontent (r ))
139+ self .assertTrue (review_req1 .doc .name in unicontent (r ))
140+
141+ self .client .login (username = "secretary" , password = "secretary+password" )
142+ r = self .client .get (url )
143+ self .assertEqual (r .status_code , 200 )
144+
102145 def test_manage_review_requests (self ):
103146 doc = make_test_data ()
104147 review_req1 = make_review_data (doc )
@@ -128,6 +171,33 @@ def test_manage_review_requests(self):
128171 requested_by = Person .objects .get (user__username = "plain" ),
129172 )
130173
174+ # previous reviews
175+ ReviewRequest .objects .create (
176+ time = datetime .datetime .now () - datetime .timedelta (days = 100 ),
177+ requested_by = Person .objects .get (name = "(System)" ),
178+ doc = doc ,
179+ type = ReviewTypeName .objects .get (slug = "early" ),
180+ team = review_req1 .team ,
181+ state = ReviewRequestStateName .objects .get (slug = "completed" ),
182+ result = ReviewResultName .objects .get (slug = "ready-nits" ),
183+ reviewed_rev = "01" ,
184+ deadline = datetime .date .today () - datetime .timedelta (days = 80 ),
185+ reviewer = review_req1 .reviewer ,
186+ )
187+
188+ ReviewRequest .objects .create (
189+ time = datetime .datetime .now () - datetime .timedelta (days = 100 ),
190+ requested_by = Person .objects .get (name = "(System)" ),
191+ doc = doc ,
192+ type = ReviewTypeName .objects .get (slug = "early" ),
193+ team = review_req1 .team ,
194+ state = ReviewRequestStateName .objects .get (slug = "completed" ),
195+ result = ReviewResultName .objects .get (slug = "ready" ),
196+ reviewed_rev = "01" ,
197+ deadline = datetime .date .today () - datetime .timedelta (days = 80 ),
198+ reviewer = review_req1 .reviewer ,
199+ )
200+
131201 # get
132202 r = self .client .get (url )
133203 self .assertEqual (r .status_code , 200 )
0 commit comments