1
0
mirror of https://github.com/jesseduffield/lazygit.git synced 2024-12-14 11:23:09 +02:00
lazygit/pkg/integration/tests/interactive_rebase/advanced_interactive_rebase.go

66 lines
1.6 KiB
Go

package interactive_rebase
import (
"fmt"
"github.com/jesseduffield/lazygit/pkg/config"
. "github.com/jesseduffield/lazygit/pkg/integration/components"
)
const (
BASE_BRANCH = "base-branch"
TOP_BRANCH = "top-branch"
BASE_COMMIT = "base-commit"
TOP_COMMIT = "top-commit"
)
var AdvancedInteractiveRebase = NewIntegrationTest(NewIntegrationTestArgs{
Description: "It begins an interactive rebase and verifies to have the possibility of editing the commits of the branch before proceeding with the actual rebase",
ExtraCmdArgs: "",
SetupConfig: func(config *config.AppConfig) {},
SetupRepo: func(shell *Shell) {
shell.
NewBranch(BASE_BRANCH).
EmptyCommit(BASE_COMMIT).
NewBranch(TOP_BRANCH).
EmptyCommit(TOP_COMMIT)
},
Run: func(t *TestDriver, keys config.KeybindingConfig) {
t.Views().Commits().
Focus().
Lines(
Contains(TOP_COMMIT),
Contains(BASE_COMMIT),
)
t.Views().Branches().
Focus().
NavigateToLine(Contains(BASE_BRANCH)).
Press(keys.Branches.RebaseBranch)
t.ExpectPopup().Menu().
Title(Equals(fmt.Sprintf("Rebase '%s' onto '%s'", TOP_BRANCH, BASE_BRANCH))).
Select(Contains("interactive rebase")).
Confirm()
t.Views().Commits().
IsFocused().
Lines(
Contains(TOP_COMMIT),
Contains(BASE_COMMIT).Contains("YOU ARE HERE"),
).
NavigateToLine(Contains(TOP_COMMIT)).
Press(keys.Universal.Edit).
Lines(
Contains(TOP_COMMIT).Contains("edit"),
Contains(BASE_COMMIT).Contains("YOU ARE HERE"),
).
Tap(func() {
t.Common().ContinueRebase()
}).
Lines(
Contains(TOP_COMMIT).Contains("YOU ARE HERE"),
Contains(BASE_COMMIT),
)
},
})