def test_post_count(): d = M.Discussion(shortname='test', name='test') t = M.Thread(discussion_id=d._id, subject='Test Thread') p1 = M.Post(discussion_id=d._id, thread_id=t._id, status='spam') p2 = M.Post(discussion_id=d._id, thread_id=t._id, status='ok') p3 = M.Post(discussion_id=d._id, thread_id=t._id, status='pending') ThreadLocalORMSession.flush_all() assert_equal(t.post_count, 2)
def test_spam_num_replies(spam_checker): d = M.Discussion(shortname='test', name='test') t = M.Thread(discussion_id=d._id, subject='Test Thread', num_replies=2) M.Post(discussion_id=d._id, thread_id=t._id, status='ok') ThreadLocalORMSession.flush_all() p1 = M.Post(discussion_id=d._id, thread_id=t._id, status='spam') p1.spam() assert_equal(t.num_replies, 1)
def test_is_spam(self, spam_checker): spam_checker.check.return_value = True c.user = M.User.query.get(username="******") role = M.ProjectRole(project_id=c.project._id, name='TestRole') M.ProjectRole.by_user(c.user, upsert=True).roles.append(role._id) ThreadLocalORMSession.flush_all() t = M.Thread() p = M.Post(thread=t) assert_in('TestRole', [r.name for r in c.project.named_roles]) assert_false(t.is_spam(p))
def test_deleted_thread_index(): d = M.Discussion(shortname='test', name='test') t = M.Thread(discussion_id=d._id, subject='Test Thread') p = M.Post(discussion_id=d._id, thread_id=t._id, status='ok') t.delete() ThreadLocalORMSession.flush_all() # re-query, so relationships get reloaded ThreadLocalORMSession.close_all() p = M.Post.query.get(_id=p._id) # just make sure this doesn't fail p.index()
def setUp(self): self.md = ForgeMarkdown() self.post = M.Post() self.post.text = u'**bold**' self.expected_html = u'<p><strong>bold</strong></p>'