Skip to content

Commit 8ee428d

Browse files
committed
Fixes broken test
1 parent a717c63 commit 8ee428d

4 files changed

Lines changed: 25 additions & 10 deletions

File tree

src/onegov/api/views.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ def add_headers(response: Response) -> None:
7676
# NOTE: This is a custom extension of
7777
# Collection+JSON, that is a little
7878
# bit more machine-readable.
79-
'values': sorted(prompt)
79+
'values': list(prompt)
8080
}
8181
for name, prompt in endpoint.filters.items()
8282
]

src/onegov/town6/api.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ def filters(self) -> Mapping[str, Collection[str] | str | None]:
6666
'(ISO-8601 encoded date: YYYY-MM-DD, defaults to today)',
6767
'end': 'Latest event date (ISO-8601 encoded date: YYYY-MM-DD)',
6868
'locations': 'Can be specified multiple times',
69-
'sources': collection.used_sources
69+
'sources': sorted(collection.used_sources)
7070
}
7171

7272
filter_type = self.app.org.event_filter_type
@@ -78,7 +78,7 @@ def filters(self) -> Mapping[str, Collection[str] | str | None]:
7878
self.request.translate(_(tag))
7979
for tag in used_tags
8080
}
81-
filters['tags'] = used_tags
81+
filters['tags'] = sorted(used_tags)
8282

8383
filters.update(
8484
(name, choices)

tests/onegov/api/test_views.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,8 +59,22 @@ def Query__init__(
5959
self.prompt = prompt
6060
self.data = data
6161

62+
def Data__init__(
63+
self: Any,
64+
name: str,
65+
value: Any | None = None,
66+
prompt: str | None = None,
67+
values: list[str] | None = None,
68+
**extra: Any,
69+
) -> None:
70+
self.name = name
71+
self.value = value
72+
self.prompt = prompt
73+
self.values = values
74+
6275
monkeypatch.setattr(Collection, '__init__', Collection__init__)
6376
monkeypatch.setattr('collection_json.Query.__init__', Query__init__)
77+
monkeypatch.setattr('collection_json.Data.__init__', Data__init__)
6478

6579

6680
def test_view_api(client: Client, app: App) -> None:

tests/onegov/town6/test_api.py

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ def data(item: Any) -> dict[str, Any]:
3737
return {x.name: x.value for x in item.data}
3838

3939
def filters(item: Any) -> dict[str, Any]:
40-
return {x.name: x.prompt for x in item.data}
40+
return {x.name: x.values or x.prompt for x in item.data}
4141

4242
def links(item: Any) -> dict[str, str]:
4343
return {x.rel: x.href for x in item.links}
@@ -96,12 +96,13 @@ def template(item: Any) -> set[str]:
9696
'altersgruppe',
9797
'highlight',
9898
}
99-
assert event_fiters['altersgruppe'] == (
100-
"One of 'Kind', 'Jugend', 'Familie', 'Alter'"
101-
" (Can be specified multiple times)"
102-
)
103-
assert event_fiters['highlight'] == "Either 'Ja' or left unspecified"
104-
99+
assert event_fiters['altersgruppe'] == [
100+
'Kind',
101+
'Jugend',
102+
'Familie',
103+
'Alter'
104+
]
105+
assert event_fiters['highlight'] == ['Ja']
105106
# Configure tags and filters
106107
settings = client.get('/event-settings')
107108
settings.form['event_filter_type'] = 'tags_and_filters'

0 commit comments

Comments
 (0)