use example imports for tests and eventual demo
This commit is contained in:
+4
-17
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user