diff options
Diffstat (limited to 'pkg/integration/tests/worktree')
-rw-r--r-- | pkg/integration/tests/worktree/associate_branch_bisect.go (renamed from pkg/integration/tests/worktree/bisect.go) | 2 | ||||
-rw-r--r-- | pkg/integration/tests/worktree/associate_branch_rebase.go (renamed from pkg/integration/tests/worktree/rebase.go) | 2 | ||||
-rw-r--r-- | pkg/integration/tests/worktree/bare_repo.go | 43 |
3 files changed, 44 insertions, 3 deletions
diff --git a/pkg/integration/tests/worktree/bisect.go b/pkg/integration/tests/worktree/associate_branch_bisect.go index 143f8114f..77d46e176 100644 --- a/pkg/integration/tests/worktree/bisect.go +++ b/pkg/integration/tests/worktree/associate_branch_bisect.go @@ -12,7 +12,7 @@ import ( // not bothering to test the linked worktree here because it's the same logic as the rebase test -var Bisect = NewIntegrationTest(NewIntegrationTestArgs{ +var AssociateBranchBisect = NewIntegrationTest(NewIntegrationTestArgs{ Description: "Verify that when you start a bisect in a linked worktree, Lazygit still associates the worktree with the branch", ExtraCmdArgs: []string{}, Skip: false, diff --git a/pkg/integration/tests/worktree/rebase.go b/pkg/integration/tests/worktree/associate_branch_rebase.go index 8b91702b5..b0b04b805 100644 --- a/pkg/integration/tests/worktree/rebase.go +++ b/pkg/integration/tests/worktree/associate_branch_rebase.go @@ -13,7 +13,7 @@ import ( // We need different logic for associated the branch depending on whether it's a main worktree or // linked worktree, so this test handles both. -var Rebase = NewIntegrationTest(NewIntegrationTestArgs{ +var AssociateBranchRebase = NewIntegrationTest(NewIntegrationTestArgs{ Description: "Verify that when you start a rebase in a linked or main worktree, Lazygit still associates the worktree with the branch", ExtraCmdArgs: []string{}, Skip: false, diff --git a/pkg/integration/tests/worktree/bare_repo.go b/pkg/integration/tests/worktree/bare_repo.go index af0133227..2343b112e 100644 --- a/pkg/integration/tests/worktree/bare_repo.go +++ b/pkg/integration/tests/worktree/bare_repo.go @@ -6,7 +6,7 @@ import ( ) var BareRepo = NewIntegrationTest(NewIntegrationTestArgs{ - Description: "Open lazygit in the worktree of a bare repo", + Description: "Open lazygit in the worktree of a bare repo and do a rebase/bisect", ExtraCmdArgs: []string{}, Skip: false, SetupConfig: func(config *config.AppConfig) {}, @@ -23,6 +23,8 @@ var BareRepo = NewIntegrationTest(NewIntegrationTestArgs{ shell.NewBranch("mybranch") shell.CreateFileAndAdd("blah", "blah") shell.Commit("initial commit") + shell.EmptyCommit("commit two") + shell.EmptyCommit("commit three") shell.RunCommand([]string{"git", "clone", "--bare", ".", "../.bare"}) @@ -45,6 +47,45 @@ var BareRepo = NewIntegrationTest(NewIntegrationTestArgs{ Contains("worktree2 (worktree)"), ) + // test that a rebase works fine + // (rebase uses the git dir of the worktree so we're confirming that it points + // to the right git dir) + t.Views().Commits(). + Focus(). + Lines( + Contains("commit three").IsSelected(), + Contains("commit two"), + Contains("initial commit"), + ). + Press(keys.Commits.MoveDownCommit). + Lines( + Contains("commit two"), + Contains("commit three").IsSelected(), + Contains("initial commit"), + ). + // test that bisect works fine (same logic as above) + NavigateToLine(Contains("commit two")). + Press(keys.Commits.ViewBisectOptions). + Tap(func() { + t.ExpectPopup().Menu(). + Title(Equals("Bisect")). + Select(MatchesRegexp(`Mark .* as bad`)). + Confirm() + + t.Views().Information().Content(Contains("Bisecting")) + }). + NavigateToLine(Contains("initial commit")). + Press(keys.Commits.ViewBisectOptions). + Tap(func() { + t.ExpectPopup().Menu(). + Title(Equals("Bisect")). + Select(MatchesRegexp(`Mark .* as good`)). + Confirm() + + t.Views().Information().Content(Contains("Bisecting")) + }) + + // switch to other worktree t.Views().Worktrees(). Focus(). Lines( |