Quiiz system

This commit is contained in:
2026-07-26 16:46:41 +02:00
parent 7f17d69f5c
commit 4780016980
192 changed files with 15031 additions and 566 deletions
+26
View File
@@ -123,3 +123,29 @@ def test_create_notification_honors_in_app_pref(bob):
assert notifications.find_one(user_uid=uid, message=delivered) is not None
finally:
reset_notification_prefs(uid)
def test_quiz_attempt_type_listed_in_prefs(bob):
_, user = bob
uid = _user_notification_prefs(user["username"])["uid"]
reset_notification_prefs(uid)
prefs = get_notification_prefs(uid)
assert any(pref["key"] == "quiz_attempt" for pref in prefs)
def test_create_notification_honors_quiz_attempt_pref(bob):
_, user = bob
uid = _user_notification_prefs(user["username"])["uid"]
notifications = get_table("notifications")
reset_notification_prefs(uid)
try:
set_notification_pref(uid, "quiz_attempt", "in_app", False)
suppressed = f"quiz suppressed {generate_uid()}"
create_notification(uid, "quiz_attempt", suppressed, uid, "/quizzes")
assert notifications.find_one(user_uid=uid, message=suppressed) is None
set_notification_pref(uid, "quiz_attempt", "in_app", True)
delivered = f"quiz delivered {generate_uid()}"
create_notification(uid, "quiz_attempt", delivered, uid, "/quizzes")
assert notifications.find_one(user_uid=uid, message=delivered) is not None
finally:
reset_notification_prefs(uid)