mirror of
https://gitea.com/gitea/tea.git
synced 2026-10-26 11:01:25 +01:00
fix(pr): delete the local branch on merge only when asked to
Signed-off-by: bircni <bircni@icloud.com>
This commit is contained in:
2 files changed
+39
-7
No files matched your search
@@ -7,6 +7,7 @@ import (
|
||||
"context"
|
||||
"encoding/json"
|
||||
"net/http"
|
||||
"slices"
|
||||
"testing"
|
||||
|
||||
"gitea.dev/tea/internal/clierr"
|
||||
@@ -71,6 +72,29 @@ func TestPullMergeUsesTheRepositoryDefaults(t *testing.T) {
|
||||
require.Empty(t, diagnostics.String())
|
||||
}
|
||||
|
||||
func TestPullMergeKeepsTheLocalBranchWithoutTheFlag(t *testing.T) {
|
||||
for _, tc := range []struct {
|
||||
name string
|
||||
flags []string
|
||||
local bool
|
||||
}{
|
||||
{"repository default", nil, false},
|
||||
{"flag", []string{"--delete-branch"}, true},
|
||||
} {
|
||||
t.Run(tc.name, func(t *testing.T) {
|
||||
var payload map[string]any
|
||||
server := newAuthenticatedServer(mergeServer(t, openPull, &payload))
|
||||
defer server.Close()
|
||||
deps, _, _ := serverDeps(t, server.URL)
|
||||
fake := &fakeGit{results: map[string]string{"symbolic-ref --short HEAD": "feature"}}
|
||||
deps.Git = fake
|
||||
require.NoError(t, Execute(context.Background(), deps, append([]string{"pr", "merge", "3", "-R", "alice/project", "--yes"}, tc.flags...)))
|
||||
require.Equal(t, true, payload["delete_branch_after_merge"])
|
||||
require.Equal(t, tc.local, slices.Contains(fake.calls, "rev-parse --verify refs/heads/feature^{commit}"), fake.calls)
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
func TestPullMergeAsksForTheMethodAndBranchDeletion(t *testing.T) {
|
||||
var payload map[string]any
|
||||
server := newAuthenticatedServer(mergeServer(t, openPull, &payload))
|
||||
|
||||
Reference in new issue
Block a user