67 lines
1.3 KiB
Go
67 lines
1.3 KiB
Go
|
package config
|
||
|
|
||
|
import (
|
||
|
"testing"
|
||
|
|
||
|
"github.com/stretchr/testify/assert"
|
||
|
"github.com/urfave/cli"
|
||
|
)
|
||
|
|
||
|
func TestCliFlag_Skip(t *testing.T) {
|
||
|
withTags := CliFlag{
|
||
|
Flag: cli.StringFlag{
|
||
|
Name: "with-tags",
|
||
|
Usage: "`STRING`",
|
||
|
EnvVar: "PHOTOPRISM_WITH_TAGS",
|
||
|
},
|
||
|
Tags: []string{"foo", "bar"},
|
||
|
}
|
||
|
|
||
|
noTags := CliFlag{
|
||
|
Flag: cli.StringFlag{
|
||
|
Name: "no-tags",
|
||
|
Usage: "`STRING`",
|
||
|
EnvVar: "PHOTOPRISM_NO_TAGS",
|
||
|
},
|
||
|
Tags: []string{},
|
||
|
}
|
||
|
|
||
|
t.Run("True", func(t *testing.T) {
|
||
|
assert.True(t, withTags.Skip([]string{"baz"}))
|
||
|
assert.False(t, noTags.Skip([]string{"baz"}))
|
||
|
})
|
||
|
t.Run("False", func(t *testing.T) {
|
||
|
assert.False(t, withTags.Skip([]string{"foo"}))
|
||
|
assert.False(t, noTags.Skip([]string{"foo"}))
|
||
|
})
|
||
|
}
|
||
|
|
||
|
func TestCliFlag_Hidden(t *testing.T) {
|
||
|
hidden := CliFlag{
|
||
|
Flag: cli.StringFlag{
|
||
|
Name: "is-hidden",
|
||
|
Usage: "`STRING`",
|
||
|
EnvVar: "PHOTOPRISM_HIDDEN",
|
||
|
Hidden: true,
|
||
|
},
|
||
|
Tags: []string{"foo", "bar"},
|
||
|
}
|
||
|
|
||
|
visible := CliFlag{
|
||
|
Flag: cli.StringFlag{
|
||
|
Name: "is-visible",
|
||
|
Usage: "`STRING`",
|
||
|
EnvVar: "PHOTOPRISM_VISIBLE",
|
||
|
Hidden: false,
|
||
|
},
|
||
|
Tags: []string{},
|
||
|
}
|
||
|
|
||
|
t.Run("True", func(t *testing.T) {
|
||
|
assert.True(t, hidden.Hidden())
|
||
|
})
|
||
|
t.Run("False", func(t *testing.T) {
|
||
|
assert.False(t, visible.Hidden())
|
||
|
})
|
||
|
}
|