Coverage for tests/tests_api/resources/drivers.py: 35%

23 statements  

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

1from sotrans_models.models.resources.drivers import DriverDBModel 

2from sotrans_models.models.responses import GenericGetListResponse 

3 

4from ...conftest import APIDataStorage 

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

6 

7 

8def test_get_driver(test_client): 

9 response = test_client.get(f"/drivers/{APIDataStorage.driver.id}") 

10 assert response.status_code == 200 

11 

12 

13def test_get_drivers(test_client): 

14 response = test_client.get("/drivers") 

15 assert response.status_code == 200 

16 result = GenericGetListResponse[DriverDBModel](**response.json()) 

17 assert result.total > 0 

18 assert result.items[0].id == APIDataStorage.driver.id 

19 

20 

21def test_patch_drivers(test_client): 

22 response = test_client.patch( 

23 f"/drivers/{APIDataStorage.driver.id}", json={"surname": "TheTester"} 

24 ) 

25 assert response.status_code == 200 

26 assert DriverDBModel(**response.json()).surname == "TheTester" 

27 

28 

29def test_delete_drivers(test_client): 

30 response = test_client.delete(f"/drivers/{APIDataStorage.driver.id}") 

31 assert response.status_code == 204 

32 check_response = test_client.get(f"/drivers/{APIDataStorage.driver.id}") 

33 assert check_response.status_code == 404 

34 APIDataStorage.driver = None