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:
0
tests/__init__.py
Normal file
0
tests/__init__.py
Normal file
16
tests/test_boards.py
Normal file
16
tests/test_boards.py
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
from django.test import TestCase
|
||||||
|
from django.urls import reverse
|
||||||
|
from board.models import Board, Post
|
||||||
|
|
||||||
|
|
||||||
|
class RedirectTestCase(TestCase):
|
||||||
|
def setUp(self):
|
||||||
|
Board.objects.create(url="test", name="test")
|
||||||
|
|
||||||
|
def test_bare_url_redirect(self):
|
||||||
|
response = self.client.get(
|
||||||
|
reverse("board:board_detail", kwargs={"url": "test"})
|
||||||
|
)
|
||||||
|
self.assertRedirects(
|
||||||
|
response, reverse("board:board_detail", kwargs={"url": "test", "page": 1})
|
||||||
|
)
|
||||||
65
tests/test_posts.py
Normal file
65
tests/test_posts.py
Normal 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]
|
||||||
|
)
|
||||||
Reference in New Issue
Block a user