[MODERATION] Fix network error (squash)

- Fix network error toast messages on user actions such as follow and
unfollow. This happened because the javascript code now expects an JSON
to be returned, but this wasn't the case due to
cfa539e590127b4953b010fba3dea21c82a1714.
- The integration testing has been adjusted to instead test for the
returned flash cookie.
This commit is contained in:
Gusted 2023-08-27 14:29:18 +02:00
parent e0a91ac985
commit 112bc25e54
No known key found for this signature in database
GPG key ID: FD821B732837125F
2 changed files with 12 additions and 6 deletions

View file

@ -333,5 +333,5 @@ func Action(ctx *context.Context) {
}) })
return return
} }
ctx.RedirectToFirst(ctx.FormString("redirect_to"), ctx.ContextUser.HomeLink()) ctx.JSONOK()
} }

View file

@ -65,10 +65,8 @@ func TestBlockUser(t *testing.T) {
"_csrf": GetCSRF(t, session, "/"+blockedUser.Name), "_csrf": GetCSRF(t, session, "/"+blockedUser.Name),
"action": "unblock", "action": "unblock",
}) })
resp := session.MakeRequest(t, req, http.StatusSeeOther) session.MakeRequest(t, req, http.StatusOK)
loc := resp.Header().Get("Location")
assert.EqualValues(t, "/"+blockedUser.Name, loc)
unittest.AssertNotExistsBean(t, &user_model.BlockedUser{BlockID: blockedUser.ID, UserID: doer.ID}) unittest.AssertNotExistsBean(t, &user_model.BlockedUser{BlockID: blockedUser.ID, UserID: doer.ID})
}) })
@ -296,7 +294,11 @@ func TestBlockActions(t *testing.T) {
"_csrf": GetCSRF(t, session, "/"+blockedUser.Name), "_csrf": GetCSRF(t, session, "/"+blockedUser.Name),
"action": "follow", "action": "follow",
}) })
session.MakeRequest(t, req, http.StatusSeeOther) session.MakeRequest(t, req, http.StatusOK)
flashCookie := session.GetCookie(forgejo_context.CookieNameFlash)
assert.NotNil(t, flashCookie)
assert.EqualValues(t, "error%3DYou%2Bcannot%2Bfollow%2Bthis%2Buser%2Bbecause%2Byou%2Bhave%2Bblocked%2Bthis%2Buser%2Bor%2Bthis%2Buser%2Bhas%2Bblocked%2Byou.", flashCookie.Value)
// Assert it still doesn't exist. // Assert it still doesn't exist.
unittest.AssertNotExistsBean(t, &user_model.Follow{UserID: doer.ID, FollowID: blockedUser.ID}) unittest.AssertNotExistsBean(t, &user_model.Follow{UserID: doer.ID, FollowID: blockedUser.ID})
@ -312,7 +314,11 @@ func TestBlockActions(t *testing.T) {
"_csrf": GetCSRF(t, session, "/"+doer.Name), "_csrf": GetCSRF(t, session, "/"+doer.Name),
"action": "follow", "action": "follow",
}) })
session.MakeRequest(t, req, http.StatusSeeOther) session.MakeRequest(t, req, http.StatusOK)
flashCookie := session.GetCookie(forgejo_context.CookieNameFlash)
assert.NotNil(t, flashCookie)
assert.EqualValues(t, "error%3DYou%2Bcannot%2Bfollow%2Bthis%2Buser%2Bbecause%2Byou%2Bhave%2Bblocked%2Bthis%2Buser%2Bor%2Bthis%2Buser%2Bhas%2Bblocked%2Byou.", flashCookie.Value)
unittest.AssertNotExistsBean(t, &user_model.Follow{UserID: blockedUser.ID, FollowID: doer.ID}) unittest.AssertNotExistsBean(t, &user_model.Follow{UserID: blockedUser.ID, FollowID: doer.ID})
}) })