summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--pkg/integration/components/assert.go11
-rw-r--r--pkg/integration/tests/stash/stash.go27
-rw-r--r--pkg/integration/tests/tests.go2
3 files changed, 40 insertions, 0 deletions
diff --git a/pkg/integration/components/assert.go b/pkg/integration/components/assert.go
index ae363eb8d..ec8efbf29 100644
--- a/pkg/integration/components/assert.go
+++ b/pkg/integration/components/assert.go
@@ -78,6 +78,17 @@ func (self *Assert) CommitCount(expectedCount int) {
})
}
+func (self *Assert) StashCount(expectedCount int) {
+ self.assertWithRetries(func() (bool, string) {
+ actualCount := len(self.gui.Model().StashEntries)
+
+ return actualCount == expectedCount, fmt.Sprintf(
+ "Expected %d stash entries, but got %d",
+ expectedCount, actualCount,
+ )
+ })
+}
+
func (self *Assert) MatchHeadCommitMessage(matcher *matcher) {
self.assertWithRetries(func() (bool, string) {
return len(self.gui.Model().Commits) > 0, "Expected at least one commit to be present"
diff --git a/pkg/integration/tests/stash/stash.go b/pkg/integration/tests/stash/stash.go
new file mode 100644
index 000000000..55095e42d
--- /dev/null
+++ b/pkg/integration/tests/stash/stash.go
@@ -0,0 +1,27 @@
+package stash
+
+import (
+ "github.com/jesseduffield/lazygit/pkg/config"
+ . "github.com/jesseduffield/lazygit/pkg/integration/components"
+)
+
+var Stash = NewIntegrationTest(NewIntegrationTestArgs{
+ Description: "Stashing files",
+ ExtraCmdArgs: "",
+ Skip: false,
+ SetupConfig: func(config *config.AppConfig) {},
+ SetupRepo: func(shell *Shell) {
+ shell.EmptyCommit("initial commit")
+ shell.CreateFile("file", "content")
+ shell.GitAddAll()
+ },
+ Run: func(shell *Shell, input *Input, assert *Assert, keys config.KeybindingConfig) {
+ assert.StashCount(0)
+
+ input.PressKeys(keys.Files.ViewStashOptions)
+ input.Confirm()
+ input.Confirm()
+
+ assert.StashCount(1)
+ },
+})
diff --git a/pkg/integration/tests/tests.go b/pkg/integration/tests/tests.go
index 587ac8e30..fd42f0ed6 100644
--- a/pkg/integration/tests/tests.go
+++ b/pkg/integration/tests/tests.go
@@ -13,6 +13,7 @@ import (
"github.com/jesseduffield/lazygit/pkg/integration/tests/commit"
"github.com/jesseduffield/lazygit/pkg/integration/tests/custom_commands"
"github.com/jesseduffield/lazygit/pkg/integration/tests/interactive_rebase"
+ "github.com/jesseduffield/lazygit/pkg/integration/tests/stash"
"github.com/jesseduffield/lazygit/pkg/utils"
)
@@ -27,6 +28,7 @@ var tests = []*components.IntegrationTest{
custom_commands.Basic,
custom_commands.MultiplePrompts,
custom_commands.MenuFromCommand,
+ stash.Stash,
}
func GetTests() []*components.IntegrationTest {