Fix merge flag

Co-Authored-By: Nate Smith <vilmibm@neongrid.space>
This commit is contained in:
Corey Johnson 2020-05-12 09:22:37 -07:00
parent 2328dffd97
commit f0cd830170
4 changed files with 38 additions and 9 deletions

View file

@ -479,7 +479,7 @@ func prMerge(cmd *cobra.Command, args []string) error {
return nil
}
isInteractive := !cmd.Flags().Changed("rebase") && !cmd.Flags().Changed("squash") && !cmd.Flags().Changed("merged")
isInteractive := !cmd.Flags().Changed("rebase") && !cmd.Flags().Changed("squash") && !cmd.Flags().Changed("merge")
if isInteractive {
mergeMethod, deleteBranch, err = prInteractiveMerge()
if err != nil {
@ -592,7 +592,7 @@ func prDeleteCurrentBranch(repo *api.Repository) (string, error) {
return "", err
}
err = git.DeleteBranch(branch)
err = git.DeleteLocalBranch(branch)
return branch, err
}

View file

@ -996,7 +996,7 @@ func TestPrMerge(t *testing.T) {
stubResponse{200, bytes.NewBufferString(`{"id": "THE-ID"}`)},
)
output, err := RunCommand("pr merge 1")
output, err := RunCommand("pr merge 1 --merge")
if err != nil {
t.Fatalf("error running command `pr merge`: %v", err)
}
@ -1013,6 +1013,10 @@ func TestPrMerge_noPrNumberGiven(t *testing.T) {
defer cmdTeardown()
cs.Stub("branch.blueberries.remote origin\nbranch.blueberries.merge refs/heads/blueberries") // git config --get-regexp ^branch\.master\.(remote|merge)
cs.Stub("") // git config --get-regexp ^branch\.blueberries\.(remote|merge)$
cs.Stub("") // git symbolic-ref --quiet --short HEAD
cs.Stub("") // git checkout master
cs.Stub("") // git branch -d
jsonFile, _ := os.Open("../test/fixtures/prViewPreviewWithMetadataByBranch.json")
defer jsonFile.Close()
@ -1022,7 +1026,7 @@ func TestPrMerge_noPrNumberGiven(t *testing.T) {
stubResponse{200, bytes.NewBufferString(`{"id": "THE-ID"}`)},
)
output, err := RunCommand("pr merge")
output, err := RunCommand("pr merge --merge")
if err != nil {
t.Fatalf("error running command `pr merge`: %v", err)
}
@ -1042,6 +1046,14 @@ func TestPrMerge_rebase(t *testing.T) {
stubResponse{200, bytes.NewBufferString(`{"id": "THE-ID"}`)},
)
cs, cmdTeardown := test.InitCmdStubber()
defer cmdTeardown()
cs.Stub("") // git config --get-regexp ^branch\.blueberries\.(remote|merge)$
cs.Stub("") // git symbolic-ref --quiet --short HEAD
cs.Stub("") // git checkout master
cs.Stub("") // git branch -d
output, err := RunCommand("pr merge 2 --rebase")
if err != nil {
t.Fatalf("error running command `pr merge`: %v", err)
@ -1062,6 +1074,14 @@ func TestPrMerge_squash(t *testing.T) {
stubResponse{200, bytes.NewBufferString(`{"id": "THE-ID"}`)},
)
cs, cmdTeardown := test.InitCmdStubber()
defer cmdTeardown()
cs.Stub("") // git config --get-regexp ^branch\.blueberries\.(remote|merge)$
cs.Stub("") // git symbolic-ref --quiet --short HEAD
cs.Stub("") // git checkout master
cs.Stub("") // git branch -d
output, err := RunCommand("pr merge 3 --squash")
if err != nil {
t.Fatalf("error running command `pr merge`: %v", err)
@ -1082,6 +1102,14 @@ func TestPrMerge_alreadyMerged(t *testing.T) {
stubResponse{200, bytes.NewBufferString(`{"id": "THE-ID"}`)},
)
cs, cmdTeardown := test.InitCmdStubber()
defer cmdTeardown()
cs.Stub("") // git config --get-regexp ^branch\.blueberries\.(remote|merge)$
cs.Stub("") // git symbolic-ref --quiet --short HEAD
cs.Stub("") // git checkout master
cs.Stub("") // git branch -d
output, err := RunCommand("pr merge 4")
if err == nil {
t.Fatalf("expected an error running command `pr merge`: %v", err)
@ -1105,10 +1133,10 @@ func TestPRMerge_interactive(t *testing.T) {
cs, cmdTeardown := test.InitCmdStubber()
defer cmdTeardown()
cs.Stub("")
cs.Stub("")
cs.Stub("")
cs.Stub("")
cs.Stub("") // git config --get-regexp ^branch\.blueberries\.(remote|merge)$
cs.Stub("") // git symbolic-ref --quiet --short HEAD
cs.Stub("") // git checkout master
cs.Stub("") // git branch -d
as, surveyTeardown := initAskStubber()
defer surveyTeardown()

View file

@ -203,7 +203,7 @@ func ReadBranchConfig(branch string) (cfg BranchConfig) {
return
}
func DeleteBranch(branch string) error {
func DeleteLocalBranch(branch string) error {
configCmd := GitCommand("branch", "-d", branch)
_, err := run.PrepareCmd(configCmd).Output()
return err

View file

@ -68,6 +68,7 @@ func createStubbedPrepareCmd(cs *CmdStubber) func(*exec.Cmd) run.Runnable {
if call >= len(cs.Stubs) {
panic(fmt.Sprintf("more execs than stubs. most recent call: %v", cmd))
}
// fmt.Printf("Called stub for `%v`\n", cmd) // Helpful for debugging
return cs.Stubs[call]
}
}