🧪 Add API tests and update controllers for city and venue details

- ✏️ Added feature tests for cities and venues, including pagination limits and `withDetails` parameter handling.
- ✏️ Updated `CityController` to support `withDetails`, returning country code and flag URL while lifting pagination limits.
- ✏️ Updated `VenueController` to support `withDetails`, lifting pagination limits and enriching venue responses with city details.
This commit is contained in:
HolgerHatGarKeineNode
2026-06-12 18:00:14 +02:00
parent 6a2958c90a
commit 0b454dfc80
3 changed files with 65 additions and 4 deletions
+2 -1
View File
@@ -32,6 +32,7 @@ class VenueController extends Controller
*/
#[QueryParameter(name: 'search', description: 'Teilstring-Suche im Namen des Veranstaltungsortes.', required: false, type: 'string')]
#[QueryParameter(name: 'selected', description: 'Lädt gezielt die angegebenen Veranstaltungsort-IDs (umgeht die Begrenzung auf 10 Einträge).', required: false, type: 'array')]
#[QueryParameter(name: 'withDetails', description: 'Presence-Flag: hebt die Begrenzung auf 10 Einträge auf.', required: false, type: 'string')]
public function index(Request $request)
{
return Venue::query()
@@ -46,7 +47,7 @@ class VenueController extends Controller
->when(
$request->exists('selected'),
fn (Builder $query) => $query->whereIn('id', $this->numericIds($request)),
fn (Builder $query) => $query->limit(10)
fn (Builder $query) => $request->exists('withDetails') ? $query : $query->limit(10)
)
->get()
->map(function (Venue $venue) {