API: Allow to filter events by attributes (#1466)

* Allow filtern events-ressource on API by attrs

* Document meta-data attr-filter for order resource

* Actually document the change and not some random other nonsensical thing...

* Doc for subevent-filtering

* Test for attr-filtering on events resource

* Allow attr-filtering on subevents

* Add attr-filter test for subevent

* Update doc/api/resources/subevents.rst

* Update src/tests/api/test_subevents.py

* Update doc/api/resources/events.rst
This commit is contained in:
Martin Gross
2019-10-25 17:04:20 +02:00
committed by Raphael Michel
parent 97fbec804b
commit ab0be57106
6 changed files with 48 additions and 3 deletions

View File

@@ -135,6 +135,17 @@ def test_event_list(token_client, organizer, event):
assert [TEST_EVENT_RES] == resp.data['results']
@pytest.mark.django_db
def test_event_list_filter(token_client, organizer, event):
resp = token_client.get('/api/v1/organizers/{}/events/?attr[type]=Conference'.format(organizer.slug))
assert resp.status_code == 200
assert resp.data['count'] == 1
resp = token_client.get('/api/v1/organizers/{}/events/?attr[type]='.format(organizer.slug))
assert resp.status_code == 200
assert resp.data['count'] == 0
@pytest.mark.django_db
def test_event_get(token_client, organizer, event):
resp = token_client.get('/api/v1/organizers/{}/events/{}/'.format(organizer.slug, event.slug))

View File

@@ -130,6 +130,17 @@ def test_subevent_list(token_client, organizer, event, subevent):
assert [] == resp.data['results']
@pytest.mark.django_db
def test_subevent_list_filter(token_client, organizer, event, subevent):
resp = token_client.get('/api/v1/organizers/{}/events/{}/subevents/?attr[type]=Workshop'.format(organizer.slug, event.slug))
assert resp.status_code == 200
assert resp.data['count'] == 1
resp = token_client.get('/api/v1/organizers/{}/events/{}/subevents/?attr[type]=Conference'.format(organizer.slug, event.slug))
assert resp.status_code == 200
assert resp.data['count'] == 0
@pytest.mark.django_db
def test_subevent_get(token_client, organizer, event, subevent):
res = dict(TEST_SUBEVENT_RES)