(t *testing.T)
| 29 | } |
| 30 | |
| 31 | func TestSearchIssues(t *testing.T) { |
| 32 | var now = time.Date(2022, 2, 28, 12, 30, 0, 0, time.UTC) |
| 33 | var updatedAt = time.Date(2021, 2, 28, 12, 30, 0, 0, time.UTC) |
| 34 | var query = search.Query{ |
| 35 | Keywords: []string{"keyword"}, |
| 36 | Kind: "issues", |
| 37 | Limit: 30, |
| 38 | Qualifiers: search.Qualifiers{ |
| 39 | Language: "go", |
| 40 | Type: "issue", |
| 41 | Is: []string{"public", "locked"}, |
| 42 | }, |
| 43 | } |
| 44 | tests := []struct { |
| 45 | errMsg string |
| 46 | name string |
| 47 | opts *IssuesOptions |
| 48 | tty bool |
| 49 | wantErr bool |
| 50 | wantStderr string |
| 51 | wantStdout string |
| 52 | }{ |
| 53 | { |
| 54 | name: "displays results tty", |
| 55 | opts: &IssuesOptions{ |
| 56 | Entity: Issues, |
| 57 | Query: query, |
| 58 | Searcher: &search.SearcherMock{ |
| 59 | IssuesFunc: func(query search.Query) (search.IssuesResult, error) { |
| 60 | return search.IssuesResult{ |
| 61 | IncompleteResults: false, |
| 62 | Items: []search.Issue{ |
| 63 | {RepositoryURL: "github.com/test/cli", Number: 123, StateInternal: "open", Title: "something broken", Labels: []search.Label{{Name: "bug"}, {Name: "p1"}}, UpdatedAt: updatedAt}, |
| 64 | {RepositoryURL: "github.com/what/what", Number: 456, StateInternal: "closed", Title: "feature request", Labels: []search.Label{{Name: "enhancement"}}, UpdatedAt: updatedAt}, |
| 65 | {RepositoryURL: "github.com/blah/test", Number: 789, StateInternal: "open", Title: "some title", UpdatedAt: updatedAt}, |
| 66 | }, |
| 67 | Total: 300, |
| 68 | }, nil |
| 69 | }, |
| 70 | }, |
| 71 | }, |
| 72 | tty: true, |
| 73 | wantStdout: "\nShowing 3 of 300 issues\n\nREPO ID TITLE LABELS UPDATED\ntest/cli #123 something broken bug, p1 about 1 year ago\nwhat/what #456 feature request enhancement about 1 year ago\nblah/test #789 some title about 1 year ago\n", |
| 74 | }, |
| 75 | { |
| 76 | name: "displays issues and pull requests tty", |
| 77 | opts: &IssuesOptions{ |
| 78 | Entity: Both, |
| 79 | Query: query, |
| 80 | Searcher: &search.SearcherMock{ |
| 81 | IssuesFunc: func(query search.Query) (search.IssuesResult, error) { |
| 82 | return search.IssuesResult{ |
| 83 | IncompleteResults: false, |
| 84 | Items: []search.Issue{ |
| 85 | {RepositoryURL: "github.com/test/cli", Number: 123, StateInternal: "open", Title: "bug", Labels: []search.Label{{Name: "bug"}, {Name: "p1"}}, UpdatedAt: updatedAt}, |
| 86 | {RepositoryURL: "github.com/what/what", Number: 456, StateInternal: "open", Title: "fix bug", Labels: []search.Label{{Name: "fix"}}, PullRequest: search.PullRequest{URL: "someurl"}, UpdatedAt: updatedAt}, |
| 87 | }, |
| 88 | Total: 300, |
nothing calls this directly
no test coverage detected