diff options
Diffstat (limited to 'pydis_site/apps')
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:  |