diff options
author | 2020-02-02 13:55:08 -0700 | |
---|---|---|
committer | 2020-02-02 13:55:08 -0700 | |
commit | dd7297c33850b6ac5d966b66a91aaca6b3448a2b (patch) | |
tree | a0693e9028134293ba310c3270ce71dd1c9c32a4 | |
parent | Improve deletion test (asserting that deleted record no longer exists) (diff) |
Add ReminderListTests
-rw-r--r-- | pydis_site/apps/api/tests/test_reminders.py | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/pydis_site/apps/api/tests/test_reminders.py b/pydis_site/apps/api/tests/test_reminders.py index a06a5974..fdbc829e 100644 --- a/pydis_site/apps/api/tests/test_reminders.py +++ b/pydis_site/apps/api/tests/test_reminders.py @@ -1,5 +1,6 @@ from datetime import datetime +from django.forms.models import model_to_dict from django_hosts.resolvers import reverse from .base import APISubdomainTestCase @@ -110,6 +111,42 @@ class ReminderDeletionTests(APISubdomainTestCase): self.assertRaises(Reminder.DoesNotExist, Reminder.objects.get, **{'id': self.reminder.id}) +class ReminderListTests(APISubdomainTestCase): + @classmethod + def setUpTestData(cls): + cls.author = User.objects.create( + id=6789, + name='Patrick Star', + discriminator=6789, + avatar_hash=None, + ) + + cls.reminder = Reminder.objects.create( + author=cls.author, + content="We should take Bikini Bottom, and push it somewhere else!", + expiration=datetime.utcnow().isoformat(), + jump_url="https://www.icantseemyforehead.com", + channel_id=123 + ) + + cls.rem_dict = model_to_dict(cls.reminder) + cls.rem_dict['expiration'] += 'Z' # Massaging a quirk of the response time format + + def test_reminder_in_full_list(self): + url = reverse('bot:reminder-list', host='api') + response = self.client.get(url) + + self.assertEqual(response.status_code, 200) + self.assertEqual(response.json(), [self.rem_dict]) + + def test_filter_search(self): + url = reverse('bot:reminder-list', host='api') + response = self.client.get(f'{url}?search={self.author.name}') + + self.assertEqual(response.status_code, 200) + self.assertEqual(response.json(), [self.rem_dict]) + + class ReminderUpdateTests(APISubdomainTestCase): @classmethod def setUpTestData(cls): |