aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--patchwork/api/event.py2
-rw-r--r--patchwork/tests/api/test_event.py18
-rw-r--r--releasenotes/notes/api-order-events-by-date-7484164761c5231b.yaml5
3 files changed, 24 insertions, 1 deletions
diff --git a/patchwork/api/event.py b/patchwork/api/event.py
index c0d973d..e6d467d 100644
--- a/patchwork/api/event.py
+++ b/patchwork/api/event.py
@@ -77,7 +77,7 @@ class EventList(ListAPIView):
serializer_class = EventSerializer
filter_class = filterset_class = EventFilterSet
page_size_query_param = None # fixed page size
- ordering_fields = ()
+ ordering_fields = ('date',)
ordering = '-date'
def get_queryset(self):
diff --git a/patchwork/tests/api/test_event.py b/patchwork/tests/api/test_event.py
index 8816538..bff8f40 100644
--- a/patchwork/tests/api/test_event.py
+++ b/patchwork/tests/api/test_event.py
@@ -149,6 +149,24 @@ class TestEventAPI(utils.APITestCase):
resp = self.client.get(self.api_url(), {'series': 999999})
self.assertEqual(0, len(resp.data))
+ def test_order_by_date_default(self):
+ """Assert the default ordering is by date descending."""
+ self._create_events()
+
+ resp = self.client.get(self.api_url())
+ events = Event.objects.order_by("-date").all()
+ for api_event, event in zip(resp.data, events):
+ self.assertEqual(api_event["id"], event.id)
+
+ def test_order_by_date_ascending(self):
+ """Assert the default ordering is by date descending."""
+ self._create_events()
+
+ resp = self.client.get(self.api_url(), {'order': 'date'})
+ events = Event.objects.order_by("date").all()
+ for api_event, event in zip(resp.data, events):
+ self.assertEqual(api_event["id"], event.id)
+
def test_create(self):
"""Ensure creates aren't allowed"""
user = create_maintainer()
diff --git a/releasenotes/notes/api-order-events-by-date-7484164761c5231b.yaml b/releasenotes/notes/api-order-events-by-date-7484164761c5231b.yaml
new file mode 100644
index 0000000..5d5328d
--- /dev/null
+++ b/releasenotes/notes/api-order-events-by-date-7484164761c5231b.yaml
@@ -0,0 +1,5 @@
+---
+features:
+ - |
+ Allow ordering events from the events API by date. This can be done by
+ adding ``order=date`` or ``order=-date`` (the default) parameters.