mirror of
				https://github.com/jesseduffield/lazygit.git
				synced 2025-10-30 23:57:43 +02:00 
			
		
		
		
	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".
This commit is contained in:
		| @@ -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")) | ||||||
|  | 	}, | ||||||
|  | }) | ||||||
| @@ -111,6 +111,7 @@ var tests = []*components.IntegrationTest{ | |||||||
| 	interactive_rebase.MoveInRebase, | 	interactive_rebase.MoveInRebase, | ||||||
| 	interactive_rebase.PickRescheduled, | 	interactive_rebase.PickRescheduled, | ||||||
| 	interactive_rebase.Rebase, | 	interactive_rebase.Rebase, | ||||||
|  | 	interactive_rebase.RewordCommitWithEditorAndFail, | ||||||
| 	interactive_rebase.RewordFirstCommit, | 	interactive_rebase.RewordFirstCommit, | ||||||
| 	interactive_rebase.RewordLastCommit, | 	interactive_rebase.RewordLastCommit, | ||||||
| 	interactive_rebase.RewordYouAreHereCommit, | 	interactive_rebase.RewordYouAreHereCommit, | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user