1
1
from datetime import date
2
2
3
3
import pytest
4
- from devtools import debug
5
- from fastapi import Depends , FastAPI
4
+ from fastapi import Depends
6
5
from fastapi_amis_admin .models .fields import Field
7
- from starlette .testclient import TestClient
8
6
9
- from fastapi_user_auth .auth import Auth , AuthRouter
10
- from fastapi_user_auth .auth .models import BaseUser , User
7
+ from fastapi_user_auth .auth .models import User
11
8
12
- # 自定义`User`模型,继承`BaseUser`
9
+
10
+ # 自定义`User`模型,继承`User`
13
11
class MyUser (User , table = True ):
14
- point : float = Field (default = 0 , title = '积分' , description = ' 用户积分' )
15
- phone : str = Field (None , title = ' 手机号' , max_length = 15 )
12
+ point : float = Field (default = 0 , title = "积分" , description = " 用户积分" )
13
+ phone : str = Field (None , title = " 手机号" , max_length = 15 )
16
14
parent_id : int = Field (None , title = "上级" , foreign_key = "auth_user.id" )
17
15
birthday : date = Field (None , title = "出生日期" )
18
16
location : str = Field (None , title = "位置" )
19
17
18
+
20
19
@pytest .mark .parametrize ("logins" , ["admin" ], indirect = True )
21
20
async def test_custom_user_model (fake_auth , logins ):
22
21
# 使用自定义的`User`模型,创建auth对象
@@ -25,16 +24,15 @@ async def test_custom_user_model(fake_auth, logins):
25
24
client = logins .client
26
25
27
26
# 注册auth用户管理路由
28
- @app .get (' /get_user' )
27
+ @app .get (" /get_user" )
29
28
async def get_user (user : MyUser = Depends (fake_auth .get_current_user )):
30
29
assert isinstance (user , MyUser )
31
30
user .point = 100
32
- user .phone = ' 123456789'
31
+ user .phone = " 123456789"
33
32
return user
34
33
35
- response = client .get (' /get_user' )
34
+ response = client .get (" /get_user" )
36
35
data = response .json ()
37
- assert 'parent_id' in data
38
- assert data ['point' ] == 100
39
- assert data ['phone' ] == '123456789'
40
-
36
+ assert "parent_id" in data
37
+ assert data ["point" ] == 100
38
+ assert data ["phone" ] == "123456789"
0 commit comments