use example imports for tests and eventual demo

This commit is contained in:
evilchili
2025-09-24 21:34:32 -07:00
parent 235d26ff1e
commit e5c0d66bde
3 changed files with 7 additions and 19 deletions
+4 -17
View File
@@ -1,32 +1,19 @@
import sys
from typing import List
import pytest
from tinydb.storages import MemoryStorage
from grung import examples
from grung.db import GrungDB
from grung.types import Field, Record
class User(Record):
_fields = [Field("name"), Field("email", unique=True)]
class Group(Record):
_fields = [Field("name", unique=True), Field("users", List[User])]
@pytest.fixture
def db():
_db = GrungDB.with_schema(sys.modules[__name__], storage=MemoryStorage)
_db.create_table(User)
_db.create_table(Group)
_db = GrungDB.with_schema(examples, storage=MemoryStorage)
yield _db
print(_db)
def test_crud(db):
user = User(name="john", email="john@foo")
user = examples.User(name="john", email="john@foo")
assert user.uid
assert user._metadata.fields["uid"].unique
@@ -48,7 +35,7 @@ def test_crud(db):
assert before_update != after_update
# pointers
players = Group(name="players", users=[john_something])
players = examples.Group(name="players", users=[john_something])
players = db.save(players)
players.users[0]["name"] = "fnord"
db.save(players)