1
0
mirror of https://github.com/jesseduffield/lazygit.git synced 2025-08-08 22:36:49 +02:00

Add test for moving a patch from a deleted file to a new commit

This currently works, we add it as a regression test to make sure we don't break
it. It is an interesting test because it turns the deletion of the file in the
moved-from commit into a modification.
This commit is contained in:
Stefan Haller
2024-06-22 10:01:29 +02:00
parent e2b4d9cff3
commit 8a16f24ecb
2 changed files with 89 additions and 0 deletions

View File

@@ -0,0 +1,88 @@
package patch_building
import (
"github.com/jesseduffield/lazygit/pkg/config"
. "github.com/jesseduffield/lazygit/pkg/integration/components"
)
var MoveToNewCommitFromDeletedFile = NewIntegrationTest(NewIntegrationTestArgs{
Description: "Move a patch from a file that was deleted in a commit to a new commit",
ExtraCmdArgs: []string{},
Skip: false,
SetupConfig: func(config *config.AppConfig) {},
SetupRepo: func(shell *Shell) {
shell.CreateFileAndAdd("file1", "1st line\n2nd line\n3rd line\n")
shell.Commit("first commit")
shell.DeleteFileAndAdd("file1")
shell.Commit("commit to move from")
},
Run: func(t *TestDriver, keys config.KeybindingConfig) {
t.Views().Commits().
Focus().
Lines(
Contains("commit to move from").IsSelected(),
Contains("first commit"),
).
PressEnter()
t.Views().CommitFiles().
IsFocused().
Lines(
Contains("D file1").IsSelected(),
).
PressEnter()
t.Views().PatchBuilding().
IsFocused().
SelectNextItem().
PressPrimaryAction()
t.Views().Information().Content(Contains("Building patch"))
t.Common().SelectPatchOption(Contains("Move patch into new commit"))
t.ExpectPopup().CommitMessagePanel().
InitialText(Equals("")).
Type("new commit").Confirm()
t.Views().Commits().
IsFocused().
Lines(
Contains("new commit").IsSelected(),
Contains("commit to move from"),
Contains("first commit"),
).
PressEnter()
t.Views().CommitFiles().
IsFocused().
Lines(
Contains("D file1").IsSelected(),
).
Tap(func() {
t.Views().Main().ContainsLines(
Equals("-2nd line"),
)
}).
PressEscape()
t.Views().Commits().
IsFocused().
NavigateToLine(Contains("commit to move from")).
PressEnter()
t.Views().CommitFiles().
IsFocused().
Lines(
// In the original commit the file is no longer deleted, but modified
Contains("M file1").IsSelected(),
).
Tap(func() {
t.Views().Main().ContainsLines(
Equals("-1st line"),
Equals(" 2nd line"),
Equals("-3rd line"),
)
})
},
})

View File

@@ -238,6 +238,7 @@ var tests = []*components.IntegrationTest{
patch_building.MoveToLaterCommit,
patch_building.MoveToLaterCommitPartialHunk,
patch_building.MoveToNewCommit,
patch_building.MoveToNewCommitFromDeletedFile,
patch_building.MoveToNewCommitPartialHunk,
patch_building.RemoveFromCommit,
patch_building.ResetWithEscape,