diff options
-rw-r--r-- | pkg/integration/components/assert.go | 11 | ||||
-rw-r--r-- | pkg/integration/tests/stash/stash.go | 27 | ||||
-rw-r--r-- | pkg/integration/tests/tests.go | 2 |
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 { |