45 lines
1.3 KiB
Go
45 lines
1.3 KiB
Go
// cmd/diff_test.go
|
|
package cmd
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
|
|
"github.com/helmfile/helmfile/pkg/config"
|
|
"github.com/helmfile/helmfile/pkg/flags"
|
|
"github.com/helmfile/helmfile/pkg/testcmd"
|
|
)
|
|
|
|
func TestNewDiffCmd(t *testing.T) {
|
|
// Test the actual command properties
|
|
globalCfg := config.NewGlobalImpl(&config.GlobalOptions{HelmBinary: "helm"})
|
|
cmd := NewDiffCmd(globalCfg)
|
|
assert.Equal(t, "diff", cmd.Use)
|
|
|
|
// Use the test helper for testing flags
|
|
helper := testcmd.TestDiffCmd()
|
|
assert.Equal(t, helper.Cmd.Use, cmd.Use)
|
|
|
|
// Get the names of registered flags
|
|
registeredFlags := helper.Registry.GetRegisteredFlagNames()
|
|
|
|
// Verify flags and values
|
|
assert.Contains(t, registeredFlags, "include-crds")
|
|
|
|
includeCRDs, exists := flags.GetFlagValue[bool](helper.Registry, "include-crds")
|
|
assert.True(t, exists)
|
|
assert.False(t, includeCRDs)
|
|
|
|
// Test other flags if needed
|
|
// For example, testing a string flag:
|
|
// outputFormat, exists := flags.GetFlagValue[string](helper.Registry, "output")
|
|
// assert.True(t, exists)
|
|
// assert.Equal(t, "", outputFormat) // Default should be empty string
|
|
|
|
// Or testing a string slice flag:
|
|
// suppress, exists := flags.GetFlagValue[[]string](helper.Registry, "suppress")
|
|
// assert.True(t, exists)
|
|
// assert.Empty(t, suppress) // Default should be empty slice
|
|
}
|