def test_topic_tracker_needs_update_cleared(database, user, topic): """Tests if the topicsread needs an update if the forum has been marked as cleared. """ forumsread = ForumsRead.query.\ filter(ForumsRead.user_id == user.id, ForumsRead.forum_id == topic.forum_id).first() topicsread = TopicsRead.query.\ filter(TopicsRead.user_id == user.id, TopicsRead.topic_id == topic.id).first() with current_app.test_request_context(): assert topic.tracker_needs_update(forumsread, topicsread) # Update the tracker forumsread = ForumsRead() forumsread.user_id = user.id forumsread.forum_id = topic.forum_id forumsread.last_read = datetime.utcnow() forumsread.cleared = datetime.utcnow() forumsread.save() # Now the topic should be read assert not topic.tracker_needs_update(forumsread, topicsread)
def test_topic_tracker_needs_update_cleared(database, user, topic): """Tests if the topicsread needs an update if the forum has been marked as cleared. """ forumsread = ForumsRead.query.\ filter(ForumsRead.user_id == user.id, ForumsRead.forum_id == topic.forum_id).first() topicsread = TopicsRead.query.\ filter(TopicsRead.user_id == user.id, TopicsRead.topic_id == topic.id).first() with current_app.test_request_context(): assert topic.tracker_needs_update(forumsread, topicsread) # Update the tracker forumsread = ForumsRead() forumsread.user_id = user.id forumsread.forum_id = topic.forum_id forumsread.last_read = datetime.utcnow() forumsread.cleared = datetime.utcnow() forumsread.save() # Now the topic should be read assert not topic.tracker_needs_update(forumsread, topicsread)
def forumsread(user, forum, forumsread_last_read): """Create a forumsread object for the user and a forum.""" forumsread = ForumsRead() forumsread.user_id = user.id forumsread.forum_id = forum.id forumsread.last_read = forumsread_last_read forumsread.save() return forumsread
def forumsread(user, forum, last_read): """Create a forumsread object for the user and a forum.""" forumsread = ForumsRead() forumsread.user_id = user.id forumsread.forum_id = forum.id forumsread.last_read = last_read forumsread.save() return forumsread
def test_forumsread(topic, user): """Tests if the forumsread tracker can be saved/edited and deleted with the implemented save and delete methods.""" forumsread = ForumsRead() forumsread.user_id = user.id forumsread.forum_id = topic.forum_id forumsread.last_read = datetime.utcnow() forumsread.save() assert forumsread is not None forumsread.delete() forumsread = ForumsRead.query.filter_by(forum_id=forumsread.forum_id).first() assert forumsread is None
def test_topic_tracker_needs_update(database, user, topic): """Tests if the topicsread tracker needs an update if a new post has been submitted. """ forumsread = ForumsRead.query.\ filter(ForumsRead.user_id == user.id, ForumsRead.forum_id == topic.forum_id).first() topicsread = TopicsRead.query.\ filter(TopicsRead.user_id == user.id, TopicsRead.topic_id == topic.id).first() with current_app.test_request_context(): assert topic.tracker_needs_update(forumsread, topicsread) # Update the tracker topicsread = TopicsRead() topicsread.user_id = user.id topicsread.topic_id = topic.id topicsread.forum_id = topic.forum_id topicsread.last_read = datetime.utcnow() topicsread.save() forumsread = ForumsRead() forumsread.user_id = user.id forumsread.forum_id = topic.forum_id forumsread.last_read = datetime.utcnow() forumsread.save() # Now the topic should be read assert not topic.tracker_needs_update(forumsread, topicsread) post = Post(content="Test Content") post.save(topic=topic, user=user) assert topic.tracker_needs_update(forumsread, topicsread)
def test_topic_tracker_needs_update(database, user, topic): """Tests if the topicsread tracker needs an update if a new post has been submitted. """ forumsread = ForumsRead.query.\ filter(ForumsRead.user_id == user.id, ForumsRead.forum_id == topic.forum_id).first() topicsread = TopicsRead.query.\ filter(TopicsRead.user_id == user.id, TopicsRead.topic_id == topic.id).first() with current_app.test_request_context(): assert topic.tracker_needs_update(forumsread, topicsread) # Update the tracker topicsread = TopicsRead() topicsread.user_id = user.id topicsread.topic_id = topic.id topicsread.forum_id = topic.forum_id topicsread.last_read = datetime.utcnow() topicsread.save() forumsread = ForumsRead() forumsread.user_id = user.id forumsread.forum_id = topic.forum_id forumsread.last_read = datetime.utcnow() forumsread.save() # Now the topic should be read assert not topic.tracker_needs_update(forumsread, topicsread) post = Post(content="Test Content") post.save(topic=topic, user=user) assert topic.tracker_needs_update(forumsread, topicsread)