@@ -14,6 +14,7 @@ type issueParamsErr struct {
14
14
resolution bool
15
15
issueType bool
16
16
labels bool
17
+ status bool
17
18
}
18
19
19
20
type issueFlagParser struct {
@@ -23,6 +24,7 @@ type issueFlagParser struct {
23
24
orderDesc bool
24
25
emptyType bool
25
26
labels []string
27
+ status []string
26
28
withCreated bool
27
29
withUpdated bool
28
30
created string
@@ -109,6 +111,12 @@ func (tfp *issueFlagParser) GetStringArray(name string) ([]string, error) {
109
111
if tfp .err .labels && name == "label" {
110
112
return []string {}, fmt .Errorf ("oops! couldn't fetch label flag" )
111
113
}
114
+ if tfp .err .status && name == "status" {
115
+ return []string {}, fmt .Errorf ("oops! couldn't fetch status flag" )
116
+ }
117
+ if name == "status" {
118
+ return tfp .status , nil
119
+ }
112
120
return tfp .labels , nil
113
121
}
114
122
@@ -117,6 +125,8 @@ func (*issueFlagParser) GetUint(string) (uint, error) { r
117
125
func (* issueFlagParser ) Set (string , string ) error { return nil }
118
126
119
127
func TestIssueGet (t * testing.T ) {
128
+ t .Parallel ()
129
+
120
130
cases := []struct {
121
131
name string
122
132
initialize func () * Issue
@@ -130,7 +140,7 @@ func TestIssueGet(t *testing.T) {
130
140
return i
131
141
},
132
142
expected : `project="TEST" AND issue IN issueHistory() AND issue IN watchedIssues() AND ` +
133
- `type="test" AND resolution="test" AND status="test" AND priority="test" AND reporter="test" ` +
143
+ `type="test" AND resolution="test" AND priority="test" AND reporter="test" ` +
134
144
`AND assignee="test" AND component="test" AND parent="test" ORDER BY lastViewed ASC` ,
135
145
},
136
146
{
@@ -141,7 +151,7 @@ func TestIssueGet(t *testing.T) {
141
151
return i
142
152
},
143
153
expected : `project="TEST" AND issue IN watchedIssues() AND ` +
144
- `type="test" AND resolution="test" AND status="test" AND priority="test" AND reporter="test" ` +
154
+ `type="test" AND resolution="test" AND priority="test" AND reporter="test" ` +
145
155
`AND assignee="test" AND component="test" AND parent="test" ORDER BY created ASC` ,
146
156
},
147
157
{
@@ -152,7 +162,7 @@ func TestIssueGet(t *testing.T) {
152
162
return i
153
163
},
154
164
expected : `project="TEST" AND ` +
155
- `type="test" AND resolution="test" AND status="test" AND priority="test" AND reporter="test" ` +
165
+ `type="test" AND resolution="test" AND priority="test" AND reporter="test" ` +
156
166
`AND assignee="test" AND component="test" AND parent="test" ORDER BY created ASC` ,
157
167
},
158
168
{
@@ -199,6 +209,17 @@ func TestIssueGet(t *testing.T) {
199
209
},
200
210
expected : "" ,
201
211
},
212
+ {
213
+ name : "query with error when fetching status flag" ,
214
+ initialize : func () * Issue {
215
+ i , err := NewIssue ("TEST" , & issueFlagParser {err : issueParamsErr {
216
+ status : true ,
217
+ }})
218
+ assert .Error (t , err )
219
+ return i
220
+ },
221
+ expected : "" ,
222
+ },
202
223
{
203
224
name : "query with error when fetching type flag" ,
204
225
initialize : func () * Issue {
@@ -218,7 +239,7 @@ func TestIssueGet(t *testing.T) {
218
239
return i
219
240
},
220
241
expected : `project="TEST" AND issue IN issueHistory() AND issue IN watchedIssues() AND ` +
221
- `resolution="test" AND status="test" AND priority="test" AND reporter="test" AND assignee="test" ` +
242
+ `resolution="test" AND priority="test" AND reporter="test" AND assignee="test" ` +
222
243
`AND component="test" AND parent="test" ORDER BY lastViewed ASC` ,
223
244
},
224
245
{
@@ -229,7 +250,7 @@ func TestIssueGet(t *testing.T) {
229
250
return i
230
251
},
231
252
expected : `project="TEST" AND issue IN issueHistory() AND issue IN watchedIssues() AND ` +
232
- `type="test" AND resolution="test" AND status="test" AND priority="test" AND reporter="test" ` +
253
+ `type="test" AND resolution="test" AND priority="test" AND reporter="test" ` +
233
254
`AND assignee="test" AND component="test" AND parent="test" ORDER BY lastViewed DESC` ,
234
255
},
235
256
{
@@ -240,9 +261,20 @@ func TestIssueGet(t *testing.T) {
240
261
return i
241
262
},
242
263
expected : `project="TEST" AND issue IN issueHistory() AND issue IN watchedIssues() AND ` +
243
- `type="test" AND resolution="test" AND status="test" AND priority="test" AND reporter="test" AND assignee="test" ` +
264
+ `type="test" AND resolution="test" AND priority="test" AND reporter="test" AND assignee="test" ` +
244
265
`AND component="test" AND parent="test" AND labels IN ("first", "second", "third") ORDER BY lastViewed ASC` ,
245
266
},
267
+ {
268
+ name : "query with status" ,
269
+ initialize : func () * Issue {
270
+ i , err := NewIssue ("TEST" , & issueFlagParser {status : []string {"first" , "second" , "~third" }})
271
+ assert .NoError (t , err )
272
+ return i
273
+ },
274
+ expected : `project="TEST" AND issue IN issueHistory() AND issue IN watchedIssues() AND ` +
275
+ `type="test" AND resolution="test" AND priority="test" AND reporter="test" AND assignee="test" ` +
276
+ `AND component="test" AND parent="test" AND status IN ("first", "second") AND status NOT IN ("third") ORDER BY lastViewed ASC` ,
277
+ },
246
278
{
247
279
name : "query with created and updated today filter" ,
248
280
initialize : func () * Issue {
@@ -251,7 +283,7 @@ func TestIssueGet(t *testing.T) {
251
283
return i
252
284
},
253
285
expected : `project="TEST" AND issue IN issueHistory() AND issue IN watchedIssues() AND ` +
254
- `type="test" AND resolution="test" AND status="test" AND priority="test" AND reporter="test" AND assignee="test" ` +
286
+ `type="test" AND resolution="test" AND priority="test" AND reporter="test" AND assignee="test" ` +
255
287
`AND component="test" AND parent="test" AND createdDate>=startOfDay() AND updatedDate>=startOfDay() ORDER BY lastViewed ASC` ,
256
288
},
257
289
{
@@ -262,7 +294,7 @@ func TestIssueGet(t *testing.T) {
262
294
return i
263
295
},
264
296
expected : `project="TEST" AND issue IN issueHistory() AND issue IN watchedIssues() AND ` +
265
- `type="test" AND resolution="test" AND status="test" AND priority="test" AND reporter="test" AND assignee="test" ` +
297
+ `type="test" AND resolution="test" AND priority="test" AND reporter="test" AND assignee="test" ` +
266
298
`AND component="test" AND parent="test" AND createdDate>=startOfWeek() AND updatedDate>=startOfWeek() ORDER BY lastViewed ASC` ,
267
299
},
268
300
{
@@ -273,7 +305,7 @@ func TestIssueGet(t *testing.T) {
273
305
return i
274
306
},
275
307
expected : `project="TEST" AND issue IN issueHistory() AND issue IN watchedIssues() AND ` +
276
- `type="test" AND resolution="test" AND status="test" AND priority="test" AND reporter="test" AND assignee="test" ` +
308
+ `type="test" AND resolution="test" AND priority="test" AND reporter="test" AND assignee="test" ` +
277
309
`AND component="test" AND parent="test" AND createdDate>=startOfMonth() AND updatedDate>=startOfMonth() ORDER BY lastViewed ASC` ,
278
310
},
279
311
{
@@ -284,7 +316,7 @@ func TestIssueGet(t *testing.T) {
284
316
return i
285
317
},
286
318
expected : `project="TEST" AND issue IN issueHistory() AND issue IN watchedIssues() AND ` +
287
- `type="test" AND resolution="test" AND status="test" AND priority="test" AND reporter="test" AND assignee="test" ` +
319
+ `type="test" AND resolution="test" AND priority="test" AND reporter="test" AND assignee="test" ` +
288
320
`AND component="test" AND parent="test" AND createdDate>=startOfYear() AND updatedDate>=startOfYear() ORDER BY lastViewed ASC` ,
289
321
},
290
322
{
@@ -295,7 +327,7 @@ func TestIssueGet(t *testing.T) {
295
327
return i
296
328
},
297
329
expected : `project="TEST" AND issue IN issueHistory() AND issue IN watchedIssues() AND ` +
298
- `type="test" AND resolution="test" AND status="test" AND priority="test" AND reporter="test" AND assignee="test" AND component="test" ` +
330
+ `type="test" AND resolution="test" AND priority="test" AND reporter="test" AND assignee="test" AND component="test" ` +
299
331
`AND parent="test" AND createdDate>="2020-12-31" AND createdDate<"2021-01-01" AND updatedDate>="2020-12-31" AND updatedDate<"2021-01-01" ` +
300
332
`ORDER BY lastViewed ASC` ,
301
333
},
@@ -307,7 +339,7 @@ func TestIssueGet(t *testing.T) {
307
339
return i
308
340
},
309
341
expected : `project="TEST" AND issue IN issueHistory() AND issue IN watchedIssues() AND ` +
310
- `type="test" AND resolution="test" AND status="test" AND priority="test" AND reporter="test" AND assignee="test" ` +
342
+ `type="test" AND resolution="test" AND priority="test" AND reporter="test" AND assignee="test" ` +
311
343
`AND component="test" AND parent="test" AND createdDate>="2020-15-31" AND updatedDate>="2020-12-31 10:30:30" ORDER BY lastViewed ASC` ,
312
344
},
313
345
{
@@ -318,7 +350,7 @@ func TestIssueGet(t *testing.T) {
318
350
return i
319
351
},
320
352
expected : `project="TEST" AND issue IN issueHistory() AND issue IN watchedIssues() AND ` +
321
- `type="test" AND resolution="test" AND status="test" AND priority="test" AND reporter="test" AND assignee="test" ` +
353
+ `type="test" AND resolution="test" AND priority="test" AND reporter="test" AND assignee="test" ` +
322
354
`AND component="test" AND parent="test" AND createdDate>"2020-12-01" AND createdDate<"2020-12-31" ORDER BY lastViewed ASC` ,
323
355
},
324
356
{
@@ -329,7 +361,7 @@ func TestIssueGet(t *testing.T) {
329
361
return i
330
362
},
331
363
expected : `project="TEST" AND issue IN issueHistory() AND issue IN watchedIssues() AND ` +
332
- `type="test" AND resolution="test" AND status="test" AND priority="test" AND reporter="test" AND assignee="test" ` +
364
+ `type="test" AND resolution="test" AND priority="test" AND reporter="test" AND assignee="test" ` +
333
365
`AND component="test" AND parent="test" AND updatedDate>"2020-12-01" AND updatedDate<"2020-12-31" ORDER BY lastViewed ASC` ,
334
366
},
335
367
{
@@ -347,7 +379,7 @@ func TestIssueGet(t *testing.T) {
347
379
return i
348
380
},
349
381
expected : `project="TEST" AND issue IN issueHistory() AND issue IN watchedIssues() AND ` +
350
- `type="test" AND resolution="test" AND status="test" AND priority="test" AND reporter="test" AND assignee="test" ` +
382
+ `type="test" AND resolution="test" AND priority="test" AND reporter="test" AND assignee="test" ` +
351
383
`AND component="test" AND parent="test" AND createdDate>="2020-11-01" AND createdDate<"2020-11-02" AND updatedDate>="-10d" ` +
352
384
`ORDER BY lastViewed ASC` ,
353
385
},
@@ -367,7 +399,7 @@ func TestIssueGet(t *testing.T) {
367
399
return i
368
400
},
369
401
expected : `project="TEST" AND issue IN watchedIssues() AND type="test" AND resolution="test" ` +
370
- `AND status="test" AND priority="test" AND reporter="test" AND assignee="test" AND component="test" ` +
402
+ `AND priority="test" AND reporter="test" AND assignee="test" AND component="test" ` +
371
403
`AND parent="test" AND createdDate>="2020-11-01" AND createdDate<"2020-11-02" AND updatedDate>="-10d" ` +
372
404
`ORDER BY created ASC` ,
373
405
},
@@ -385,7 +417,7 @@ func TestIssueGet(t *testing.T) {
385
417
return i
386
418
},
387
419
expected : `project="TEST" AND issue IN watchedIssues() AND type="test" AND resolution="test" ` +
388
- `AND status="test" AND priority="test" AND reporter="test" AND assignee="test" AND component="test" ` +
420
+ `AND priority="test" AND reporter="test" AND assignee="test" AND component="test" ` +
389
421
`AND parent="test" AND updatedDate>"2020-11-31" AND updatedDate<"2020-12-31" ` +
390
422
`ORDER BY updated ASC` ,
391
423
},
@@ -397,7 +429,7 @@ func TestIssueGet(t *testing.T) {
397
429
return i
398
430
},
399
431
expected : `project="TEST" AND summary ~ cli OR x = y AND issue IN issueHistory() AND issue IN watchedIssues() AND ` +
400
- `type="test" AND resolution="test" AND status="test" AND priority="test" AND reporter="test" ` +
432
+ `type="test" AND resolution="test" AND priority="test" AND reporter="test" ` +
401
433
`AND assignee="test" AND component="test" AND parent="test" ORDER BY lastViewed ASC` ,
402
434
},
403
435
}
0 commit comments