diff options
Diffstat (limited to 'pkg/integration/tests/interactive_rebase/amend_fixup_commit.go')
-rw-r--r-- | pkg/integration/tests/interactive_rebase/amend_fixup_commit.go | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/pkg/integration/tests/interactive_rebase/amend_fixup_commit.go b/pkg/integration/tests/interactive_rebase/amend_fixup_commit.go new file mode 100644 index 000000000..0c39c756b --- /dev/null +++ b/pkg/integration/tests/interactive_rebase/amend_fixup_commit.go @@ -0,0 +1,50 @@ +package interactive_rebase + +import ( + "github.com/jesseduffield/lazygit/pkg/config" + . "github.com/jesseduffield/lazygit/pkg/integration/components" +) + +var AmendFixupCommit = NewIntegrationTest(NewIntegrationTestArgs{ + Description: "Amends a staged file to a fixup commit, and checks that other unrelated fixup commits are not auto-squashed.", + ExtraCmdArgs: "", + Skip: false, + SetupConfig: func(config *config.AppConfig) {}, + SetupRepo: func(shell *Shell) { + shell. + CreateNCommits(1). + CreateFileAndAdd("first-fixup-file", "").Commit("fixup! commit 01"). + CreateNCommitsStartingAt(2, 2). + CreateFileAndAdd("unrelated-fixup-file", "fixup 03").Commit("fixup! commit 03"). + CreateFileAndAdd("fixup-file", "fixup 01") + }, + Run: func(t *TestDriver, keys config.KeybindingConfig) { + t.Views().Commits(). + Focus(). + Lines( + Contains("fixup! commit 03"), + Contains("commit 03"), + Contains("commit 02"), + Contains("fixup! commit 01"), + Contains("commit 01"), + ). + NavigateToLine(Contains("fixup! commit 01")). + Press(keys.Commits.AmendToCommit). + Tap(func() { + t.ExpectPopup().Confirmation(). + Title(Equals("Amend Commit")). + Content(Contains("Are you sure you want to amend this commit with your staged files?")). + Confirm() + }). + Lines( + Contains("fixup! commit 03"), + Contains("commit 03"), + Contains("commit 02"), + Contains("fixup! commit 01").IsSelected(), + Contains("commit 01"), + ) + + t.Views().Main(). + Content(Contains("fixup 01")) + }, +}) |