Coverage for src/tests/api/v1/auth/schemas/test_user_account.py: 100%

10 statements  

« prev     ^ index     » next       coverage.py v7.11.0, created at 2024-01-01 00:00 +0000

1"""Module for testing the user invitation JSON:API resource.""" 

2 

3import json 

4 

5from deepdiff import DeepDiff 

6from kwai_api.v1.auth.presenters import JsonApiUserAccountPresenter 

7 

8 

9def test_user_account_presenter(make_user_account): 

10 """Test creation of a user invitation JSON:API document.""" 

11 user_account = make_user_account() 

12 user_account_document = ( 

13 JsonApiUserAccountPresenter().present(user_account).get_document() 

14 ) 

15 json_resource = json.loads(user_account_document.model_dump_json()) 

16 

17 expected_user_account_json = { 

18 "data": { 

19 "id": str(user_account.user.uuid), 

20 "type": "user_accounts", 

21 "attributes": { 

22 "email": "jigoro.kano@kwai.com", 

23 "last_login": None, 

24 "last_unsuccessful_login": None, 

25 "revoked": False, 

26 "admin": False, 

27 "first_name": "Jigoro", 

28 "last_name": "Kano", 

29 "remark": "", 

30 }, 

31 } 

32 } 

33 

34 diff = DeepDiff(json_resource, expected_user_account_json, ignore_order=True) 

35 assert not diff, f"JSON structure is not as expected: {diff}"