From f09b8a8e788ea9b55d4268e4ea8bcf39bfc93d06 Mon Sep 17 00:00:00 2001 From: Sam Coe Date: Thu, 21 Jan 2021 14:56:05 -0800 Subject: [PATCH] Add mergeMethodSurvey test --- api/queries_repo.go | 4 ++-- pkg/cmd/pr/merge/merge_test.go | 26 ++++++++++++++++++++------ 2 files changed, 22 insertions(+), 8 deletions(-) diff --git a/api/queries_repo.go b/api/queries_repo.go index 1e4f1a6fa..ea0873b08 100644 --- a/api/queries_repo.go +++ b/api/queries_repo.go @@ -34,8 +34,8 @@ type Repository struct { Parent *Repository MergeCommitAllowed bool - SquashMergeAllowed bool RebaseMergeAllowed bool + SquashMergeAllowed bool // pseudo-field that keeps track of host name of this repo hostname string @@ -113,8 +113,8 @@ func GitHubRepo(client *Client, repo ghrepo.Interface) (*Repository, error) { ...repo } mergeCommitAllowed - squashMergeAllowed rebaseMergeAllowed + squashMergeAllowed } }` variables := map[string]interface{}{ diff --git a/pkg/cmd/pr/merge/merge_test.go b/pkg/cmd/pr/merge/merge_test.go index 9a94cbbaf..6b9b52f88 100644 --- a/pkg/cmd/pr/merge/merge_test.go +++ b/pkg/cmd/pr/merge/merge_test.go @@ -571,8 +571,8 @@ func TestPRMerge_interactive(t *testing.T) { httpmock.StringResponse(` { "data": { "repository": { "mergeCommitAllowed": true, - "squashMergeAllowed": true, - "rebaseMergeAllowed": true + "rebaseMergeAllowed": true, + "squashMergeAllowed": true } } }`)) http.Register( httpmock.GraphQL(`mutation PullRequestMerge\b`), @@ -626,8 +626,8 @@ func TestPRMerge_interactiveWithDeleteBranch(t *testing.T) { httpmock.StringResponse(` { "data": { "repository": { "mergeCommitAllowed": true, - "squashMergeAllowed": true, - "rebaseMergeAllowed": true + "rebaseMergeAllowed": true, + "squashMergeAllowed": true } } }`)) http.Register( httpmock.GraphQL(`mutation PullRequestMerge\b`), @@ -680,8 +680,8 @@ func TestPRMerge_interactiveCancelled(t *testing.T) { httpmock.StringResponse(` { "data": { "repository": { "mergeCommitAllowed": true, - "squashMergeAllowed": true, - "rebaseMergeAllowed": true + "rebaseMergeAllowed": true, + "squashMergeAllowed": true } } }`)) cs, cmdTeardown := test.InitCmdStubber() @@ -707,3 +707,17 @@ func TestPRMerge_interactiveCancelled(t *testing.T) { assert.Equal(t, "Cancelled.\n", output.Stderr()) } + +func Test_mergeMethodSurvey(t *testing.T) { + repo := &api.Repository{ + MergeCommitAllowed: false, + RebaseMergeAllowed: true, + SquashMergeAllowed: true, + } + as, surveyTeardown := prompt.InitAskStubber() + defer surveyTeardown() + as.StubOne(0) // Select first option which is rebase merge + method, err := mergeMethodSurvey(repo) + assert.Nil(t, err) + assert.Equal(t, api.PullRequestMergeMethodRebase, method) +}