fix: enable allowSetBg in be

This commit is contained in:
hexxa 2022-04-09 15:21:41 +08:00 committed by Hexxa
parent 503bafb604
commit 1694e9026b
8 changed files with 99 additions and 29 deletions

View file

@ -129,6 +129,8 @@ func DefaultConfigStruct() *Config {
Align: "fixed",
BgColor: "#ccc",
},
AllowSetBg: false,
AutoTheme: true,
},
},
Db: &DbConfig{

View file

@ -751,7 +751,7 @@ func TestPermissions(t *testing.T) {
assertResp(t, resp, errs, expectedCodes["GetClientCfg"], fmt.Sprintf("%s-%s", desc, "GetClientCfg"))
clientCfg := gccResp
clientCfg.SiteName = "new site name"
clientCfg.ClientCfg.SiteName = "new site name"
resp, _, errs = settingsCl.SetClientCfg(clientCfg, token)
assertResp(t, resp, errs, expectedCodes["SetClientCfg"], fmt.Sprintf("%s-%s", desc, "SetClientCfg"))

View file

@ -90,9 +90,8 @@ func TestSettingsHandlers(t *testing.T) {
for _, cfg := range cfgs {
clientCfgMsg := &settings.ClientCfgMsg{
SiteName: cfg.SiteName,
SiteDesc: cfg.SiteDesc,
Bg: cfg.Bg,
ClientCfg: cfg,
CaptchaEnabled: false,
}
resp, _, errs := settingsCl.SetClientCfg(clientCfgMsg, adminToken)
if len(errs) > 0 {
@ -108,13 +107,7 @@ func TestSettingsHandlers(t *testing.T) {
t.Fatal(resp.StatusCode)
}
cfgEqual := func(cfg1, cfg2 *settings.ClientCfgMsg) bool {
return cfg1.SiteName == cfg2.SiteName &&
cfg1.SiteDesc == cfg2.SiteDesc &&
reflect.DeepEqual(cfg1.Bg, cfg2.Bg)
}
if !cfgEqual(clientCfgMsg, clientCfgMsgGot) {
if !reflect.DeepEqual(clientCfgMsg, clientCfgMsgGot) {
t.Fatalf("client cfgs are not equal: got(%v) expected(%v)", clientCfgMsg, clientCfgMsgGot)
}
@ -134,7 +127,7 @@ func TestSettingsHandlers(t *testing.T) {
t.Fatal(resp.StatusCode)
}
if !cfgEqual(clientCfgMsg, clientCfgMsgGot) {
if !reflect.DeepEqual(clientCfgMsg, clientCfgMsgGot) {
t.Fatalf("client cfgs are not equal: got(%v) expected(%v)", clientCfgMsg, clientCfgMsgGot)
}
}

View file

@ -10,6 +10,7 @@ import (
"github.com/ihexxa/quickshare/src/client"
"github.com/ihexxa/quickshare/src/db"
q "github.com/ihexxa/quickshare/src/handlers"
"github.com/ihexxa/quickshare/src/handlers/settings"
su "github.com/ihexxa/quickshare/src/handlers/singleuserhdr"
)
@ -44,6 +45,21 @@ func TestUsersHandlers(t *testing.T) {
},
"db": {
"dbPath": "tmpTestData/quickshare"
},
"site": {
"clientCfg": {
"siteName": "Quickshare",
"siteDesc": "Quick and simple file sharing",
"bg": {
"url": "/static/img/textured_paper.png",
"repeat": "repeat",
"position": "center",
"align": "fixed",
"bgColor": "#ccc"
},
"allowSetBg": true,
"autoTheme": true
}
}
}`
adminName := "qs"
@ -57,6 +73,7 @@ func TestUsersHandlers(t *testing.T) {
fs := srv.depsFS()
usersCl := client.NewSingleUserClient(addr)
settingsCl := client.NewSettingsClient(addr)
if !isServerReady(addr) {
t.Fatal("fail to start server")
@ -433,7 +450,7 @@ func TestUsersHandlers(t *testing.T) {
}
})
t.Run("Login,SetPreferences, Self, Logout", func(t *testing.T) {
t.Run("Login, SetPreferences, Self, Logout", func(t *testing.T) {
usersCl := client.NewSingleUserClient(addr)
resp, _, errs := usersCl.Login(adminName, adminNewPwd)
if len(errs) > 0 {
@ -445,7 +462,7 @@ func TestUsersHandlers(t *testing.T) {
token := client.GetCookie(resp.Cookies(), su.TokenCookie)
prefers := []*db.Preferences{
&db.Preferences{
{
Bg: &db.BgConfig{
Url: "/bgurl",
Repeat: "no-repeat",
@ -460,7 +477,7 @@ func TestUsersHandlers(t *testing.T) {
Lan: "en_US",
Theme: "light",
},
&db.Preferences{
{
Bg: &db.BgConfig{
Url: "/bgurl2",
Repeat: "repeat",
@ -490,6 +507,50 @@ func TestUsersHandlers(t *testing.T) {
} else if resp.StatusCode != 200 {
t.Fatal(resp.StatusCode)
} else if !reflect.DeepEqual(selfResp.Preferences, prefer) {
fmt.Printf("\n%+v\n%+v\n", selfResp.Preferences, selfResp.Preferences.Bg)
fmt.Printf("\n%+v\n%+v\n", prefer, prefer.Bg)
t.Fatal("preference not equal")
}
}
// disable setting bg in preferences
resp, _, errs = settingsCl.SetClientCfg(&settings.ClientCfgMsg{
ClientCfg: &db.ClientConfig{
SiteName: "Quickshare",
SiteDesc: "Quick and simple file sharing",
Bg: db.DefaultBgConfig,
AllowSetBg: false,
AutoTheme: true,
},
CaptchaEnabled: false,
},
token,
)
if len(errs) > 0 {
t.Fatal(errs)
} else if resp.StatusCode != 200 {
t.Fatal(resp.StatusCode)
}
for _, prefer := range prefers {
resp, _, errs := usersCl.SetPreferences(prefer, token)
if len(errs) > 0 {
t.Fatal(errs)
} else if resp.StatusCode != 200 {
t.Fatal(resp.StatusCode)
}
resp, selfResp, errs := usersCl.Self(token)
if len(errs) > 0 {
t.Fatal(errs)
} else if resp.StatusCode != 200 {
t.Fatal(resp.StatusCode)
}
prefer.Bg = db.DefaultPreferences.Bg
if !reflect.DeepEqual(selfResp.Preferences, prefer) {
fmt.Printf("\n%+v\n%+v\n", selfResp.Preferences, selfResp.Preferences.Bg)
fmt.Printf("\n%+v\n%+v\n", prefer, prefer.Bg)
t.Fatal("preference not equal")
}
}

Binary file not shown.