1
0
mirror of https://github.com/pocketbase/pocketbase.git synced 2024-11-28 18:11:17 +02:00

use param.Value when comparing with the refreshed settings state

This commit is contained in:
Gani Georgiev 2022-11-03 15:44:13 +02:00
parent 152f6a9d1f
commit cb6ffc1e7b
2 changed files with 6 additions and 11 deletions

View File

@ -391,11 +391,6 @@ func (app *BaseApp) RefreshSettings() error {
} }
} }
beforeMergeRaw, err := json.Marshal(newSettings)
if err != nil {
return err
}
if err := app.settings.Merge(newSettings); err != nil { if err := app.settings.Merge(newSettings); err != nil {
return err return err
} }
@ -409,7 +404,7 @@ func (app *BaseApp) RefreshSettings() error {
// save because previously the settings weren't stored encrypted // save because previously the settings weren't stored encrypted
(plainDecodeErr == nil && encryptionKey != "") || (plainDecodeErr == nil && encryptionKey != "") ||
// or save because there are new fields after the merge // or save because there are new fields after the merge
!bytes.Equal(beforeMergeRaw, afterMergeRaw) { !bytes.Equal(param.Value, afterMergeRaw) {
saveErr := app.Dao().SaveParam(models.ParamAppSettings, app.settings, encryptionKey) saveErr := app.Dao().SaveParam(models.ParamAppSettings, app.settings, encryptionKey)
if saveErr != nil { if saveErr != nil {
return saveErr return saveErr

View File

@ -23,7 +23,7 @@ func TestBaseAppRefreshSettings(t *testing.T) {
if err := app.RefreshSettings(); err != nil { if err := app.RefreshSettings(); err != nil {
t.Fatal("Failed to refresh the settings after delete") t.Fatal("Failed to refresh the settings after delete")
} }
testEvents(t, app, map[string]int{ testEventCalls(t, app, map[string]int{
"OnModelBeforeCreate": 1, "OnModelBeforeCreate": 1,
"OnModelAfterCreate": 1, "OnModelAfterCreate": 1,
}) })
@ -41,7 +41,7 @@ func TestBaseAppRefreshSettings(t *testing.T) {
if err := app.RefreshSettings(); err != nil { if err := app.RefreshSettings(); err != nil {
t.Fatalf("Failed to refresh the app settings: %v", err) t.Fatalf("Failed to refresh the app settings: %v", err)
} }
testEvents(t, app, map[string]int{ testEventCalls(t, app, map[string]int{
"OnModelBeforeUpdate": 1, "OnModelBeforeUpdate": 1,
"OnModelAfterUpdate": 1, "OnModelAfterUpdate": 1,
}) })
@ -52,7 +52,7 @@ func TestBaseAppRefreshSettings(t *testing.T) {
t.Fatalf("Failed to fetch new settings param: %v", err) t.Fatalf("Failed to fetch new settings param: %v", err)
} }
if bytes.Equal(param.Value, newParam.Value) { if bytes.Equal(param.Value, newParam.Value) {
t.Fatalf("Expected the changed refreshed and merged settings to be persisted, got: \n%v", string(newParam.Value)) t.Fatalf("Expected the new refreshed settings to be different, got: \n%v", string(newParam.Value))
} }
// try to refresh again and ensure that there was no db update // try to refresh again and ensure that there was no db update
@ -60,10 +60,10 @@ func TestBaseAppRefreshSettings(t *testing.T) {
if err := app.RefreshSettings(); err != nil { if err := app.RefreshSettings(); err != nil {
t.Fatalf("Failed to refresh the app settings without change: %v", err) t.Fatalf("Failed to refresh the app settings without change: %v", err)
} }
testEvents(t, app, nil) testEventCalls(t, app, nil)
} }
func testEvents(t *testing.T, app *tests.TestApp, events map[string]int) { func testEventCalls(t *testing.T, app *tests.TestApp, events map[string]int) {
if len(events) != len(app.EventCalls) { if len(events) != len(app.EventCalls) {
t.Fatalf("Expected events doesn't match: \n%v, \ngot \n%v", events, app.EventCalls) t.Fatalf("Expected events doesn't match: \n%v, \ngot \n%v", events, app.EventCalls)
} }