@@ -214,3 +214,56 @@ func TestSearchIssuesAndAdvancedSearch(t *testing.T) {
214214 })
215215 }
216216}
217+
218+ func TestSearchIssues_rejectsPullRequestQualifiers (t * testing.T ) {
219+ tests := []struct {
220+ name string
221+ search string
222+ }{
223+ {
224+ name : "is:pr" ,
225+ search : "is:pr" ,
226+ },
227+ {
228+ name : "type:pr" ,
229+ search : "type:pr" ,
230+ },
231+ {
232+ name : "type:pull-request" ,
233+ search : "type:pull-request" ,
234+ },
235+ {
236+ name : "type:pullrequest" ,
237+ search : "type:pullrequest" ,
238+ },
239+ {
240+ name : "case-insensitive is:PR" ,
241+ search : "is:PR" ,
242+ },
243+ {
244+ name : "case-insensitive TYPE:Pull-Request" ,
245+ search : "TYPE:Pull-Request" ,
246+ },
247+ }
248+
249+ for _ , tt := range tests {
250+ t .Run (tt .name , func (t * testing.T ) {
251+ reg := & httpmock.Registry {}
252+ defer reg .Verify (t )
253+
254+ httpClient := & http.Client {Transport : reg }
255+ client := api .NewClientFromHTTP (httpClient )
256+
257+ _ , err := searchIssues (
258+ client ,
259+ fd .AdvancedIssueSearchSupportedAsOnlyBackend (),
260+ ghrepo .New ("OWNER" , "REPO" ),
261+ prShared.FilterOptions {Search : tt .search },
262+ 30 ,
263+ )
264+
265+ assert .EqualError (t , err , "cannot use pull request search qualifiers with `gh issue list`; use `gh pr list` instead" )
266+ assert .Len (t , reg .Requests , 0 )
267+ })
268+ }
269+ }
0 commit comments