Coverage for tests/tests_api/misc/verification.py: 40%

18 statements  

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

1import datetime 

2 

3from sotrans_models.models.misc.document import ( 

4 DocumentCreateModel, 

5 DocumentDBModel, 

6) 

7from sotrans_models.models.misc.verification import ( 

8 VerificationCreateModel, 

9 VerificationDBModel, 

10) 

11from utils.dt_utils import get_current_datetime 

12 

13from ...conftest import APIDataStorage 

14from ...random_model import generate_models_json 

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

16 

17 

18def test_document_verification(test_client): 

19 json_data = generate_models_json( 

20 DocumentCreateModel, 

21 { 

22 "valid_until": get_current_datetime() + datetime.timedelta(days=1), 

23 "collection": "documents", 

24 }, 

25 ) 

26 response = test_client.post("/documents", json=json_data) 

27 assert response.status_code == 201 

28 APIDataStorage.document = DocumentDBModel(**response.json()) 

29 ver_data = generate_models_json(VerificationCreateModel) 

30 ver_response = test_client.put( 

31 f"/documents/{APIDataStorage.document.id}/verification", json=ver_data 

32 ) 

33 assert ver_response.status_code in (201, 404) 

34 if ver_response.status_code == 404: 

35 return 

36 assert VerificationDBModel(**ver_response.json()).collection == "documents"