Coverage for tests / test_fields_set.py: 100%

13 statements  

« prev     ^ index     » next       coverage.py v7.13.0, created at 2026-01-06 21:09 +0000

1from datetime import datetime, timedelta 1jklmnopqr

2 

3from sqlmodel import Field, SQLModel 1jklmnopqr

4 

5 

6def test_fields_set(): 1jklmnopqr

7 class User(SQLModel): 1abcdefghi

8 username: str 1abcdefghi

9 email: str = "test@test.com" 1abcdefghi

10 last_updated: datetime = Field(default_factory=datetime.now) 1abcdefghi

11 

12 user = User(username="bob") 1abcdefghi

13 assert user.model_fields_set == {"username"} 1abcdefghi

14 user = User(username="bob", email="bob@test.com") 1abcdefghi

15 assert user.model_fields_set == {"username", "email"} 1abcdefghi

16 user = User( 1abcdefghi

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"} 1abcdefghi