Skip to content

Commit cb52e60

Browse files
committed
Add tests for custom BumpedThread impl
1 parent a018061 commit cb52e60

File tree

1 file changed

+63
-0
lines changed

1 file changed

+63
-0
lines changed
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
from django.urls import reverse
2+
3+
from .base import AuthenticatedAPITestCase
4+
from ..models import BumpedThread
5+
6+
7+
class UnauthedBumpedThreadAPITests(AuthenticatedAPITestCase):
8+
def setUp(self):
9+
super().setUp()
10+
self.client.force_authenticate(user=None)
11+
12+
def test_detail_lookup_returns_401(self):
13+
url = reverse('api:bot:bumpedthread-detail', args=(1,))
14+
response = self.client.get(url)
15+
16+
self.assertEqual(response.status_code, 401)
17+
18+
def test_list_returns_401(self):
19+
url = reverse('api:bot:bumpedthread-list')
20+
response = self.client.get(url)
21+
22+
self.assertEqual(response.status_code, 401)
23+
24+
def test_create_returns_401(self):
25+
url = reverse('api:bot:bumpedthread-list')
26+
response = self.client.post(url, {"thread_id": 3})
27+
28+
self.assertEqual(response.status_code, 401)
29+
30+
def test_delete_returns_401(self):
31+
url = reverse('api:bot:bumpedthread-detail', args=(1,))
32+
response = self.client.delete(url)
33+
34+
self.assertEqual(response.status_code, 401)
35+
36+
37+
class BumpedThreadAPITests(AuthenticatedAPITestCase):
38+
@classmethod
39+
def setUpTestData(cls):
40+
cls.thread1 = BumpedThread.objects.create(
41+
thread_id=1234,
42+
)
43+
44+
def test_returns_bumped_threads_as_flat_list(self):
45+
url = reverse('api:bot:bumpedthread-list')
46+
47+
response = self.client.get(url)
48+
self.assertEqual(response.status_code, 200)
49+
self.assertEqual(response.json(), [1234])
50+
51+
def test_returns_204_for_existing_data(self):
52+
url = reverse('api:bot:bumpedthread-detail', args=(1234,))
53+
54+
response = self.client.get(url)
55+
self.assertEqual(response.status_code, 204)
56+
self.assertEqual(response.content, b"")
57+
58+
def test_returns_404_for_non_existing_data(self):
59+
url = reverse('api:bot:bumpedthread-detail', args=(42,))
60+
61+
response = self.client.get(url)
62+
self.assertEqual(response.status_code, 404)
63+
self.assertEqual(response.json(), {"detail": "Not found."})

0 commit comments

Comments
 (0)