Skip to content
Snippets Groups Projects
Commit 7e394f43 authored by Alex Kashuba's avatar Alex Kashuba
Browse files

Removed Type, used Optional

parent d63cbcf9
No related branches found
No related tags found
No related merge requests found
from typing import List, TypeVar
from typing import List, Optional
from domain2 import DomainObject, annotate
......@@ -22,7 +22,7 @@ class DomainEntryB(DomainObject):
class DomainEntryC(DomainObject):
"""B class"""
ref: '_FieldDomainEntryA'
ref: Optional['_FieldDomainEntryA']
refs: List['_FieldDomainEntryB'] = []
......
......@@ -63,3 +63,15 @@ def test_int_ref_chain():
DomainEntryB.model_construct(id=2, refs=[12, 13])
]
assert container2.ref == DomainEntryA.model_construct(id=3, name='Name 3')
def test_ref_optional():
container = DomainEntryC.model_construct(id=4, ref=None, refs=[1, 2])
container2 = DomainEntryC.model_validate(container, strict=True)
assert container.ref is None
assert container2.ref is None
def test_ref_optional_2():
container = DomainEntryC.model_construct(id=4, refs=[1, 2])
with pytest.raises(ValidationError, match="1 validation error for DomainEntryC"):
DomainEntryC.model_validate(container, strict=True)
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment