Coverage for tests/tests_api/resources/trucks.py: 38%

24 statements  

« prev     ^ index     » next       coverage.py v7.6.2, created at 2024-10-10 03:02 +0300

1import pytest 

2from sotrans_models.models.resources.trucks import TruckDBModel 

3from sotrans_models.models.responses import GenericGetListResponse 

4 

5from ...conftest import APIDataStorage 

6from ...tests_api.auth import test_client, token 

7 

8 

9def test_get_trucks(test_client): 

10 response = test_client.get("/trucks") 

11 assert response.status_code == 200 

12 result = GenericGetListResponse[TruckDBModel](**response.json()) 

13 assert result.total > 0 

14 assert result.items[0].id == APIDataStorage.truck.id 

15 

16 

17def test_get_truck(test_client): 

18 response = test_client.get(f"/trucks/{APIDataStorage.truck.id}") 

19 assert response.status_code == 200 

20 

21 

22def test_update_truck(test_client): 

23 response = test_client.patch( 

24 f"/trucks/{APIDataStorage.truck.id}", json={"brand": "TheTest"} 

25 ) 

26 assert response.status_code == 200 

27 assert TruckDBModel(**response.json()).brand == "TheTest" 

28 

29 

30def test_delete_truck(test_client): 

31 response = test_client.delete(f"/trucks/{APIDataStorage.truck.id}") 

32 assert response.status_code == 204 

33 deleted = test_client.get(f"/trucks/{APIDataStorage.truck.id}") 

34 assert deleted.status_code == 404 

35 APIDataStorage.truck = None