MCPcopy
hub / github.com/cli/cli / TestPRFindRefs

Function TestPRFindRefs

pkg/cmd/pr/shared/find_refs_resolution_test.go:62–156  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

60}
61
62func TestPRFindRefs(t *testing.T) {
63 t.Parallel()
64
65 t.Run("qualified head ref with owner", func(t *testing.T) {
66 t.Parallel()
67
68 refs := PRFindRefs{
69 qualifiedHeadRef: mustParseQualifiedHeadRef("forkowner:feature-branch"),
70 }
71
72 require.Equal(t, "forkowner:feature-branch", refs.QualifiedHeadRef())
73 require.Equal(t, "feature-branch", refs.UnqualifiedHeadRef())
74 })
75
76 t.Run("qualified head ref without owner", func(t *testing.T) {
77 t.Parallel()
78
79 refs := PRFindRefs{
80 qualifiedHeadRef: mustParseQualifiedHeadRef("feature-branch"),
81 }
82
83 require.Equal(t, "feature-branch", refs.QualifiedHeadRef())
84 require.Equal(t, "feature-branch", refs.UnqualifiedHeadRef())
85 })
86
87 t.Run("base repo", func(t *testing.T) {
88 t.Parallel()
89
90 refs := PRFindRefs{
91 baseRepo: ghrepo.New("owner", "repo"),
92 }
93
94 require.True(t, ghrepo.IsSame(refs.BaseRepo(), ghrepo.New("owner", "repo")), "expected repos to be the same")
95 })
96
97 t.Run("matches", func(t *testing.T) {
98 t.Parallel()
99
100 testCases := []struct {
101 behavior string
102 refs PRFindRefs
103 baseBranchName string
104 qualifiedHeadRef string
105 expectedMatch bool
106 }{
107 {
108 behavior: "when qualified head refs don't match, returns false",
109 refs: PRFindRefs{
110 qualifiedHeadRef: mustParseQualifiedHeadRef("owner:feature-branch"),
111 },
112 baseBranchName: "feature-branch",
113 qualifiedHeadRef: "feature-branch",
114 expectedMatch: false,
115 },
116 {
117 behavior: "when base branches don't match, returns false",
118 refs: PRFindRefs{
119 qualifiedHeadRef: mustParseQualifiedHeadRef("feature-branch"),

Callers

nothing calls this directly

Calls 9

QualifiedHeadRefMethod · 0.95
UnqualifiedHeadRefMethod · 0.95
BaseRepoMethod · 0.95
NewFunction · 0.92
IsSameFunction · 0.92
EqualMethod · 0.80
MatchesMethod · 0.80
RunMethod · 0.65

Tested by

no test coverage detected