photoprism/internal/config/settings_test.go
Michael Mayer 33888fd231 Backend: Add credentials and extend person entity #98 #144
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2020-09-06 14:18:40 +02:00

68 lines
1.3 KiB
Go

package config
import (
"os"
"testing"
"github.com/stretchr/testify/assert"
)
func TestNewSettings(t *testing.T) {
c := NewSettings()
assert.IsType(t, new(Settings), c)
}
func TestSettings_Load(t *testing.T) {
t.Run("existing filename", func(t *testing.T) {
c := NewSettings()
if err := c.Load("testdata/config.yml"); err != nil {
t.Fatal(err)
}
assert.Equal(t, "lavendel", c.Theme)
assert.Equal(t, "english", c.Language)
})
t.Run("not existing filename", func(t *testing.T) {
c := NewSettings()
err := c.Load("testdata/config123.yml")
assert.Error(t, err)
assert.Equal(t, "default", c.Theme)
assert.Equal(t, "en", c.Language)
})
}
func TestSettings_Save(t *testing.T) {
t.Run("existing filename", func(t *testing.T) {
c := NewSettings()
c.Theme = "lavendel"
c.Language = "german"
assert.Equal(t, "lavendel", c.Theme)
assert.Equal(t, "german", c.Language)
if err := c.Save("testdata/configEmpty.yml"); err != nil {
t.Fatal(err)
}
})
t.Run("not existing filename", func(t *testing.T) {
c := NewSettings()
c.Theme = "lavendel"
c.Language = "german"
assert.Equal(t, "lavendel", c.Theme)
assert.Equal(t, "german", c.Language)
if err := c.Save("testdata/configEmpty123.yml"); err != nil {
t.Fatal(err)
}
if err := os.Remove("testdata/configEmpty123.yml"); err != nil {
t.Fatal(err)
}
})
}