mirror of
https://gitlab.archlinux.org/archlinux/aurweb.git
synced 2025-02-03 10:43:03 +01:00
fix: send notifications when users submit comments
Closes #278 Signed-off-by: Kevin Morris <kevr@0cost.org>
This commit is contained in:
parent
a2e993119e
commit
50b726d739
2 changed files with 12 additions and 0 deletions
|
@ -187,6 +187,9 @@ async def pkgbase_comments_post(
|
||||||
PackageBase=pkgbase)
|
PackageBase=pkgbase)
|
||||||
update_comment_render_fastapi(comment)
|
update_comment_render_fastapi(comment)
|
||||||
|
|
||||||
|
notif = notify.CommentNotification(request.user.ID, pkgbase.ID, comment.ID)
|
||||||
|
notif.send()
|
||||||
|
|
||||||
# Redirect to the pkgbase page.
|
# Redirect to the pkgbase page.
|
||||||
return RedirectResponse(f"/pkgbase/{pkgbase.Name}#comment-{comment.ID}",
|
return RedirectResponse(f"/pkgbase/{pkgbase.Name}#comment-{comment.ID}",
|
||||||
status_code=HTTPStatus.SEE_OTHER)
|
status_code=HTTPStatus.SEE_OTHER)
|
||||||
|
|
|
@ -370,6 +370,12 @@ def test_pkgbase_comments(client: TestClient, maintainer: User, user: User,
|
||||||
- GET /pkgbase/{name}/comments/{id}/form
|
- GET /pkgbase/{name}/comments/{id}/form
|
||||||
- Tested against a comment created with the POST route
|
- Tested against a comment created with the POST route
|
||||||
"""
|
"""
|
||||||
|
with db.begin():
|
||||||
|
user.CommentNotify = 1
|
||||||
|
db.create(PackageNotification,
|
||||||
|
PackageBase=package.PackageBase,
|
||||||
|
User=user)
|
||||||
|
|
||||||
cookies = {"AURSID": maintainer.login(Request(), "testPassword")}
|
cookies = {"AURSID": maintainer.login(Request(), "testPassword")}
|
||||||
pkgbasename = package.PackageBase.Name
|
pkgbasename = package.PackageBase.Name
|
||||||
endpoint = f"/pkgbase/{pkgbasename}/comments"
|
endpoint = f"/pkgbase/{pkgbasename}/comments"
|
||||||
|
@ -380,6 +386,9 @@ def test_pkgbase_comments(client: TestClient, maintainer: User, user: User,
|
||||||
}, cookies=cookies)
|
}, cookies=cookies)
|
||||||
assert resp.status_code == int(HTTPStatus.SEE_OTHER)
|
assert resp.status_code == int(HTTPStatus.SEE_OTHER)
|
||||||
|
|
||||||
|
# user should've gotten a CommentNotification email.
|
||||||
|
assert Email.count() == 1
|
||||||
|
|
||||||
expected_prefix = f"/pkgbase/{pkgbasename}"
|
expected_prefix = f"/pkgbase/{pkgbasename}"
|
||||||
prefix_len = len(expected_prefix)
|
prefix_len = len(expected_prefix)
|
||||||
assert resp.headers.get("location")[:prefix_len] == expected_prefix
|
assert resp.headers.get("location")[:prefix_len] == expected_prefix
|
||||||
|
|
Loading…
Add table
Reference in a new issue