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
« 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."""
3import json
5from deepdiff import DeepDiff
6from kwai_api.v1.auth.presenters import JsonApiUserAccountPresenter
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())
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 }
34 diff = DeepDiff(json_resource, expected_user_account_json, ignore_order=True)
35 assert not diff, f"JSON structure is not as expected: {diff}"