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 assert forum_is_unread(forum, None, user) == True assert forum_is_unread(forum, forumsread, user) == True topic.delete() assert forum_is_unread(forum, None, user) == False
def test_forum_is_unread(guest, user, forum, topic, forumsread): """Test the forum is unread function.""" # for a guest assert not forum_is_unread(None, None, guest) # for a logged in user without a forumsread assert forum_is_unread(forum, None, user) # same, just with forumsread assert forum_is_unread(forum, forumsread, user) # lets mark the forum as read # but before we have to add an read entry in forumsread and topicsread topic.update_read(user, topic.forum, forumsread) time_read = datetime.datetime.utcnow() - datetime.timedelta(hours=1) forumsread.cleared = time_read # lets cheat here a bit :P forumsread.last_read = datetime.datetime.utcnow() forumsread.save() assert not forum_is_unread(forum, forumsread, user) # read tracker is disabled flaskbb_config["TRACKER_LENGTH"] = 0 assert not forum_is_unread(forum, forumsread, user) # no topics in this forum topic.delete() forum = Forum.query.filter_by(id=forum.id).first() flaskbb_config["TRACKER_LENGTH"] = 1 # activate the tracker again assert forum.topic_count == 0 assert not forum_is_unread(forum, None, user)