mirror of
https://github.com/jesseduffield/lazygit.git
synced 2024-12-12 11:15:00 +02:00
82 lines
2.1 KiB
Go
82 lines
2.1 KiB
Go
package git_commands
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/jesseduffield/lazygit/pkg/commands/oscommands"
|
|
"github.com/jesseduffield/lazygit/pkg/config"
|
|
"github.com/stretchr/testify/assert"
|
|
)
|
|
|
|
func TestStashDrop(t *testing.T) {
|
|
runner := oscommands.NewFakeRunner(t).
|
|
ExpectGitArgs([]string{"stash", "drop", "stash@{1}"}, "", nil)
|
|
instance := buildStashCommands(commonDeps{runner: runner})
|
|
|
|
assert.NoError(t, instance.Drop(1))
|
|
runner.CheckForMissingCalls()
|
|
}
|
|
|
|
func TestStashApply(t *testing.T) {
|
|
runner := oscommands.NewFakeRunner(t).
|
|
ExpectGitArgs([]string{"stash", "apply", "stash@{1}"}, "", nil)
|
|
instance := buildStashCommands(commonDeps{runner: runner})
|
|
|
|
assert.NoError(t, instance.Apply(1))
|
|
runner.CheckForMissingCalls()
|
|
}
|
|
|
|
func TestStashPop(t *testing.T) {
|
|
runner := oscommands.NewFakeRunner(t).
|
|
ExpectGitArgs([]string{"stash", "pop", "stash@{1}"}, "", nil)
|
|
instance := buildStashCommands(commonDeps{runner: runner})
|
|
|
|
assert.NoError(t, instance.Pop(1))
|
|
runner.CheckForMissingCalls()
|
|
}
|
|
|
|
func TestStashSave(t *testing.T) {
|
|
runner := oscommands.NewFakeRunner(t).
|
|
ExpectGitArgs([]string{"stash", "save", "A stash message"}, "", nil)
|
|
instance := buildStashCommands(commonDeps{runner: runner})
|
|
|
|
assert.NoError(t, instance.Save("A stash message"))
|
|
runner.CheckForMissingCalls()
|
|
}
|
|
|
|
func TestStashStashEntryCmdObj(t *testing.T) {
|
|
type scenario struct {
|
|
testName string
|
|
index int
|
|
contextSize int
|
|
expected string
|
|
}
|
|
|
|
scenarios := []scenario{
|
|
{
|
|
testName: "Default case",
|
|
index: 5,
|
|
contextSize: 3,
|
|
expected: "git stash show -p --stat --color=always --unified=3 stash@{5}",
|
|
},
|
|
{
|
|
testName: "Show diff with custom context size",
|
|
index: 5,
|
|
contextSize: 77,
|
|
expected: "git stash show -p --stat --color=always --unified=77 stash@{5}",
|
|
},
|
|
}
|
|
|
|
for _, s := range scenarios {
|
|
s := s
|
|
t.Run(s.testName, func(t *testing.T) {
|
|
userConfig := config.GetDefaultConfig()
|
|
userConfig.Git.DiffContextSize = s.contextSize
|
|
instance := buildStashCommands(commonDeps{userConfig: userConfig})
|
|
|
|
cmdStr := instance.ShowStashEntryCmdObj(s.index).ToString()
|
|
assert.Equal(t, s.expected, cmdStr)
|
|
})
|
|
}
|
|
}
|