MCPcopy Index your code
hub / github.com/cli/cli / TestSearchIssues

Function TestSearchIssues

pkg/cmd/search/shared/shared_test.go:31–215  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

29}
30
31func 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,

Callers

nothing calls this directly

Calls 9

TestFunction · 0.92
SearchIssuesFunction · 0.85
SetStdinTTYMethod · 0.80
SetStdoutTTYMethod · 0.80
SetStderrTTYMethod · 0.80
EqualMethod · 0.80
ErrorfMethod · 0.65
RunMethod · 0.65
StringMethod · 0.45

Tested by

no test coverage detected