1
0
Fork 0
mirror of https://codeberg.org/forgejo/forgejo.git synced 2025-07-19 17:49:39 +02:00

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 <earl-warren@noreply.codeberg.org>
Co-authored-by: 0ko <0ko@noreply.codeberg.org>
Co-committed-by: 0ko <0ko@noreply.codeberg.org>
This commit is contained in:
0ko 2025-07-18 13:13:45 +02:00 committed by Gusted
parent c9949fbc64
commit 6e9b97e377
2 changed files with 14 additions and 3 deletions

View file

@ -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)

View file

@ -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)