- TestRetryFailedListing: 2 tests (succeeds within max retries, exceeds max retries)
#### test_vehicles_extra.py (28 tests)
- TestVehicleServiceDirect: 21 tests (list empty, pagination, sort asc, invalid sort, min/max price, search by fin/location, get by fin, create, duplicate fin, update, not found, duplicate fin update, same fin, soft delete, not found, get by id not found, excludes deleted)
- TestRouterAdditionalPaths: 7 tests (all filters combined, verkaeufer allowed, fin duplicate 409, empty result, invalid UUID 422, push failure 202, status after failed push)
## Frontend Tests
**Command**: `cd frontend && npx vitest run tests/vehicles.test.tsx`
**Result**: 16 passed in 2.21s
### Test Categories
#### VehicleList (5 tests)
- Renders vehicle list with filters and table
- Displays vehicles in table after loading
- Shows pagination when total > page_size
- Shows error message on API failure
- Calls listVehicles with type filter when changed
#### VehicleForm (4 tests)
- Renders form with all required fields
- Shows validation errors for empty required fields
- Shows error for FIN not 17 characters
- Calls createVehicle on submit with valid data
#### VehicleDetail (3 tests)
- Renders vehicle details after loading
- Shows mobile.de status section
- Shows error message on API failure
#### MobileDeStatus (4 tests)
- Renders with pending status when no listing exists
- Shows synced status after successful push
- Shows error log when sync failed
- Calls pushToMobileDe when push button is clicked