BGG: Powered-by-Logo im Footer (Lizenzpflicht) + Erscheinungsjahr-Filter (Standard aktuelles Jahr+)

This commit is contained in:
Flo Hartmann
2026-08-25 12:11:06 +00:00
parent 667196a4ba
commit ca6d94938c
8 changed files with 69 additions and 4 deletions

View File

@@ -435,7 +435,8 @@ def test_neuheitenliste_rendert_platzhalter_ohne_bild(app, client):
melde_an(client)
antwort = client.get("/neuheiten")
assert antwort.status_code == 200
assert "<img" not in antwort.text
liste = antwort.text.split('<div id="neuheiten-liste"')[1].split("</main>")[0]
assert "<img" not in liste
assert "&#127922;" in antwort.text # Spielicon-Zeichen im Platzhalter-Div

View File

@@ -4,6 +4,8 @@ Alle BGG-Antworten sind gemockt (FakeBggClient), kein echter Netzwerkverkehr.
"""
from __future__ import annotations
from datetime import datetime, timezone
from fastapi.testclient import TestClient
from redaktionskern.app import create_app
@@ -77,7 +79,7 @@ def test_liste_zeigt_eintraege_und_deutsche_beschriftung(app, client):
db.commit()
melde_an(client)
antwort = client.get("/neuheiten")
antwort = client.get("/neuheiten?jahr=1990")
assert antwort.status_code == 200
for text in (
@@ -135,12 +137,31 @@ def test_sortierung_nach_jahr_abwaerts(app, client):
db.commit()
melde_an(client)
antwort = client.get("/neuheiten?sort=jahr&richtung=ab")
antwort = client.get("/neuheiten?sort=jahr&richtung=ab&jahr=1990")
reihenfolge = [zeile for zeile in ("Neu", "Mittel", "Alt") if zeile]
position = [antwort.text.index(titel) for titel in reihenfolge]
assert position == sorted(position)
def test_standard_jahr_filter_zeigt_nur_aktuelles_jahr_und_neuer(app, client):
"""Ohne jahr-Parameter: nur aktuelles Jahr und neuer (plus ohne Jahr)."""
with app.state.session_factory() as db:
db.add_all(
[
Neuheit(titel="Alt", bgg_id=1, erscheinungsjahr=1990),
Neuheit(titel="Aktuell", bgg_id=2, erscheinungsjahr=datetime.now(timezone.utc).year),
Neuheit(titel="Ohne Jahr", bgg_id=3),
]
)
db.commit()
melde_an(client)
antwort = client.get("/neuheiten")
assert "Aktuell" in antwort.text
assert "Ohne Jahr" in antwort.text
assert ">Alt<" not in antwort.text
def test_unbekannte_sortierung_faellt_auf_standard_zurueck(client):
melde_an(client)
antwort = client.get("/neuheiten?sort=hack&richtung=auf")