Skip to content

Commit a86e363

Browse files
committed
test: additional tests for none field hints
1 parent baf3817 commit a86e363

File tree

1 file changed

+26
-0
lines changed

1 file changed

+26
-0
lines changed

tests/test_nones.py

+26
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
from pydantic import BaseModel
2+
3+
from polyfactory.factories.pydantic_factory import ModelFactory
4+
from polyfactory.fields import AlwaysNone, NeverNone
5+
6+
7+
def test_never_none() -> None:
8+
class MyModel(BaseModel):
9+
name: str | None
10+
11+
class MyFactory(ModelFactory[MyModel]):
12+
name = NeverNone()
13+
14+
assert MyFactory.build().name is not None
15+
16+
17+
def test_always_none() -> None:
18+
class MyModel(BaseModel):
19+
name: str | None
20+
21+
class MyFactory(ModelFactory[MyModel]):
22+
name = AlwaysNone()
23+
# NOTE `name = None` does not end up
24+
25+
# field is still accessible even though there is
26+
assert MyFactory.build().name is None

0 commit comments

Comments
 (0)