Coverage for tests/tests_api/suggestions.py: 19%
59 statements
« prev ^ index » next coverage.py v7.6.2, created at 2024-10-10 03:02 +0300
« prev ^ index » next coverage.py v7.6.2, created at 2024-10-10 03:02 +0300
1from endpoints.suggest import SuggestionsResponseModel
2from sotrans_models.models.misc.client import ClientCreateModel, ClientDBModel
3from sotrans_models.models.resources.drivers import DriverCreateModel
4from sotrans_models.models.resources.trailers import TrailerCreateModel
5from sotrans_models.models.resources.trucks import TruckCreateModel
7from ..random_model import generate_models_json
8from ..tests_api.auth import test_client, token
9from .fixtures import tmp_org
12def test_trailers_suggestion(test_client):
13 model_dump = generate_models_json(TrailerCreateModel)
14 response = test_client.post("/trailers", json=model_dump)
15 assert response.status_code == 201
16 sugs = test_client.get("/suggestions/trailers")
17 assert sugs.status_code == 200
18 for s in sugs.json():
19 if SuggestionsResponseModel(**s).label.startswith(
20 TrailerCreateModel(**model_dump).license_plate
21 ):
22 return
23 assert False
26def test_truck_suggestion(test_client):
27 model_dump = generate_models_json(TruckCreateModel)
28 response = test_client.post("/trucks", json=model_dump)
29 assert response.status_code == 201
30 sugs = test_client.get("/suggestions/trucks")
31 assert sugs.status_code == 200
32 for s in sugs.json():
33 if SuggestionsResponseModel(**s).label.startswith(
34 TrailerCreateModel(**model_dump).license_plate
35 ):
36 return
37 assert False
40def test_driver_suggestion_model(test_client):
41 model_dump = generate_models_json(DriverCreateModel)
42 drived = test_client.post("/drivers", json=model_dump)
43 assert drived.status_code == 201
44 sugs = test_client.get("/suggestions/drivers")
45 assert sugs.status_code == 200
46 for d in sugs.json():
47 driver = DriverCreateModel(**model_dump)
48 if SuggestionsResponseModel(**d).label.startswith(
49 f"{driver.surname} {driver.name} "
50 ):
51 return
52 assert False
55def test_org_suggestion_model(test_client, tmp_org):
56 suggestions = test_client.get("/suggestions/organizations")
57 assert suggestions.status_code == 200
58 for o in suggestions.json():
59 org = SuggestionsResponseModel(**o)
60 if org.label.startswith(tmp_org.short_name or "Без имени"):
61 return
62 assert False
65# @pytest.mark.order(after="tests_api/misc/clients.py::test_create_client")
66def test_client_suggestion(test_client):
67 model_dump = generate_models_json(
68 ClientCreateModel, {"name": "TesteritoSug", "inn": "1234567890"}
69 )
70 resp = test_client.post("/clients", json=model_dump)
71 assert resp.status_code == 201
72 created_client = ClientDBModel(**resp.json())
73 sug = test_client.get("/suggestions/clients")
74 assert sug.status_code == 200
75 for c in sug.json():
76 client = SuggestionsResponseModel(**c)
77 if client.label.startswith(created_client.name):
78 return
79 assert False