@ -26,8 +26,7 @@ class Package(ormar.Model):
|
||||
pass
|
||||
|
||||
id: int = ormar.Integer(primary_key=True)
|
||||
library: Library = ormar.ForeignKey(Library,
|
||||
related_name="packages")
|
||||
library: Library = ormar.ForeignKey(Library, related_name="packages")
|
||||
version: str = ormar.String(max_length=100)
|
||||
|
||||
|
||||
@ -47,34 +46,26 @@ class TicketPackage(ormar.Model):
|
||||
id: int = ormar.Integer(primary_key=True)
|
||||
status: str = ormar.String(max_length=100)
|
||||
ticket: Ticket = ormar.ForeignKey(Ticket, related_name="packages")
|
||||
package: Package = ormar.ForeignKey(Package,
|
||||
related_name="tickets")
|
||||
package: Package = ormar.ForeignKey(Package, related_name="tickets")
|
||||
|
||||
|
||||
def test_have_proper_children():
|
||||
TicketPackageOut = TicketPackage.get_pydantic(exclude={"ticket"})
|
||||
assert 'package' in TicketPackageOut.__fields__
|
||||
assert "package" in TicketPackageOut.__fields__
|
||||
PydanticPackage = TicketPackageOut.__fields__["package"].type_
|
||||
assert 'library' in PydanticPackage.__fields__
|
||||
assert "library" in PydanticPackage.__fields__
|
||||
|
||||
|
||||
def test_casts_properly():
|
||||
payload = {
|
||||
"id": 0,
|
||||
"status": "string",
|
||||
"ticket": {
|
||||
"id": 0,
|
||||
"number": 0,
|
||||
"status": "string"
|
||||
},
|
||||
"ticket": {"id": 0, "number": 0, "status": "string"},
|
||||
"package": {
|
||||
"version": "string",
|
||||
"id": 0,
|
||||
"library": {
|
||||
"id": 0,
|
||||
"name": "string"
|
||||
}
|
||||
}
|
||||
"library": {"id": 0, "name": "string"},
|
||||
},
|
||||
}
|
||||
test_package = TicketPackage(**payload)
|
||||
TicketPackageOut = TicketPackage.get_pydantic(exclude={"ticket"})
|
||||
|
||||
Reference in New Issue
Block a user