fixes for #270 and #274

This commit is contained in:
collerek
2021-07-21 14:39:23 +02:00
parent 5e0f704864
commit b423c1c56d
6 changed files with 100 additions and 19 deletions

View File

@ -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"})