From 6e9b97e3776dc8fc73ffdeca879b95c46ed8be85 Mon Sep 17 00:00:00 2001 From: 0ko <0ko@noreply.codeberg.org> Date: Fri, 18 Jul 2025 13:13:45 +0200 Subject: [PATCH] fix(ui): prevent render failure on faulty org settings post (#8553) Fix regression of https://codeberg.org/forgejo/forgejo/pulls/7998 Same as https://codeberg.org/forgejo/forgejo/pulls/8236 but for orgs Amended existing tests to verify which error messages show up and not show up. Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/8553 Reviewed-by: Earl Warren Co-authored-by: 0ko <0ko@noreply.codeberg.org> Co-committed-by: 0ko <0ko@noreply.codeberg.org> --- routers/web/org/setting.go | 3 +++ tests/integration/org_settings_test.go | 14 +++++++++++--- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/routers/web/org/setting.go b/routers/web/org/setting.go index c83242754b..9b4e01597b 100644 --- a/routers/web/org/setting.go +++ b/routers/web/org/setting.go @@ -71,6 +71,9 @@ func SettingsPost(ctx *context.Context) { ctx.Data["PageIsSettingsOptions"] = true ctx.Data["CurrentVisibility"] = ctx.Org.Organization.Visibility ctx.Data["CooldownPeriod"] = setting.Service.UsernameCooldownPeriod + ctx.Data["MaxAvatarFileSize"] = setting.Avatar.MaxFileSize + ctx.Data["MaxAvatarWidth"] = setting.Avatar.MaxWidth + ctx.Data["MaxAvatarHeight"] = setting.Avatar.MaxHeight if ctx.HasError() { ctx.HTML(http.StatusOK, tplSettingsOptions) diff --git a/tests/integration/org_settings_test.go b/tests/integration/org_settings_test.go index fde57e2e26..3ea6f10bf6 100644 --- a/tests/integration/org_settings_test.go +++ b/tests/integration/org_settings_test.go @@ -57,7 +57,9 @@ func TestOrgSettingsChangeEmail(t *testing.T) { settings := getOrgSettingsFormData(t, session, orgName) settings["email"] = "invalid" - session.MakeRequest(t, NewRequestWithValues(t, "POST", settingsURL, settings), http.StatusOK) + doc := NewHTMLParser(t, session.MakeRequest(t, NewRequestWithValues(t, "POST", settingsURL, settings), http.StatusOK).Body) + doc.AssertElement(t, ".status-page-500", false) + doc.AssertElement(t, ".flash-error", true) org := getOrgSettings(t, token, orgName) assert.Equal(t, "org3@example.com", org.Email) @@ -69,7 +71,10 @@ func TestOrgSettingsChangeEmail(t *testing.T) { settings := getOrgSettingsFormData(t, session, orgName) settings["email"] = "example@example.com" - session.MakeRequest(t, NewRequestWithValues(t, "POST", settingsURL, settings), http.StatusSeeOther) + doc := NewHTMLParser(t, session.MakeRequest(t, NewRequestWithValues(t, "POST", settingsURL, settings), http.StatusSeeOther).Body) + doc.AssertElement(t, "body", true) + doc.AssertElement(t, ".status-page-500", false) + doc.AssertElement(t, ".flash-error", false) org := getOrgSettings(t, token, orgName) assert.Equal(t, "example@example.com", org.Email) @@ -81,7 +86,10 @@ func TestOrgSettingsChangeEmail(t *testing.T) { settings := getOrgSettingsFormData(t, session, orgName) settings["email"] = "" - session.MakeRequest(t, NewRequestWithValues(t, "POST", settingsURL, settings), http.StatusSeeOther) + doc := NewHTMLParser(t, session.MakeRequest(t, NewRequestWithValues(t, "POST", settingsURL, settings), http.StatusSeeOther).Body) + doc.AssertElement(t, "body", true) + doc.AssertElement(t, ".status-page-500", false) + doc.AssertElement(t, ".flash-error", false) org := getOrgSettings(t, token, orgName) assert.Empty(t, org.Email)