Add test for settings.go

This commit is contained in:
Theresa Gresch 2019-12-17 19:29:43 +01:00
parent 2658767d72
commit 10f3c11c61
3 changed files with 65 additions and 0 deletions

View file

@ -0,0 +1,61 @@
package config
import (
"testing"
"github.com/stretchr/testify/assert"
)
func TestNewSettings(t *testing.T) {
c := NewSettings()
assert.IsType(t, new(Settings), c)
}
func TestSettings_SetValuesFromFile(t *testing.T) {
t.Run("existing filename", func(t *testing.T) {
c := NewSettings()
err := c.SetValuesFromFile("testdata/config.yml")
assert.Nil(t, 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.SetValuesFromFile("testdata/config123.yml")
assert.Error(t, err)
assert.Equal(t, "", c.Theme)
assert.Equal(t, "", c.Language)
})
}
func TestSettings_WriteValuesToFile(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)
err := c.WriteValuesToFile("testdata/configEmpty.yml")
assert.Nil(t, 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)
err := c.WriteValuesToFile("testdata/configEmpty123.yml")
assert.Error(t, err)
})
}

View file

@ -14,3 +14,5 @@ http-port: 81
http-password:
database-driver: internal
database-dsn: root:photoprism@tcp(localhost:4000)/photoprism?parseTime=true
theme: lavendel
language: english

View file

@ -0,0 +1,2 @@
theme: lavendel
language: german