53 lines
1.8 KiB
Python
53 lines
1.8 KiB
Python
#!/usr/bin/python
|
|
# -*- coding: UTF-8 -*-
|
|
|
|
import pytest
|
|
|
|
from stacosys.db import dao
|
|
from stacosys.db import database
|
|
|
|
@pytest.fixture
|
|
def setup_db():
|
|
database.configure("sqlite:memory://db.sqlite")
|
|
|
|
|
|
def test_dao_published(setup_db):
|
|
|
|
# test count published
|
|
assert 0 == dao.count_published_comments("")
|
|
c1 = dao.create_comment("/post1", "Yax", "", "", "Comment 1")
|
|
assert 0 == dao.count_published_comments("")
|
|
dao.publish_comment(c1)
|
|
assert 1 == dao.count_published_comments("")
|
|
c2 = dao.create_comment("/post2", "Yax", "", "", "Comment 2")
|
|
dao.publish_comment(c2)
|
|
assert 2 == dao.count_published_comments("")
|
|
c3 = dao.create_comment("/post2", "Yax", "", "", "Comment 3")
|
|
dao.publish_comment(c3)
|
|
assert 1 == dao.count_published_comments("/post1")
|
|
assert 2 == dao.count_published_comments("/post2")
|
|
|
|
# test find published
|
|
assert 0 == len(dao.find_published_comments_by_url("/"))
|
|
assert 1 == len(dao.find_published_comments_by_url("/post1"))
|
|
assert 2 == len(dao.find_published_comments_by_url("/post2"))
|
|
|
|
dao.delete_comment(c1)
|
|
assert 0 == len(dao.find_published_comments_by_url("/post1"))
|
|
|
|
def test_dao_notified(setup_db):
|
|
|
|
# test count notified
|
|
assert 0 == len(dao.find_not_notified_comments())
|
|
c1 = dao.create_comment("/post1", "Yax", "", "", "Comment 1")
|
|
assert 1 == len(dao.find_not_notified_comments())
|
|
c2 = dao.create_comment("/post2", "Yax", "", "", "Comment 2")
|
|
assert 2 == len(dao.find_not_notified_comments())
|
|
dao.notify_comment(c1)
|
|
dao.notify_comment(c2)
|
|
assert 0 == len(dao.find_not_notified_comments())
|
|
c3 = dao.create_comment("/post2", "Yax", "", "", "Comment 3")
|
|
assert 1 == len(dao.find_not_notified_comments())
|
|
dao.notify_comment(c3)
|
|
assert 0 == len(dao.find_not_notified_comments())
|
|
|