diff options
author | Stefan Haller <stefan@haller-berlin.de> | 2023-03-12 13:00:46 +0100 |
---|---|---|
committer | Stefan Haller <stefan@haller-berlin.de> | 2023-06-22 18:57:43 +0200 |
commit | d66ca7751c22a888497d53830a4d94db02506def (patch) | |
tree | bf6cfa58cee2245766322c13a1899a639d981a7b /pkg/integration | |
parent | ba160cb5db424330e59df41303215fe1a64e5b7c (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.go | 45 | ||||
-rw-r--r-- | pkg/integration/tests/test_list.go | 1 |
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, |