1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98
|
"""Test the models."""
from __future__ import annotations
from typing import TYPE_CHECKING
from aresponses import ResponsesMockServer
from syrupy.assertion import SnapshotAssertion
from . import load_fixtures
if TYPE_CHECKING:
from odp_amsterdam import Garage, ODPAmsterdam, ParkingSpot
async def test_all_garages(
aresponses: ResponsesMockServer,
snapshot: SnapshotAssertion,
odp_amsterdam_client: ODPAmsterdam,
) -> None:
"""Test all garage function."""
aresponses.add(
"p-info.vorin-amsterdam.nl",
"/v1/ParkingLocation.json",
"GET",
aresponses.Response(
status=200,
headers={"Content-Type": "text/plain"},
text=load_fixtures("garages.json"),
),
)
garages: list[Garage] = await odp_amsterdam_client.all_garages()
assert garages == snapshot
async def test_single_garage(
aresponses: ResponsesMockServer,
snapshot: SnapshotAssertion,
odp_amsterdam_client: ODPAmsterdam,
) -> None:
"""Test a single garage model."""
aresponses.add(
"p-info.vorin-amsterdam.nl",
"/v1/ParkingLocation.json",
"GET",
aresponses.Response(
status=200,
headers={"Content-Type": "text/plain"},
text=load_fixtures("garages.json"),
),
)
garage: Garage = await odp_amsterdam_client.garage(
"A557D1AD-5D39-915B-8B54-A4AAFA2C1CFC"
)
assert garage == snapshot
async def test_filter_garage_model(
aresponses: ResponsesMockServer,
snapshot: SnapshotAssertion,
odp_amsterdam_client: ODPAmsterdam,
) -> None:
"""Test on filtering the garage data."""
aresponses.add(
"p-info.vorin-amsterdam.nl",
"/v1/ParkingLocation.json",
"GET",
aresponses.Response(
status=200,
headers={"Content-Type": "text/plain"},
text=load_fixtures("garages.json"),
),
)
garages: list[Garage] = await odp_amsterdam_client.all_garages(
vehicle="car",
category="park_and_ride",
)
assert garages == snapshot
async def test_parking_locations_model(
aresponses: ResponsesMockServer,
snapshot: SnapshotAssertion,
odp_amsterdam_client: ODPAmsterdam,
) -> None:
"""Test the parking locations model."""
aresponses.add(
"api.data.amsterdam.nl",
"/v1/parkeervakken/parkeervakken",
"GET",
aresponses.Response(
status=200,
headers={"Content-Type": "application/geo+json"},
text=load_fixtures("parking.json"),
),
)
locations: list[ParkingSpot] = await odp_amsterdam_client.locations()
assert locations == snapshot
|