diff options
| author | 2020-08-20 15:15:21 +0200 | |
|---|---|---|
| committer | 2020-08-20 15:17:57 +0200 | |
| commit | 0ba6e25f88400e9a54ae9be2c176687ad69bb94f (patch) | |
| tree | e624d1235368ec14e13b2c8073f326b64e6e3626 | |
| parent | Fix bad migration 0059 (diff) | |
Allow direct fetching of reminders by id
| -rw-r--r-- | pydis_site/apps/api/tests/test_reminders.py | 28 | ||||
| -rw-r--r-- | pydis_site/apps/api/viewsets/bot/reminder.py | 8 | 
2 files changed, 35 insertions, 1 deletions
| diff --git a/pydis_site/apps/api/tests/test_reminders.py b/pydis_site/apps/api/tests/test_reminders.py index a05d9296..9dffb668 100644 --- a/pydis_site/apps/api/tests/test_reminders.py +++ b/pydis_site/apps/api/tests/test_reminders.py @@ -163,6 +163,34 @@ class ReminderListTests(APISubdomainTestCase):          self.assertEqual(response.json(), [self.rem_dict_one]) +class ReminderRetrieveTests(APISubdomainTestCase): +    @classmethod +    def setUpTestData(cls): +        cls.author = User.objects.create( +            id=6789, +            name='Reminder author', +            discriminator=6789, +        ) + +        cls.reminder = Reminder.objects.create( +            author=cls.author, +            content="Reminder content", +            expiration=datetime.utcnow().isoformat(), +            jump_url="http://example.com/", +            channel_id=123 +        ) + +    def test_retrieve_unknown_returns_404(self): +        url = reverse('bot:reminder-detail', args=("not_an_id",), host='api') +        response = self.client.get(url) +        self.assertEqual(response.status_code, 404) + +    def test_retrieve_known_returns_200(self): +        url = reverse('bot:reminder-detail', args=(self.reminder.id,), host='api') +        response = self.client.get(url) +        self.assertEqual(response.status_code, 200) + +  class ReminderUpdateTests(APISubdomainTestCase):      @classmethod      def setUpTestData(cls): diff --git a/pydis_site/apps/api/viewsets/bot/reminder.py b/pydis_site/apps/api/viewsets/bot/reminder.py index 6f8a28f2..00413fb1 100644 --- a/pydis_site/apps/api/viewsets/bot/reminder.py +++ b/pydis_site/apps/api/viewsets/bot/reminder.py @@ -4,6 +4,7 @@ from rest_framework.mixins import (      CreateModelMixin,      DestroyModelMixin,      ListModelMixin, +    RetrieveModelMixin,      UpdateModelMixin  )  from rest_framework.viewsets import GenericViewSet @@ -13,7 +14,12 @@ from pydis_site.apps.api.serializers import ReminderSerializer  class ReminderViewSet( -    CreateModelMixin, ListModelMixin, DestroyModelMixin, UpdateModelMixin, GenericViewSet +    CreateModelMixin, +    RetrieveModelMixin, +    ListModelMixin, +    DestroyModelMixin, +    UpdateModelMixin, +    GenericViewSet,  ):      """      View providing CRUD access to reminders. | 
