You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
cloudreve/pkg/serializer/setting_test.go

38 lines
1.0 KiB

package serializer
import (
model "github.com/HFO4/cloudreve/models"
"github.com/jinzhu/gorm"
"github.com/stretchr/testify/assert"
"testing"
)
func TestCheckSettingValue(t *testing.T) {
asserts := assert.New(t)
asserts.Equal("", checkSettingValue(map[string]string{}, "key"))
asserts.Equal("123", checkSettingValue(map[string]string{"key": "123"}, "key"))
}
func TestBuildSiteConfig(t *testing.T) {
asserts := assert.New(t)
res := BuildSiteConfig(map[string]string{"not exist": ""}, nil)
asserts.Equal("", res.Data.(SiteConfig).SiteName)
res = BuildSiteConfig(map[string]string{"siteName": "123"}, nil)
asserts.Equal("123", res.Data.(SiteConfig).SiteName)
res = BuildSiteConfig(map[string]string{"qq_login": "1"}, nil)
asserts.Equal(true, res.Data.(SiteConfig).QQLogin)
asserts.Equal(uint(0), res.Data.(SiteConfig).User.ID)
// 非空用户
res = BuildSiteConfig(map[string]string{"qq_login": "1"}, &model.User{
Model: gorm.Model{
ID: 5,
},
})
asserts.Equal(uint(5), res.Data.(SiteConfig).User.ID)
}