@@ -152,11 +152,12 @@ def test_assign(self):
152
152
with expect .githuberror ():
153
153
self .i .assign ('foo' )
154
154
155
- self .not_called ()
156
155
self .login ()
157
156
158
157
with patch .object (github3 .issues .Issue , 'edit' ) as ed :
159
158
ed .return_value = True
159
+ expect (self .i .assign (None )).is_False ()
160
+ self .not_called ()
160
161
expect (self .i .assign ('sigmavirus24' )).is_True ()
161
162
n = self .i .milestone .number if self .i .milestone else None
162
163
ed .assert_called_once_with (
@@ -179,3 +180,120 @@ def test_close(self):
179
180
ed .assert_called_once_with (
180
181
self .i .title , self .i .body , u , self .i .state , n , self .i .labels
181
182
)
183
+
184
+ def test_comment (self ):
185
+ self .response ('issue_comment' )
186
+ self .get (self .api [:- 1 ] + 'comments/476476' )
187
+
188
+ expect (self .i .comment ('476476' )).isinstance (
189
+ github3 .issues .IssueComment )
190
+ self .mock_assertions ()
191
+
192
+ def test_create_comment (self ):
193
+ self .response ('issue_comment' , 201 )
194
+ self .post (self .api + '/comments' )
195
+ self .conf = {'data' : {'body' : 'comment body' }}
196
+
197
+ with expect .githuberror ():
198
+ self .i .create_comment ('
B41A
;' )
199
+
200
+ self .login ()
201
+ expect (self .i .create_comment (None )).is_None ()
202
+ self .not_called ()
203
+
204
+ expect (self .i .create_comment ('comment body' )).isinstance (
205
+ github3 .issues .IssueComment )
206
+ self .mock_assertions ()
207
+
208
+ def test_edit (self ):
209
+ self .response ('issue' , 200 )
210
+ self .patch (self .api )
211
+ self .conf = {'data' : {'title' : 'new title' }}
212
+
213
+ with expect .githuberror ():
214
+ self .i .edit ()
215
+
216
+ self .login ()
217
+ expect (self .i .edit ()).is_False ()
218
+ self .not_called ()
219
+
220
+ expect (self .i .edit ('new title' )).is_True ()
221
+ self .mock_assertions ()
222
+
223
+ def test_is_closed (self ):
224
+ expect (self .i .is_closed ()).is_True ()
225
+
226
+ self .i .closed_at = None
227
+ expect (self .i .is_closed ()).is_True ()
228
+
229
+ self .i .state = 'open'
230
+ expect (self .i .is_closed ()).is_False ()
231
+
232
+ def test_iter_comments (self ):
233
+ self .response ('issue_comment' , _iter = True )
234
+ self .get (self .api + '/comments' )
235
+
236
+ expect (next (self .i .iter_comments ())).isinstance (
237
+ github3 .issues .IssueComment )
238
+ self .mock_assertions ()
239
+
240
+ def test_iter_events (self ):
241
+ self .response ('issue_event' , _iter = True )
242
+ self .get (self .api + '/events' )
243
+
244
+ expect (next (self .i .iter_events ())).isinstance (
245
+ github3 .issues .IssueEvent )
246
+ self .mock_assertions ()
247
+
248
+ def test_remove_label (self ):
249
+ self .response ('' , 204 )
250
+ self .delete (self .api + '/labels/name' )
251
+
252
+ with expect .githuberror ():
253
+ self .i .remove_label ('name' )
254
+
255
+ self .not_called ()
256
+ self .login ()
257
+ expect (self .i .remove_label ('name' )).is_True ()
258
+ self .mock_assertions ()
259
+
260
+ def test_remove_all_labels (self ):
261
+ with expect .githuberror ():
262
+ self .i .remove_all_labels ()
263
+
264
+ self .login ()
265
+
266
+ with patch .object (github3 .issues .Issue , 'replace_labels' ) as rl :
267
+ rl .return_value = []
268
+ expect (self .i .remove_all_labels ()) == []
269
+ rl .assert_called_once_with ([])
270
+
271
+ def test_replace_labels (self ):
272
+ self .response ('label' , _iter = True )
273
+ self .put (self .api + '/labels' )
274
+ self .conf = {'data' : '["foo", "bar"]' }
275
+
276
+ with expect .githuberror ():
277
+ self .i .replace_labels ([])
278
+
279
+ self .not_called ()
280
+ self .login ()
281
+
282
+ labels = self .i .replace_labels (['foo' , 'bar' ])
283
+ expect (labels ) != []
284
+ expect (labels [0 ]).isinstance (github3 .issues .Label )
285
+
286
+ def test_reopen (self ):
287
+ with expect .githuberror ():
288
+ self .i .reopen ()
289
+
290
+ self .login ()
291
+ n = self .i .milestone .number if self .i .milestone else None
292
+ u = self .i .assignee .login if self .i .assignee else None
293
+
294
+ with patch .object (github3 .issues .Issue , 'edit' ) as ed :
295
+ ed .return_value = True
296
+ expect (self .i .reopen ()).is_True ()
297
+ ed .assert_called_once_with (
298
+ self .i .title , self .i .body , u , 'open' , n , self .i .labels
299
+ )
0 commit comments