|
@@ -1,6 +1,8 @@
|
|
|
|
|
|
-from flask_login import login_user
|
|
|
+import datetime
|
|
|
from flaskbb.utils.helpers import slugify, forum_is_unread
|
|
|
+from flaskbb.utils.settings import flaskbb_config
|
|
|
+from flaskbb.forum.models import Forum
|
|
|
|
|
|
|
|
|
def test_slugify():
|
|
@@ -11,13 +13,34 @@ def test_slugify():
|
|
|
|
|
|
|
|
|
def test_forum_is_unread(guest, user, forum, topic, forumsread):
|
|
|
- """Test the forum is unread function for a a not logged in user."""
|
|
|
- assert forum_is_unread(None, None, guest) == False
|
|
|
+ """Test the forum is unread function."""
|
|
|
|
|
|
- assert forum_is_unread(forum, None, user) == True
|
|
|
+
|
|
|
+ assert not forum_is_unread(None, None, guest)
|
|
|
|
|
|
- assert forum_is_unread(forum, forumsread, user) == True
|
|
|
+
|
|
|
+ assert forum_is_unread(forum, None, user)
|
|
|
|
|
|
- topic.delete()
|
|
|
+
|
|
|
+ assert forum_is_unread(forum, forumsread, user)
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ topic.update_read(user, topic.forum, forumsread)
|
|
|
+
|
|
|
+ time_read = datetime.datetime.utcnow() - datetime.timedelta(hours=1)
|
|
|
+ forumsread.cleared = time_read
|
|
|
+ forumsread.last_read = datetime.datetime.utcnow()
|
|
|
+ forumsread.save()
|
|
|
+ assert not forum_is_unread(forum, forumsread, user)
|
|
|
|
|
|
- assert forum_is_unread(forum, None, user) == False
|
|
|
+
|
|
|
+ flaskbb_config["TRACKER_LENGTH"] = 0
|
|
|
+ assert not forum_is_unread(forum, forumsread, user)
|
|
|
+
|
|
|
+
|
|
|
+ topic.delete()
|
|
|
+ forum = Forum.query.filter_by(id=forum.id).first()
|
|
|
+ flaskbb_config["TRACKER_LENGTH"] = 1
|
|
|
+ assert forum.topic_count == 0
|
|
|
+ assert not forum_is_unread(forum, None, user)
|