mirror of
https://github.com/jesseduffield/lazygit.git
synced 2024-12-12 11:15:00 +02:00
a9ae5063c2
Whenever we perform an action in a test, we should assert on the result before doing the next action. This prevents issues where the test moves too fast for our code. It would be nice to not have to do this, but for now that's the situation
71 lines
1.6 KiB
Go
71 lines
1.6 KiB
Go
package reflog
|
|
|
|
import (
|
|
"github.com/jesseduffield/lazygit/pkg/config"
|
|
. "github.com/jesseduffield/lazygit/pkg/integration/components"
|
|
)
|
|
|
|
var Patch = NewIntegrationTest(NewIntegrationTestArgs{
|
|
Description: "Build a patch from a reflog commit and apply it",
|
|
ExtraCmdArgs: []string{},
|
|
Skip: false,
|
|
SetupConfig: func(config *config.AppConfig) {},
|
|
SetupRepo: func(shell *Shell) {
|
|
shell.EmptyCommit("one")
|
|
shell.EmptyCommit("two")
|
|
shell.CreateFileAndAdd("file1", "content1")
|
|
shell.CreateFileAndAdd("file2", "content2")
|
|
shell.Commit("three")
|
|
shell.HardReset("HEAD^^")
|
|
},
|
|
Run: func(t *TestDriver, keys config.KeybindingConfig) {
|
|
t.Views().ReflogCommits().
|
|
Focus().
|
|
Lines(
|
|
Contains("reset: moving to HEAD^^").IsSelected(),
|
|
Contains("commit: three"),
|
|
Contains("commit: two"),
|
|
Contains("commit (initial): one"),
|
|
).
|
|
SelectNextItem().
|
|
Lines(
|
|
Contains("reset: moving to HEAD^^"),
|
|
Contains("commit: three").IsSelected(),
|
|
Contains("commit: two"),
|
|
Contains("commit (initial): one"),
|
|
).
|
|
PressEnter()
|
|
|
|
t.Views().SubCommits().
|
|
IsFocused().
|
|
Lines(
|
|
Contains("three").IsSelected(),
|
|
Contains("two"),
|
|
Contains("one"),
|
|
).
|
|
PressEnter()
|
|
|
|
t.Views().CommitFiles().
|
|
IsFocused().
|
|
Lines(
|
|
Contains("file1").IsSelected(),
|
|
Contains("file2"),
|
|
).
|
|
PressPrimaryAction()
|
|
|
|
t.Views().Information().Content(Contains("Building patch"))
|
|
|
|
t.Views().
|
|
CommitFiles().
|
|
Press(keys.Universal.CreatePatchOptionsMenu)
|
|
|
|
t.ExpectPopup().Menu().
|
|
Title(Equals("Patch options")).
|
|
Select(MatchesRegexp(`Apply patch$`)).Confirm()
|
|
|
|
t.Views().Files().Lines(
|
|
Contains("file1"),
|
|
)
|
|
},
|
|
})
|