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())
 | |
| 
 | 
