summaryrefslogtreecommitdiffstats
path: root/pkg/integration/tests/interactive_rebase/move_in_rebase.go
diff options
context:
space:
mode:
Diffstat (limited to 'pkg/integration/tests/interactive_rebase/move_in_rebase.go')
-rw-r--r--pkg/integration/tests/interactive_rebase/move_in_rebase.go96
1 files changed, 96 insertions, 0 deletions
diff --git a/pkg/integration/tests/interactive_rebase/move_in_rebase.go b/pkg/integration/tests/interactive_rebase/move_in_rebase.go
new file mode 100644
index 000000000..daeedbf87
--- /dev/null
+++ b/pkg/integration/tests/interactive_rebase/move_in_rebase.go
@@ -0,0 +1,96 @@
+package interactive_rebase
+
+import (
+ "github.com/jesseduffield/lazygit/pkg/config"
+ . "github.com/jesseduffield/lazygit/pkg/integration/components"
+)
+
+var MoveInRebase = NewIntegrationTest(NewIntegrationTestArgs{
+ Description: "Via a single interactive rebase move a commit all the way up then back down then slightly back up again and apply the change",
+ ExtraCmdArgs: "",
+ Skip: false,
+ SetupConfig: func(config *config.AppConfig) {},
+ SetupRepo: func(shell *Shell) {
+ shell.CreateNCommits(4)
+ },
+ Run: func(t *TestDriver, keys config.KeybindingConfig) {
+ t.Views().Commits().
+ Focus().
+ Lines(
+ Contains("commit 04").IsSelected(),
+ Contains("commit 03"),
+ Contains("commit 02"),
+ Contains("commit 01"),
+ ).
+ NavigateToListItem(Contains("commit 01")).
+ Press(keys.Universal.Edit).
+ Lines(
+ Contains("commit 04"),
+ Contains("commit 03"),
+ Contains("commit 02"),
+ Contains("YOU ARE HERE").Contains("commit 01").IsSelected(),
+ ).
+ SelectPreviousItem().
+ Press(keys.Commits.MoveUpCommit).
+ Lines(
+ Contains("commit 04"),
+ Contains("commit 02").IsSelected(),
+ Contains("commit 03"),
+ Contains("YOU ARE HERE").Contains("commit 01"),
+ ).
+ Press(keys.Commits.MoveUpCommit).
+ Lines(
+ Contains("commit 02").IsSelected(),
+ Contains("commit 04"),
+ Contains("commit 03"),
+ Contains("YOU ARE HERE").Contains("commit 01"),
+ ).
+ Press(keys.Commits.MoveUpCommit).
+ // assert we can't move past the top
+ Lines(
+ Contains("commit 02").IsSelected(),
+ Contains("commit 04"),
+ Contains("commit 03"),
+ Contains("YOU ARE HERE").Contains("commit 01"),
+ ).
+ Press(keys.Commits.MoveDownCommit).
+ Lines(
+ Contains("commit 04"),
+ Contains("commit 02").IsSelected(),
+ Contains("commit 03"),
+ Contains("YOU ARE HERE").Contains("commit 01"),
+ ).
+ Press(keys.Commits.MoveDownCommit).
+ Lines(
+ Contains("commit 04"),
+ Contains("commit 03"),
+ Contains("commit 02").IsSelected(),
+ Contains("YOU ARE HERE").Contains("commit 01"),
+ ).
+ // assert we can't move past the bottom
+ Press(keys.Commits.MoveDownCommit).
+ Lines(
+ Contains("commit 04"),
+ Contains("commit 03"),
+ Contains("commit 02").IsSelected(),
+ Contains("YOU ARE HERE").Contains("commit 01"),
+ ).
+ // move it back up one so that we land in a different order than we started with
+ Press(keys.Commits.MoveUpCommit).
+ Lines(
+ Contains("commit 04"),
+ Contains("commit 02").IsSelected(),
+ Contains("commit 03"),
+ Contains("YOU ARE HERE").Contains("commit 01"),
+ ).
+ Tap(func() {
+ t.Actions().ContinueRebase()
+ }).
+ Lines(
+ Contains("commit 04"),
+ Contains("commit 02").IsSelected(),
+ Contains("commit 03"),
+ DoesNotContain("YOU ARE HERE").Contains("commit 01"),
+ )
+ },
+})