mirror of
https://github.com/jesseduffield/lazygit.git
synced 2024-12-12 11:15:00 +02:00
1f42c8a387
We use CommitFilesController also for the files of commits that we show elsewhere, e.g. for branch commits, tags, or stashes. It doesn't make sense to discard changes from those (for stashes it might be possible to implement it somehow, but that would be a new feature), so we disallow it unless we are in the local commits panel.
42 lines
1.0 KiB
Go
42 lines
1.0 KiB
Go
package stash
|
|
|
|
import (
|
|
"github.com/jesseduffield/lazygit/pkg/config"
|
|
. "github.com/jesseduffield/lazygit/pkg/integration/components"
|
|
)
|
|
|
|
var PreventDiscardingFileChanges = NewIntegrationTest(NewIntegrationTestArgs{
|
|
Description: "Check that it is not allowed to discard changes to a file of a stash",
|
|
ExtraCmdArgs: []string{},
|
|
Skip: false,
|
|
SetupConfig: func(config *config.AppConfig) {},
|
|
SetupRepo: func(shell *Shell) {
|
|
shell.EmptyCommit("initial commit")
|
|
shell.CreateFile("file", "content")
|
|
shell.GitAddAll()
|
|
shell.Stash("stash one")
|
|
},
|
|
Run: func(t *TestDriver, keys config.KeybindingConfig) {
|
|
t.Views().Files().IsEmpty()
|
|
|
|
t.Views().Stash().
|
|
Focus().
|
|
Lines(
|
|
Contains("stash one").IsSelected(),
|
|
).
|
|
PressEnter()
|
|
|
|
t.Views().CommitFiles().
|
|
IsFocused().
|
|
Lines(
|
|
Contains("file").IsSelected(),
|
|
).
|
|
Press(keys.Universal.Remove)
|
|
|
|
t.ExpectPopup().Confirmation().
|
|
Title(Equals("Error")).
|
|
Content(Contains("Changes can only be discarded from local commits")).
|
|
Confirm()
|
|
},
|
|
})
|