package form import ( "testing" "github.com/stretchr/testify/assert" ) func TestSelection_Empty(t *testing.T) { t.Run("not empty photos", func(t *testing.T) { sel := Selection{Photos: []string{"foo", "bar"}, Albums: []string{}, Labels: []string{}, Files: []string{}, Places: []string{}} assert.Equal(t, false, sel.Empty()) }) t.Run("not empty albums", func(t *testing.T) { sel := Selection{Photos: []string{}, Albums: []string{"foo", "bar"}, Labels: []string{}, Files: []string{}, Places: []string{}} assert.Equal(t, false, sel.Empty()) }) t.Run("not empty labels", func(t *testing.T) { sel := Selection{Photos: []string{}, Albums: []string{}, Labels: []string{"foo", "bar"}, Files: []string{}, Places: []string{}} assert.Equal(t, false, sel.Empty()) }) t.Run("not empty files", func(t *testing.T) { sel := Selection{Photos: []string{}, Albums: []string{}, Labels: []string{}, Files: []string{"foo", "bar"}, Places: []string{}} assert.Equal(t, false, sel.Empty()) }) t.Run("not empty places", func(t *testing.T) { sel := Selection{Photos: []string{}, Albums: []string{}, Labels: []string{}, Files: []string{}, Places: []string{"foo", "bar"}} assert.Equal(t, false, sel.Empty()) }) t.Run("not empty subjects", func(t *testing.T) { sel := Selection{Photos: []string{}, Albums: []string{}, Labels: []string{}, Files: []string{}, Places: []string{}, Subjects: []string{"jqzkpo13j8ngpgv4", "jqzkq8j10hj39sxp"}} assert.Equal(t, false, sel.Empty()) assert.Equal(t, []string{"jqzkpo13j8ngpgv4", "jqzkq8j10hj39sxp"}, sel.Subjects) }) t.Run("empty", func(t *testing.T) { sel := Selection{Photos: []string{}, Albums: []string{}, Labels: []string{}} assert.Equal(t, true, sel.Empty()) }) } func TestSelection_All(t *testing.T) { t.Run("success", func(t *testing.T) { sel := Selection{Photos: []string{"p123", "p456"}, Albums: []string{"a123"}, Labels: []string{"l123", "l456", "l789"}, Files: []string{"f567", "f111"}, Places: []string{"p568"}, Subjects: []string{"jqzkpo13j8ngpgv4"}} assert.Equal(t, []string{"p123", "p456", "a123", "l123", "l456", "l789", "p568", "jqzkpo13j8ngpgv4"}, sel.All()) }) } func TestSelection_String(t *testing.T) { t.Run("success", func(t *testing.T) { sel := Selection{Photos: []string{"p123", "p456"}, Albums: []string{"a123"}, Labels: []string{"l123", "l456", "l789"}, Files: []string{"f567", "f111"}, Places: []string{"p568"}} assert.Equal(t, "p123, p456, a123, l123, l456, l789, p568", sel.String()) }) }