Coverage for tests/tests_api/organizations/subsidiaries.py: 38%

21 statements  

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

1from sotrans_models.models.organizations import ( 

2 CreateSubsidiaryModel, 

3 SubsidiaryDBModel, 

4) 

5 

6from ...conftest import APIDataStorage 

7from ...random_model import generate_models_json 

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

9 

10 

11def test_subsidiary_create(test_client): 

12 sub = generate_models_json(CreateSubsidiaryModel, {"employees": []}) 

13 response = test_client.post("/subsidiary", json=sub) 

14 assert response.status_code == 201 

15 APIDataStorage.subsidiary = SubsidiaryDBModel(**response.json()) 

16 

17 

18def test_get_subsidiary(test_client): 

19 response = test_client.get(f"/subsidiary/{APIDataStorage.subsidiary.id}") 

20 assert response.status_code == 200 

21 assert SubsidiaryDBModel(**response.json()).name 

22 

23 

24def test_update_subsidiary(test_client): 

25 response = test_client.patch( 

26 f"/subsidiary/{APIDataStorage.subsidiary.id}", 

27 json={"name": "Test Squad"}, 

28 ) 

29 assert response.status_code == 200 

30 assert SubsidiaryDBModel(**response.json()).name == "Test Squad" 

31 

32 

33def test_delete_subsidiary(test_client): 

34 response = test_client.delete( 

35 f"/subsidiary/{APIDataStorage.subsidiary.id}" 

36 ) 

37 assert response.status_code == 204 

38 APIDataStorage.subsidiary = None