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

Simplify integration test

This commit is contained in:
Brandon
2024-05-28 18:09:07 -07:00
committed by Jesse Duffield
parent 2e5b570bb6
commit 38aa5b89ab
4 changed files with 46 additions and 55 deletions

View File

@ -134,17 +134,6 @@ func (self *Shell) UpdateFile(path string, content string) *Shell {
return self
}
func (self *Shell) Rename(path string, newPath string) *Shell {
fullPath := filepath.Join(self.dir, path)
newFullPath := filepath.Join(self.dir, newPath)
err := os.Rename(fullPath, newFullPath)
if err != nil {
self.fail(fmt.Sprintf("error renaming %s to %s\n%s", fullPath, newFullPath, err))
}
return self
}
func (self *Shell) NewBranch(name string) *Shell {
return self.RunCommand([]string{"git", "checkout", "-b", name})
}

View File

@ -0,0 +1,45 @@
package file
import (
"github.com/jesseduffield/lazygit/pkg/config"
. "github.com/jesseduffield/lazygit/pkg/integration/components"
)
var StageChildrenRangeSelect = NewIntegrationTest(NewIntegrationTestArgs{
Description: "Stage a range of files/folders and their children using range select",
ExtraCmdArgs: []string{},
Skip: false,
SetupConfig: func(config *config.AppConfig) {
},
SetupRepo: func(shell *Shell) {
shell.CreateFile("foo", "")
shell.CreateFile("foobar", "")
shell.CreateFile("baz/file", "")
shell.CreateFile("bazbam/file", "")
},
Run: func(t *TestDriver, keys config.KeybindingConfig) {
t.Views().Files().
IsFocused().
Lines(
Contains("▼ baz").IsSelected(),
Contains(" ??").Contains("file"),
Contains("▼ bazbam"),
Contains(" ??").Contains("file"),
Contains("??").Contains("foo"),
Contains("??").Contains("foobar"),
).
// Select everything
Press(keys.Universal.ToggleRangeSelect).
NavigateToLine(Contains("foobar")).
// Stage
PressPrimaryAction().
Lines(
Contains("▼ baz").IsSelected(),
Contains(" A ").Contains("file").IsSelected(),
Contains("▼ bazbam").IsSelected(),
Contains(" A ").Contains("file").IsSelected(),
Contains("A ").Contains("foo").IsSelected(),
Contains("A ").Contains("foobar").IsSelected(),
)
},
})

View File

@ -1,43 +0,0 @@
package file
import (
"github.com/jesseduffield/lazygit/pkg/config"
. "github.com/jesseduffield/lazygit/pkg/integration/components"
)
var StageRenamedRangeSelect = NewIntegrationTest(NewIntegrationTestArgs{
Description: "Stage a range of renamed files/folders using range select",
ExtraCmdArgs: []string{},
Skip: false,
SetupConfig: func(config *config.AppConfig) {
},
SetupRepo: func(shell *Shell) {
shell.CreateFileAndAdd("dir1/file-a", "A's content")
shell.CreateFileAndAdd("file-b", "B's content")
shell.Commit("first commit")
shell.Rename("dir1", "dir1_v2")
shell.Rename("file-b", "file-b_v2")
},
Run: func(t *TestDriver, keys config.KeybindingConfig) {
t.Views().Files().
IsFocused().
Lines(
Contains("▼ dir1").IsSelected(),
Contains(" D").Contains("file-a"),
Contains("▼ dir1_v2"),
Contains(" ??").Contains("file-a"),
Contains(" D").Contains("file-b"),
Contains("??").Contains("file-b_v2"),
).
// Select everything
Press(keys.Universal.ToggleRangeSelect).
NavigateToLine(Contains("file-b_v2")).
// Stage
PressPrimaryAction().
Lines(
Contains("▼ dir1_v2"),
Contains(" R ").Contains("dir1/file-a → file-a"),
Contains("R ").Contains("file-b → file-b_v2").IsSelected(),
)
},
})

View File

@ -160,8 +160,8 @@ var tests = []*components.IntegrationTest{
file.DiscardVariousChangesRangeSelect,
file.Gitignore,
file.RememberCommitMessageAfterFail,
file.StageChildrenRangeSelect,
file.StageRangeSelect,
file.StageRenamedRangeSelect,
filter_and_search.FilterCommitFiles,
filter_and_search.FilterFiles,
filter_and_search.FilterFuzzy,