unit test dao
This commit is contained in:
parent
743c88f98b
commit
bcc7a8d6b7
2 changed files with 57 additions and 1 deletions
|
@ -35,7 +35,7 @@ def find_published_comments_by_url(url):
|
|||
def count_published_comments(url):
|
||||
return Comment.select(Comment).where(
|
||||
(Comment.url == url) & (Comment.published.is_null(False))).count() if url else Comment.select(Comment).where(
|
||||
Comment.publishd.is_null(False)).count()
|
||||
Comment.published.is_null(False)).count()
|
||||
|
||||
|
||||
def create_comment(url, author_name, author_site, author_gravatar, message):
|
||||
|
@ -51,3 +51,4 @@ def create_comment(url, author_name, author_site, author_gravatar, message):
|
|||
published=None,
|
||||
)
|
||||
comment.save()
|
||||
return comment
|
||||
|
|
55
tests/test_db.py
Normal file
55
tests/test_db.py
Normal file
|
@ -0,0 +1,55 @@
|
|||
import unittest
|
||||
|
||||
from stacosys.db import dao
|
||||
from stacosys.db import database
|
||||
|
||||
|
||||
class DbTestCase(unittest.TestCase):
|
||||
|
||||
def setUp(self):
|
||||
db = database.Database()
|
||||
db.setup(":memory:")
|
||||
|
||||
def test_dao_published(self):
|
||||
|
||||
# test count published
|
||||
self.assertEqual(0, dao.count_published_comments(""))
|
||||
c1 = dao.create_comment("/post1", "Yax", "", "", "Comment 1")
|
||||
self.assertEqual(0, dao.count_published_comments(""))
|
||||
dao.publish_comment(c1)
|
||||
self.assertEqual(1, dao.count_published_comments(""))
|
||||
c2 = dao.create_comment("/post2", "Yax", "", "", "Comment 2")
|
||||
dao.publish_comment(c2)
|
||||
self.assertEqual(2, dao.count_published_comments(""))
|
||||
c3 = dao.create_comment("/post2", "Yax", "", "", "Comment 3")
|
||||
dao.publish_comment(c3)
|
||||
self.assertEqual(1, dao.count_published_comments("/post1"))
|
||||
self.assertEqual(2, dao.count_published_comments("/post2"))
|
||||
|
||||
# test find published
|
||||
self.assertEqual(0, len(dao.find_published_comments_by_url("/")))
|
||||
self.assertEqual(1, len(dao.find_published_comments_by_url("/post1")))
|
||||
self.assertEqual(2, len(dao.find_published_comments_by_url("/post2")))
|
||||
|
||||
dao.delete_comment(c1)
|
||||
self.assertEqual(0, len(dao.find_published_comments_by_url("/post1")))
|
||||
|
||||
def test_dao_notified(self):
|
||||
|
||||
# test count notified
|
||||
self.assertEqual(0, len(dao.find_not_notified_comments()))
|
||||
c1 = dao.create_comment("/post1", "Yax", "", "", "Comment 1")
|
||||
self.assertEqual(1, len(dao.find_not_notified_comments()))
|
||||
c2 = dao.create_comment("/post2", "Yax", "", "", "Comment 2")
|
||||
self.assertEqual(2, len(dao.find_not_notified_comments()))
|
||||
dao.notify_comment(c1)
|
||||
dao.notify_comment(c2)
|
||||
self.assertEqual(0, len(dao.find_not_notified_comments()))
|
||||
c3 = dao.create_comment("/post2", "Yax", "", "", "Comment 3")
|
||||
self.assertEqual(1, len(dao.find_not_notified_comments()))
|
||||
dao.notify_comment(c3)
|
||||
self.assertEqual(0, len(dao.find_not_notified_comments()))
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
Loading…
Add table
Reference in a new issue