Add some tests for some of the more complicated behavior in the code

Signed-off-by: Alek Ratzloff <alekratz@gmail.com>
This commit is contained in:
2022-05-07 16:43:32 -07:00
parent 57b4657353
commit 3d0a92253e
3 changed files with 81 additions and 0 deletions

65
tests/test_posts.py Normal file
View File

@@ -0,0 +1,65 @@
from django.test import TestCase
from board.models import Board, Post
class BumpTestCase(TestCase):
def setUp(self):
Board.objects.create(url="test", name="test")
def test_bumping(self):
board = Board.objects.get(url="test")
self.assertEquals(board.threads.count(), 0)
post1 = Post.objects.create(board=board, text="test 1", ip="127.0.0.1")
post2 = Post.objects.create(board=board, text="test 2", ip="127.0.0.1")
post3 = Post.objects.create(board=board, text="test 3", ip="127.0.0.1")
post4 = Post.objects.create(board=board, text="test 4", ip="127.0.0.1")
self.assertEquals(
list(board.threads.order_by("-last_bump")), [post4, post3, post2, post1]
)
Post.objects.create(board=board, text="bump", ip="127.0.0.1", op=post3)
self.assertEquals(
list(board.threads.order_by("-last_bump")), [post3, post4, post2, post1]
)
Post.objects.create(board=board, text="bump", ip="127.0.0.1", op=post2)
self.assertEquals(
list(board.threads.order_by("-last_bump")), [post2, post3, post4, post1]
)
Post.objects.create(board=board, text="bump", ip="127.0.0.1", op=post1)
self.assertEquals(
list(board.threads.order_by("-last_bump")), [post1, post2, post3, post4]
)
def test_no_bumping(self):
board = Board.objects.get(url="test")
self.assertEquals(board.threads.count(), 0)
board = Board.objects.get(url="test")
self.assertEquals(board.threads.count(), 0)
post1 = Post.objects.create(board=board, text="test 1", ip="127.0.0.1")
post2 = Post.objects.create(board=board, text="test 2", ip="127.0.0.1")
post3 = Post.objects.create(board=board, text="test 3", ip="127.0.0.1")
post4 = Post.objects.create(board=board, text="test 4", ip="127.0.0.1")
self.assertEquals(
list(board.threads.order_by("-last_bump")), [post4, post3, post2, post1]
)
Post.objects.create(
board=board, text="bump", ip="127.0.0.1", op=post3, bump=False
)
self.assertEquals(
list(board.threads.order_by("-last_bump")), [post4, post3, post2, post1]
)
# thread that has been sunk
post2.bump = False
Post.objects.create(
board=board, text="bump", ip="127.0.0.1", op=post2, bump=True
)
self.assertEquals(
list(board.threads.order_by("-last_bump")), [post4, post3, post2, post1]
)