2019-12-17 18:29:43 +00:00
|
|
|
package config
|
|
|
|
|
|
|
|
import (
|
2020-03-31 16:56:52 +00:00
|
|
|
"os"
|
2019-12-17 18:29:43 +00:00
|
|
|
"testing"
|
|
|
|
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
|
|
)
|
|
|
|
|
|
|
|
func TestNewSettings(t *testing.T) {
|
2021-12-12 21:09:22 +00:00
|
|
|
c := NewSettings(TestConfig())
|
2020-09-06 12:18:40 +00:00
|
|
|
|
2019-12-17 18:29:43 +00:00
|
|
|
assert.IsType(t, new(Settings), c)
|
|
|
|
}
|
|
|
|
|
2020-03-28 20:44:30 +00:00
|
|
|
func TestSettings_Load(t *testing.T) {
|
2019-12-17 18:29:43 +00:00
|
|
|
t.Run("existing filename", func(t *testing.T) {
|
2021-12-12 21:09:22 +00:00
|
|
|
c := NewSettings(TestConfig())
|
2019-12-17 18:29:43 +00:00
|
|
|
|
2020-12-13 13:53:26 +00:00
|
|
|
if err := c.Load("testdata/settings.yml"); err != nil {
|
2020-09-06 12:18:40 +00:00
|
|
|
t.Fatal(err)
|
|
|
|
}
|
2019-12-17 18:29:43 +00:00
|
|
|
|
2020-12-13 13:53:26 +00:00
|
|
|
assert.Equal(t, "onyx", c.UI.Theme)
|
|
|
|
assert.Equal(t, "de", c.UI.Language)
|
2019-12-17 18:29:43 +00:00
|
|
|
})
|
|
|
|
t.Run("not existing filename", func(t *testing.T) {
|
2021-12-12 21:09:22 +00:00
|
|
|
c := NewSettings(TestConfig())
|
2019-12-17 18:29:43 +00:00
|
|
|
|
2020-12-13 13:53:26 +00:00
|
|
|
err := c.Load("testdata/settings_123.yml")
|
2019-12-17 18:29:43 +00:00
|
|
|
|
|
|
|
assert.Error(t, err)
|
|
|
|
|
2020-12-13 13:53:26 +00:00
|
|
|
assert.Equal(t, "default", c.UI.Theme)
|
|
|
|
assert.Equal(t, "en", c.UI.Language)
|
2019-12-17 18:29:43 +00:00
|
|
|
})
|
|
|
|
}
|
2020-03-28 20:44:30 +00:00
|
|
|
func TestSettings_Save(t *testing.T) {
|
2019-12-17 18:29:43 +00:00
|
|
|
t.Run("existing filename", func(t *testing.T) {
|
2021-12-12 21:09:22 +00:00
|
|
|
c := NewSettings(TestConfig())
|
2019-12-17 18:29:43 +00:00
|
|
|
|
2020-12-13 13:53:26 +00:00
|
|
|
assert.Equal(t, "default", c.UI.Theme)
|
|
|
|
assert.Equal(t, "en", c.UI.Language)
|
2019-12-17 18:29:43 +00:00
|
|
|
|
2020-12-13 13:53:26 +00:00
|
|
|
c.UI.Theme = "onyx"
|
|
|
|
c.UI.Language = "de"
|
|
|
|
|
|
|
|
assert.Equal(t, "onyx", c.UI.Theme)
|
|
|
|
assert.Equal(t, "de", c.UI.Language)
|
|
|
|
|
|
|
|
if err := c.Save("testdata/settings.yml"); err != nil {
|
2020-09-06 12:18:40 +00:00
|
|
|
t.Fatal(err)
|
|
|
|
}
|
2019-12-17 18:29:43 +00:00
|
|
|
})
|
|
|
|
t.Run("not existing filename", func(t *testing.T) {
|
2021-12-12 21:09:22 +00:00
|
|
|
c := NewSettings(TestConfig())
|
2020-12-13 13:53:26 +00:00
|
|
|
c.UI.Theme = "onyx"
|
|
|
|
c.UI.Language = "de"
|
2019-12-17 18:29:43 +00:00
|
|
|
|
2020-12-13 13:53:26 +00:00
|
|
|
assert.Equal(t, "onyx", c.UI.Theme)
|
|
|
|
assert.Equal(t, "de", c.UI.Language)
|
2019-12-17 18:29:43 +00:00
|
|
|
|
2020-12-13 13:53:26 +00:00
|
|
|
if err := c.Save("testdata/settings_tmp.yml"); err != nil {
|
2020-03-31 16:56:52 +00:00
|
|
|
t.Fatal(err)
|
|
|
|
}
|
|
|
|
|
2020-12-13 13:53:26 +00:00
|
|
|
if err := os.Remove("testdata/settings_tmp.yml"); err != nil {
|
2020-03-31 16:56:52 +00:00
|
|
|
t.Fatal(err)
|
|
|
|
}
|
2019-12-17 18:29:43 +00:00
|
|
|
})
|
|
|
|
}
|
2021-02-18 10:41:51 +00:00
|
|
|
|
|
|
|
func TestSettings_Stacks(t *testing.T) {
|
2021-12-12 21:09:22 +00:00
|
|
|
c := NewSettings(TestConfig())
|
2021-02-18 10:41:51 +00:00
|
|
|
assert.False(t, c.StackSequences())
|
|
|
|
assert.True(t, c.StackUUID())
|
|
|
|
assert.True(t, c.StackMeta())
|
|
|
|
}
|
|
|
|
|
|
|
|
func TestConfig_Settings(t *testing.T) {
|
|
|
|
c := TestConfig()
|
|
|
|
c.options.DisablePlaces = true
|
|
|
|
r := c.Settings()
|
|
|
|
assert.False(t, r.Features.Places)
|
|
|
|
}
|