Coverage for tests/filter_fixtures.py: 41%

32 statements  

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

1import uuid 

2 

3import pytest_asyncio 

4from mongodb import cm_clients_col, orgs_col 

5from sotrans_models.models.misc.client import ManagersClientsDBModel 

6from sotrans_models.models.organizations import OrganizationDBModel 

7 

8from .conftest import ( 

9 shared_oid, 

10 shared_org_id, 

11 shared_uuid, 

12 sotrans_company_dir, 

13 sotrans_company_logisitician, 

14) 

15from .random_model import generate_random_model_dict 

16 

17 

18@pytest_asyncio.fixture 

19async def users_organization(sotrans_company_dir): 

20 org_dict = generate_random_model_dict(OrganizationDBModel) 

21 owner = sotrans_company_dir.model_dump() 

22 owner["id"] = uuid.UUID(owner["sub"]) 

23 org_dict["employees"] = [owner] 

24 await orgs_col.create(org_dict) 

25 yield sotrans_company_dir, OrganizationDBModel(**org_dict) 

26 await orgs_col.collection.delete_many({}) 

27 

28 

29@pytest_asyncio.fixture 

30async def organization_with_logistician( 

31 sotrans_company_logisitician, shared_org_id 

32): 

33 org_dict = generate_random_model_dict(OrganizationDBModel) 

34 sotrans_company_logisitician.subsidiary_id = str(shared_org_id) 

35 logistician = sotrans_company_logisitician.model_dump() 

36 logistician["id"] = uuid.UUID(logistician["sub"]) 

37 print(logistician) 

38 org_dict["employees"] = [logistician] 

39 # org_dict["id"] = shared_org_id 

40 await orgs_col.create(org_dict) 

41 yield sotrans_company_logisitician, OrganizationDBModel(**org_dict) 

42 await orgs_col.collection.delete_many({}) 

43 

44 

45@pytest_asyncio.fixture 

46async def users_clients(shared_oid, shared_uuid, sotrans_company_logisitician): 

47 await cm_clients_col.create( 

48 ManagersClientsDBModel( 

49 manager_id=shared_uuid, clients_ids=[shared_oid] 

50 ).model_dump() 

51 ) 

52 yield sotrans_company_logisitician 

53 await cm_clients_col.collection.delete_many({})