mirror of
https://github.com/zoriya/octokit.net.git
synced 2025-12-05 23:06:10 +00:00
add islocked filter to SeachIssuesRequest (#2623)
* add islocker filter to SeachIssuesRequest * update docs * Update docs/search.md with review suggestions Co-authored-by: Keegan Campbell <me@kfcampbell.com> Co-authored-by: notauserx <notauserx@users.noreply.github.com> Co-authored-by: Keegan Campbell <me@kfcampbell.com>
This commit is contained in:
@@ -281,6 +281,28 @@ public class SearchClientTests
|
||||
Assert.NotEmpty(openedIssues);
|
||||
}
|
||||
|
||||
[IntegrationTest]
|
||||
public async Task SearchForLockedUnlockedIssues()
|
||||
{
|
||||
|
||||
var lockedIssuesRequest = new SearchIssuesRequest();
|
||||
lockedIssuesRequest.Repos.Add("octokit", "octokit.net");
|
||||
lockedIssuesRequest.Is = new List<IssueIsQualifier> { IssueIsQualifier.Issue, IssueIsQualifier.Locked };
|
||||
|
||||
var lockedIssues = await _gitHubClient.Search.SearchIssues(lockedIssuesRequest);
|
||||
|
||||
var unlockedIssuesRequest = new SearchIssuesRequest();
|
||||
|
||||
unlockedIssuesRequest.Repos.Add("octokit", "octokit.net");
|
||||
unlockedIssuesRequest.Is = new List<IssueIsQualifier> { IssueIsQualifier.Issue, IssueIsQualifier.Unlocked };
|
||||
|
||||
|
||||
var unlockedIssues = await _gitHubClient.Search.SearchIssues(unlockedIssuesRequest);
|
||||
|
||||
Assert.All(lockedIssues.Items, i => Assert.True(i.Locked));
|
||||
Assert.All(unlockedIssues.Items, i => Assert.False(i.Locked));
|
||||
}
|
||||
|
||||
[IntegrationTest]
|
||||
public async Task SearchForMergedPullRequests()
|
||||
{
|
||||
|
||||
@@ -170,6 +170,17 @@ public class SearchIssuesRequestTests
|
||||
Assert.Contains("is:pr", request.MergedQualifiers());
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void HandlesIsLockedUnlockedAttributeCorrectly()
|
||||
{
|
||||
var request = new SearchIssuesRequest("test");
|
||||
Assert.DoesNotContain(request.MergedQualifiers(), x => x.Contains("is:"));
|
||||
|
||||
request.Is = new List<IssueIsQualifier> { IssueIsQualifier.Locked, IssueIsQualifier.Unlocked };
|
||||
Assert.Contains("is:locked", request.MergedQualifiers());
|
||||
Assert.Contains("is:unlocked", request.MergedQualifiers());
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void HandlesStatusAttributeCorrectly()
|
||||
{
|
||||
|
||||
@@ -489,7 +489,11 @@ namespace Octokit
|
||||
[Parameter(Value = "private")]
|
||||
Private,
|
||||
[Parameter(Value = "public")]
|
||||
Public
|
||||
Public,
|
||||
[Parameter(Value = "locked")]
|
||||
Locked,
|
||||
[Parameter(Value = "unlocked")]
|
||||
Unlocked
|
||||
}
|
||||
|
||||
public enum IssueNoMetadataQualifier
|
||||
|
||||
@@ -61,6 +61,14 @@ request.Involves = "terrajobst";
|
||||
request.State = ItemState.All;
|
||||
// or to just search closed issues
|
||||
request.State = ItemState.Closed;
|
||||
|
||||
// you can filter by the "Is" qualifier
|
||||
// the enum IssueIsQualifier contains the supported values
|
||||
// you can filter for locked issues like this:
|
||||
request.Is = new List<IssueIsQualifier> {
|
||||
IssueIsQualifier.Issue,
|
||||
IssueIsQualifier.Locked
|
||||
};
|
||||
```
|
||||
|
||||
There's other options available to control how the results are returned:
|
||||
|
||||
Reference in New Issue
Block a user