Coverage for tests / test_fields_set.py: 100%
13 statements
« prev ^ index » next coverage.py v7.13.0, created at 2026-06-10 09:40 +0000
« prev ^ index » next coverage.py v7.13.0, created at 2026-06-10 09:40 +0000
1from datetime import datetime, timedelta 1ijklmnop
3from sqlmodel import Field, SQLModel 1ijklmnop
6def test_fields_set(): 1ijklmnop
7 class User(SQLModel): 1abcdefgh
8 username: str 1abcdefgh
9 email: str = "test@test.com" 1abcdefgh
10 last_updated: datetime = Field(default_factory=datetime.now) 1abcdefgh
12 user = User(username="bob") 1abcdefgh
13 assert user.model_fields_set == {"username"} 1abcdefgh
14 user = User(username="bob", email="bob@test.com") 1abcdefgh
15 assert user.model_fields_set == {"username", "email"} 1abcdefgh
16 user = User( 1abcdefgh
17 username="bob",
18 email="bob@test.com",
19 last_updated=datetime.now() - timedelta(days=1),
20 )
21 assert user.model_fields_set == {"username", "email", "last_updated"} 1abcdefgh