aboutsummaryrefslogtreecommitdiffstats
path: root/pydis_site
diff options
context:
space:
mode:
authorGravatar Johannes Christ <[email protected]>2024-03-29 13:36:54 +0100
committerGravatar Johannes Christ <[email protected]>2024-03-29 13:36:54 +0100
commit940d88c0148d8486f26f41d5d6ad49cc2cb17d7c (patch)
tree2e96cd5e93764998046a3b5c14f8bb84e3fb58f3 /pydis_site
parentMerge pull request #1262 from python-discord/feat/timeline-css-rewrite (diff)
Support running tests with --keepdb option
Allow faster local tests by skipping the database re-setup. Only two cases were dependent on hardcoded IDs and already existing data, they have been adjusted appropriately.
Diffstat (limited to 'pydis_site')
-rw-r--r--pydis_site/apps/api/tests/test_deleted_messages.py2
-rw-r--r--pydis_site/apps/api/tests/test_reminders.py13
2 files changed, 11 insertions, 4 deletions
diff --git a/pydis_site/apps/api/tests/test_deleted_messages.py b/pydis_site/apps/api/tests/test_deleted_messages.py
index d5501202..7ddd9686 100644
--- a/pydis_site/apps/api/tests/test_deleted_messages.py
+++ b/pydis_site/apps/api/tests/test_deleted_messages.py
@@ -93,6 +93,6 @@ class DeletedMessagesLogURLTests(AuthenticatedAPITestCase):
)
def test_valid_log_url(self):
- expected_url = reverse('staff:logs', args=(1,))
[context] = MessageDeletionContext.objects.all()
+ expected_url = reverse('staff:logs', args=(context.id,))
self.assertEqual(context.log_url, expected_url)
diff --git a/pydis_site/apps/api/tests/test_reminders.py b/pydis_site/apps/api/tests/test_reminders.py
index 98e93bb7..545ffff8 100644
--- a/pydis_site/apps/api/tests/test_reminders.py
+++ b/pydis_site/apps/api/tests/test_reminders.py
@@ -1,3 +1,4 @@
+import random
from datetime import UTC, datetime
from django.forms.models import model_to_dict
@@ -67,16 +68,22 @@ class ReminderCreationTests(AuthenticatedAPITestCase):
url = reverse('api:bot:reminder-list')
response = self.client.post(url, data=data)
self.assertEqual(response.status_code, 201)
- self.assertIsNotNone(Reminder.objects.filter(id=1).first())
+ first = Reminder.objects.first()
+ self.assertIsNotNone(first)
+ self.assertEqual(first.author_id, data['author'])
+ self.assertEqual(first.content, data['content'])
+ self.assertEqual(first.channel_id, data['channel_id'])
+
+class EmptyDatabaseReminderCreationTests(AuthenticatedAPITestCase):
def test_rejects_invalid_data(self):
data = {
- 'author': self.author.id, # Missing multiple required fields
+ 'author': random.randint(1, 2 ** 8),
}
url = reverse('api:bot:reminder-list')
response = self.client.post(url, data=data)
self.assertEqual(response.status_code, 400)
- self.assertRaises(Reminder.DoesNotExist, Reminder.objects.get, id=1)
+ self.assertFalse(Reminder.objects.exists())
class ReminderDeletionTests(AuthenticatedAPITestCase):