deserialize search results

This commit is contained in:
evilchili
2025-09-28 11:11:34 -07:00
parent a76afaa126
commit b6097b60cc
3 changed files with 30 additions and 5 deletions
+19
View File
@@ -1,4 +1,5 @@
import pytest
from tinydb import Query
from tinydb.storages import MemoryStorage
from grung import examples
@@ -76,3 +77,21 @@ def test_unique(db):
with pytest.raises(UniqueConstraintError):
user2 = db.save(user2)
db.save(user1)
def test_search(db):
kirk = db.save(examples.User(name="Captain James T. Kirk", email="riskybiznez@starfleet"))
bones = db.save(examples.User(name="Doctor McCoy", email="dammitjim@starfleet"))
ricky = db.save(examples.User(name="Ensign Ricky Redshirt", email="invincible@starfleet"))
crew = db.save(examples.Group(name="Crew", members=[kirk, bones, ricky]))
User = Query()
captains = db.User.search(User.name.matches("Captain"))
assert len(captains) == 1
Group = Query()
crew = db.Group.search(Group.name == "Crew")[0]
assert kirk in crew.members
assert bones in crew.members
assert ricky in crew.members