summaryrefslogtreecommitdiffstats
path: root/pkg/integration
diff options
context:
space:
mode:
authorStefan Haller <stefan@haller-berlin.de>2023-03-12 13:00:46 +0100
committerStefan Haller <stefan@haller-berlin.de>2023-06-22 18:57:43 +0200
commitd66ca7751c22a888497d53830a4d94db02506def (patch)
treebf6cfa58cee2245766322c13a1899a639d981a7b /pkg/integration
parentba160cb5db424330e59df41303215fe1a64e5b7c (diff)
Add test for rewording a commit and failing with an error
The point of this test is to verify that the <--- YOU ARE HERE --- display is correct when the last command in a rebase was "reword".
Diffstat (limited to 'pkg/integration')
-rw-r--r--pkg/integration/tests/interactive_rebase/reword_commit_with_editor_and_fail.go45
-rw-r--r--pkg/integration/tests/test_list.go1
2 files changed, 46 insertions, 0 deletions
diff --git a/pkg/integration/tests/interactive_rebase/reword_commit_with_editor_and_fail.go b/pkg/integration/tests/interactive_rebase/reword_commit_with_editor_and_fail.go
new file mode 100644
index 000000000..99bac839d
--- /dev/null
+++ b/pkg/integration/tests/interactive_rebase/reword_commit_with_editor_and_fail.go
@@ -0,0 +1,45 @@
+package interactive_rebase
+
+import (
+ "github.com/jesseduffield/lazygit/pkg/config"
+ . "github.com/jesseduffield/lazygit/pkg/integration/components"
+)
+
+var RewordCommitWithEditorAndFail = NewIntegrationTest(NewIntegrationTestArgs{
+ Description: "Rewords a commit with editor, and fails because an empty commit message is given",
+ ExtraCmdArgs: []string{},
+ Skip: false,
+ SetupConfig: func(config *config.AppConfig) {
+ },
+ SetupRepo: func(shell *Shell) {
+ shell.
+ CreateNCommits(3).
+ SetConfig("core.editor", "sh -c 'echo </dev/null >.git/COMMIT_EDITMSG'")
+ },
+ Run: func(t *TestDriver, keys config.KeybindingConfig) {
+ t.Views().Commits().
+ Focus().
+ Lines(
+ Contains("commit 03").IsSelected(),
+ Contains("commit 02"),
+ Contains("commit 01"),
+ ).
+ NavigateToLine(Contains("commit 02")).
+ Press(keys.Commits.RenameCommitWithEditor).
+ Tap(func() {
+ t.ExpectPopup().Confirmation().
+ Title(Equals("Reword in editor")).
+ Content(Contains("Are you sure you want to reword this commit in your editor?")).
+ Confirm()
+ }).
+ Lines(
+ Contains("commit 03"),
+ Contains("<-- YOU ARE HERE --- commit 02").IsSelected(),
+ Contains("commit 01"),
+ )
+
+ t.ExpectPopup().Alert().
+ Title(Equals("Error")).
+ Content(Contains("exit status 1"))
+ },
+})
diff --git a/pkg/integration/tests/test_list.go b/pkg/integration/tests/test_list.go
index c25df5c5d..aa303a44c 100644
--- a/pkg/integration/tests/test_list.go
+++ b/pkg/integration/tests/test_list.go
@@ -111,6 +111,7 @@ var tests = []*components.IntegrationTest{
interactive_rebase.MoveInRebase,
interactive_rebase.PickRescheduled,
interactive_rebase.Rebase,
+ interactive_rebase.RewordCommitWithEditorAndFail,
interactive_rebase.RewordFirstCommit,
interactive_rebase.RewordLastCommit,
interactive_rebase.RewordYouAreHereCommit,