Skip to content

Commit 8cc49e3

Browse files
committed
Add test demonstrating the problem
When filtering to show only tracked files, pressing `a` would also stage untracked files, which is confusing and undesired.
1 parent 79da2ca commit 8cc49e3

File tree

2 files changed

+58
-0
lines changed

2 files changed

+58
-0
lines changed
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
package filter_and_search
2+
3+
import (
4+
"github.com/jesseduffield/lazygit/pkg/config"
5+
. "github.com/jesseduffield/lazygit/pkg/integration/components"
6+
)
7+
8+
var StageAllStagesOnlyTrackedFilesInTrackedOnlyFilter = NewIntegrationTest(NewIntegrationTestArgs{
9+
Description: "Staging all files in tracked only view should stage only tracked files",
10+
ExtraCmdArgs: []string{},
11+
Skip: false,
12+
SetupConfig: func(config *config.AppConfig) {
13+
},
14+
SetupRepo: func(shell *Shell) {
15+
shell.CreateFileAndAdd("file-tracked", "foo")
16+
17+
shell.Commit("first commit")
18+
19+
shell.CreateFile("file-untracked", "bar")
20+
shell.UpdateFile("file-tracked", "baz")
21+
},
22+
Run: func(t *TestDriver, keys config.KeybindingConfig) {
23+
t.Views().Files().
24+
Focus().
25+
Lines(
26+
Equals("▼ /").IsSelected(),
27+
Equals(" M file-tracked"),
28+
Equals(" ?? file-untracked"),
29+
).
30+
Press(keys.Files.OpenStatusFilter).
31+
Tap(func() {
32+
t.ExpectPopup().Menu().
33+
Title(Equals("Filtering")).
34+
Select(Contains("Show only tracked files")).
35+
Confirm()
36+
}).
37+
Lines(
38+
Equals(" M file-tracked"),
39+
).
40+
Press(keys.Files.ToggleStagedAll).
41+
Press(keys.Files.OpenStatusFilter).
42+
Tap(func() {
43+
t.ExpectPopup().Menu().
44+
Title(Equals("Filtering")).
45+
Select(Contains("No filter")).
46+
Confirm()
47+
}).
48+
Lines(
49+
Equals("▼ /").IsSelected(),
50+
Equals(" M file-tracked"), // 'M' is now in the left column, so file is staged
51+
/* EXPECTED:
52+
Equals(" ?? file-untracked"),
53+
ACTUAL: */
54+
Equals(" A file-untracked"),
55+
)
56+
},
57+
})

pkg/integration/tests/test_list.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -229,6 +229,7 @@ var tests = []*components.IntegrationTest{
229229
filter_and_search.NestedFilter,
230230
filter_and_search.NestedFilterTransient,
231231
filter_and_search.NewSearch,
232+
filter_and_search.StageAllStagesOnlyTrackedFilesInTrackedOnlyFilter,
232233
filter_and_search.StagingFolderStagesOnlyTrackedFilesInTrackedOnlyFilter,
233234
filter_by_author.SelectAuthor,
234235
filter_by_author.TypeAuthor,

0 commit comments

Comments
 (0)