aboutsummaryrefslogtreecommitdiffstats
path: root/pydis_site
diff options
context:
space:
mode:
Diffstat (limited to 'pydis_site')
-rw-r--r--pydis_site/apps/api/migrations/0042_infraction_add_default_ordering.py17
-rw-r--r--pydis_site/apps/api/models/bot/infraction.py5
-rw-r--r--pydis_site/apps/api/tests/test_infractions.py5
-rw-r--r--pydis_site/apps/api/tests/test_off_topic_channel_names.py18
4 files changed, 36 insertions, 9 deletions
diff --git a/pydis_site/apps/api/migrations/0042_infraction_add_default_ordering.py b/pydis_site/apps/api/migrations/0042_infraction_add_default_ordering.py
new file mode 100644
index 00000000..1a0dbb34
--- /dev/null
+++ b/pydis_site/apps/api/migrations/0042_infraction_add_default_ordering.py
@@ -0,0 +1,17 @@
+# Generated by Django 2.2.3 on 2019-09-17 14:07
+
+from django.db import migrations
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('api', '0041_add_default_ordering_deleted_messages'),
+ ]
+
+ operations = [
+ migrations.AlterModelOptions(
+ name='infraction',
+ options={'ordering': ['-inserted_at']},
+ ),
+ ]
diff --git a/pydis_site/apps/api/models/bot/infraction.py b/pydis_site/apps/api/models/bot/infraction.py
index da91d6c2..dfb32a97 100644
--- a/pydis_site/apps/api/models/bot/infraction.py
+++ b/pydis_site/apps/api/models/bot/infraction.py
@@ -66,3 +66,8 @@ class Infraction(ModelReprMixin, models.Model):
if self.hidden:
s += " (hidden)"
return s
+
+ class Meta:
+ """Defines the meta options for the infraction model."""
+
+ ordering = ['-inserted_at']
diff --git a/pydis_site/apps/api/tests/test_infractions.py b/pydis_site/apps/api/tests/test_infractions.py
index 7c370c17..0092d355 100644
--- a/pydis_site/apps/api/tests/test_infractions.py
+++ b/pydis_site/apps/api/tests/test_infractions.py
@@ -63,6 +63,7 @@ class InfractionTests(APISubdomainTestCase):
)
def test_list_all(self):
+ """Tests the list-view, which should be ordered by inserted_at (newest first)."""
url = reverse('bot:infraction-list', host='api')
response = self.client.get(url)
@@ -70,8 +71,8 @@ class InfractionTests(APISubdomainTestCase):
infractions = response.json()
self.assertEqual(len(infractions), 2)
- self.assertEqual(infractions[0]['id'], self.ban_hidden.id)
- self.assertEqual(infractions[1]['id'], self.ban_inactive.id)
+ self.assertEqual(infractions[0]['id'], self.ban_inactive.id)
+ self.assertEqual(infractions[1]['id'], self.ban_hidden.id)
def test_filter_search(self):
url = reverse('bot:infraction-list', host='api')
diff --git a/pydis_site/apps/api/tests/test_off_topic_channel_names.py b/pydis_site/apps/api/tests/test_off_topic_channel_names.py
index 60af1f62..9ab71409 100644
--- a/pydis_site/apps/api/tests/test_off_topic_channel_names.py
+++ b/pydis_site/apps/api/tests/test_off_topic_channel_names.py
@@ -88,16 +88,20 @@ class CreationTests(APISubdomainTestCase):
super().setUp()
url = reverse('bot:offtopicchannelname-list', host='api')
- self.name = "lemonade-shop"
+ self.name = "abcdefghijklmnopqrstuvwxyz-0123456789"
response = self.client.post(f'{url}?name={self.name}')
self.assertEqual(response.status_code, 201)
- def test_name_in_full_list(self):
+ def test_returns_201_for_unicode_chars(self):
url = reverse('bot:offtopicchannelname-list', host='api')
- response = self.client.get(url)
+ names = (
+ '𝖠𝖡𝖢𝖣𝖤𝖥𝖦𝖧𝖨𝖩𝖪𝖫𝖬𝖭𝖮𝖯𝖰𝖱𝖲𝖳𝖴𝖵𝖶𝖷𝖸𝖹',
+ 'ǃ?’',
+ )
- self.assertEqual(response.status_code, 200)
- self.assertEqual(response.json(), [self.name])
+ for name in names:
+ response = self.client.post(f'{url}?name={name}')
+ self.assertEqual(response.status_code, 201)
def test_returns_400_for_missing_name_param(self):
url = reverse('bot:offtopicchannelname-list', host='api')
@@ -111,8 +115,8 @@ class CreationTests(APISubdomainTestCase):
url = reverse('bot:offtopicchannelname-list', host='api')
invalid_names = (
'space between words',
- 'UPPERCASE',
- '$$$$$$$$'
+ 'ABCDEFGHIJKLMNOPQRSTUVWXYZ',
+ '!?\'@#$%^&*()',
)
for name in invalid_names: