diff --git a/aurweb/routers/pkgbase.py b/aurweb/routers/pkgbase.py index 23651350..cd35a7f8 100644 --- a/aurweb/routers/pkgbase.py +++ b/aurweb/routers/pkgbase.py @@ -187,6 +187,9 @@ async def pkgbase_comments_post( PackageBase=pkgbase) update_comment_render_fastapi(comment) + notif = notify.CommentNotification(request.user.ID, pkgbase.ID, comment.ID) + notif.send() + # Redirect to the pkgbase page. return RedirectResponse(f"/pkgbase/{pkgbase.Name}#comment-{comment.ID}", status_code=HTTPStatus.SEE_OTHER) diff --git a/test/test_pkgbase_routes.py b/test/test_pkgbase_routes.py index 1bd3e524..03b55063 100644 --- a/test/test_pkgbase_routes.py +++ b/test/test_pkgbase_routes.py @@ -370,6 +370,12 @@ def test_pkgbase_comments(client: TestClient, maintainer: User, user: User, - GET /pkgbase/{name}/comments/{id}/form - 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")} pkgbasename = package.PackageBase.Name endpoint = f"/pkgbase/{pkgbasename}/comments" @@ -380,6 +386,9 @@ def test_pkgbase_comments(client: TestClient, maintainer: User, user: User, }, cookies=cookies) assert resp.status_code == int(HTTPStatus.SEE_OTHER) + # user should've gotten a CommentNotification email. + assert Email.count() == 1 + expected_prefix = f"/pkgbase/{pkgbasename}" prefix_len = len(expected_prefix) assert resp.headers.get("location")[:prefix_len] == expected_prefix