1818
1919@patch .dict (
2020 os .environ ,
21- {"SEARCH_QUERY" : "is:open repo:user/repo" , "GH_TOKEN" : "test_token" },
21+ {
22+ "SEARCH_QUERY" : "is:open repo:user/repo" ,
23+ "GH_TOKEN" : "test_token" ,
24+ "DRAFT_PR_TRACKING" : "True" ,
25+ },
2226)
2327class TestWriteToMarkdown (unittest .TestCase ):
2428 """Test the write_to_markdown function."""
@@ -43,7 +47,8 @@ def test_write_to_markdown(self):
4347 time_to_first_response = timedelta (days = 1 ),
4448 time_to_close = timedelta (days = 2 ),
4549 time_to_answer = timedelta (days = 3 ),
46- labels_metrics = {"bug" : timedelta (days = 1 )},
50+ time_in_draft = timedelta (days = 1 ),
51+ labels_metrics = {"bug" : timedelta (days = 4 )},
4752 ),
4853 IssueWithMetrics (
4954 title = "Issue 2\r " ,
@@ -52,6 +57,7 @@ def test_write_to_markdown(self):
5257 time_to_first_response = timedelta (days = 3 ),
5358 time_to_close = timedelta (days = 4 ),
5459 time_to_answer = timedelta (days = 5 ),
60+ time_in_draft = timedelta (days = 1 ),
5561 labels_metrics = {"bug" : timedelta (days = 2 )},
5662 ),
5763 ]
@@ -70,6 +76,11 @@ def test_write_to_markdown(self):
7076 "med" : timedelta (days = 4 ),
7177 "90p" : timedelta (days = 4 ),
7278 }
79+ time_in_draft = {
80+ "avg" : timedelta (days = 1 ),
81+ "med" : timedelta (days = 1 ),
82+ "90p" : timedelta (days = 1 ),
83+ }
7384 time_in_labels = {
7485 "avg" : {"bug" : "1 day, 12:00:00" },
7586 "med" : {"bug" : "1 day, 12:00:00" },
@@ -86,6 +97,7 @@ def test_write_to_markdown(self):
8697 average_time_to_first_response = time_to_first_response ,
8798 average_time_to_close = time_to_close ,
8899 average_time_to_answer = time_to_answer ,
100+ average_time_in_draft = time_in_draft ,
89101 average_time_in_labels = time_in_labels ,
90102 num_issues_opened = num_issues_opened ,
91103 num_issues_closed = num_issues_closed ,
@@ -106,6 +118,7 @@ def test_write_to_markdown(self):
106118 "| Time to first response | 2 days, 0:00:00 | 2 days, 0:00:00 | 2 days, 0:00:00 |\n "
107119 "| Time to close | 3 days, 0:00:00 | 3 days, 0:00:00 | 3 days, 0:00:00 |\n "
108120 "| Time to answer | 4 days, 0:00:00 | 4 days, 0:00:00 | 4 days, 0:00:00 |\n "
121+ "| Time in draft | 1 day, 0:00:00 | 1 day, 0:00:00 | 1 day, 0:00:00 |\n "
109122 "| Time spent in bug | 1 day, 12:00:00 | 1 day, 12:00:00 | 1 day, 12:00:00 |\n "
110123 "\n "
111124 "| Metric | Count |\n "
@@ -115,12 +128,12 @@ def test_write_to_markdown(self):
115128 "| Number of most active mentors | 5 |\n "
116129 "| Total number of items created | 2 |\n \n "
117130 "| Title | URL | Author | Time to first response | Time to close |"
118- " Time to answer | Time spent in bug |\n "
119- "| --- | --- | --- | --- | --- | --- | --- |\n "
131+ " Time to answer | Time in draft | Time spent in bug |\n "
132+ "| --- | --- | --- | --- | --- | --- | --- | --- | \n "
120133 "| Issue 1 | https://github.com/user/repo/issues/1 | [alice](https://github.com/alice) | 1 day, 0:00:00 | "
121- "2 days, 0:00:00 | 3 days, 0:00:00 | 1 day, 0:00:00 |\n "
134+ "2 days, 0:00:00 | 3 days, 0:00:00 | 1 day, 0:00:00 | 4 days, 0:00:00 | \n "
122135 "| Issue 2 | https://github.com/user/repo/issues/2 | [bob](https://github.com/bob) | 3 days, 0:00:00 | "
123- "4 days, 0:00:00 | 5 days, 0:00:00 | 2 days, 0:00:00 |\n \n "
136+ "4 days, 0:00:00 | 5 days, 0:00:00 | 1 day, 0:00:00 | 2 days, 0:00:00 |\n \n "
124137 "_This report was generated with the [Issue Metrics Action](https://github.com/github/issue-metrics)_\n "
125138 "Search query used to find these items: `is:issue is:open label:bug`\n "
126139 )
@@ -145,6 +158,7 @@ def test_write_to_markdown_with_vertical_bar_in_title(self):
145158 time_to_first_response = timedelta (days = 1 ),
146159 time_to_close = timedelta (days = 2 ),
147160 time_to_answer = timedelta (days = 3 ),
161+ time_in_draft = timedelta (days = 1 ),
148162 labels_metrics = {"bug" : timedelta (days = 1 )},
149163 ),
150164 IssueWithMetrics (
@@ -172,6 +186,11 @@ def test_write_to_markdown_with_vertical_bar_in_title(self):
172186 "med" : timedelta (days = 4 ),
173187 "90p" : timedelta (days = 4 ),
174188 }
189+ average_time_in_draft = {
190+ "avg" : timedelta (days = 1 ),
191+ "med" : timedelta (days = 1 ),
192+ "90p" : timedelta (days = 1 ),
193+ }
175194 average_time_in_labels = {
176195 "avg" : {"bug" : "1 day, 12:00:00" },
177196 "med" : {"bug" : "1 day, 12:00:00" },
@@ -188,6 +207,7 @@ def test_write_to_markdown_with_vertical_bar_in_title(self):
188207 average_time_to_first_response = average_time_to_first_response ,
189208 average_time_to_close = average_time_to_close ,
190209 average_time_to_answer = average_time_to_answer ,
210+ average_time_in_draft = average_time_in_draft ,
191211 average_time_in_labels = average_time_in_labels ,
192212 num_issues_opened = num_issues_opened ,
193213 num_issues_closed = num_issues_closed ,
@@ -207,6 +227,7 @@ def test_write_to_markdown_with_vertical_bar_in_title(self):
207227 "| Time to first response | 2 days, 0:00:00 | 2 days, 0:00:00 | 2 days, 0:00:00 |\n "
208228 "| Time to close | 3 days, 0:00:00 | 3 days, 0:00:00 | 3 days, 0:00:00 |\n "
209229 "| Time to answer | 4 days, 0:00:00 | 4 days, 0:00:00 | 4 days, 0:00:00 |\n "
230+ "| Time in draft | 1 day, 0:00:00 | 1 day, 0:00:00 | 1 day, 0:00:00 |\n "
210231 "| Time spent in bug | 1 day, 12:00:00 | 1 day, 12:00:00 | 1 day, 12:00:00 |\n "
211232 "\n "
212233 "| Metric | Count |\n "
@@ -216,12 +237,12 @@ def test_write_to_markdown_with_vertical_bar_in_title(self):
216237 "| Number of most active mentors | 5 |\n "
217238 "| Total number of items created | 2 |\n \n "
218239 "| Title | URL | Author | Time to first response | Time to close |"
219- " Time to answer | Time spent in bug |\n "
220- "| --- | --- | --- | --- | --- | --- | --- |\n "
240+ " Time to answer | Time in draft | Time spent in bug |\n "
241+ "| --- | --- | --- | --- | --- | --- | --- | --- | \n "
221242 "| Issue 1 | https://github.com/user/repo/issues/1 | [alice](https://github.com/alice) | 1 day, 0:00:00 | "
222- "2 days, 0:00:00 | 3 days, 0:00:00 | 1 day, 0:00:00 |\n "
243+ "2 days, 0:00:00 | 3 days, 0:00:00 | 1 day, 0:00:00 | 1 day, 0:00:00 | \n "
223244 "| feat| Issue 2 | https://github.com/user/repo/issues/2 | [bob](https://github.com/bob) | 3 days, 0:00:00 | "
224- "4 days, 0:00:00 | 5 days, 0:00:00 | 2 days, 0:00:00 |\n \n "
245+ "4 days, 0:00:00 | 5 days, 0:00:00 | None | 2 days, 0:00:00 |\n \n "
225246 "_This report was generated with the [Issue Metrics Action](https://github.com/github/issue-metrics)_\n "
226247 )
227248 self .assertEqual (content , expected_content )
@@ -240,6 +261,7 @@ def test_write_to_markdown_no_issues(self):
240261 None ,
241262 None ,
242263 None ,
264+ None ,
243265 report_title = "Issue Metrics" ,
244266 )
245267
@@ -289,6 +311,7 @@ def test_writes_markdown_file_with_non_hidden_columns_only(self):
289311 time_to_first_response = timedelta (minutes = 10 ),
290312 time_to_close = timedelta (days = 1 ),
291313 time_to_answer = timedelta (hours = 2 ),
314+ time_in_draft = timedelta (days = 1 ),
292315 labels_metrics = {
293316 "label1" : timedelta (days = 1 ),
294317 },
@@ -308,6 +331,7 @@ def test_writes_markdown_file_with_non_hidden_columns_only(self):
308331 average_time_to_first_response = timedelta (minutes = 15 )
309332 average_time_to_close = timedelta (days = 1.5 )
310333 average_time_to_answer = timedelta (hours = 3 )
334+ average_time_in_draft = timedelta (days = 1 )
311335 average_time_in_labels = {
312336 "label1" : timedelta (days = 1 ),
313337 }
@@ -322,6 +346,7 @@ def test_writes_markdown_file_with_non_hidden_columns_only(self):
322346 average_time_to_close = average_time_to_close ,
323347 average_time_to_answer = average_time_to_answer ,
324348 average_time_in_labels = average_time_in_labels ,
349+ average_time_in_draft = average_time_in_draft ,
325350 num_issues_opened = num_issues_opened ,
326351 num_issues_closed = num_issues_closed ,
327352 num_mentor_count = num_mentor_count ,
0 commit comments