use classmethod to build fields on records
This commit is contained in:
+16
-3
@@ -43,16 +43,29 @@ def test_crud(db):
|
||||
|
||||
def test_pointers(db):
|
||||
user = examples.User(name="john", email="john@foo")
|
||||
players = examples.Group(name="players", users=[user])
|
||||
players = examples.Group(name="players", members=[user], groups=[])
|
||||
|
||||
with pytest.raises(PointerReferenceError):
|
||||
players = db.save(players)
|
||||
|
||||
user = db.save(user)
|
||||
|
||||
players.users[0] = user
|
||||
players.members[0] = user
|
||||
players = db.save(players)
|
||||
assert players.users[0] == user
|
||||
assert players.members[0] == user
|
||||
|
||||
|
||||
def test_subgroups(db):
|
||||
kirk = db.save(examples.User(name="James T. Kirk", email="riskybiznez@starfleet"))
|
||||
pike = db.save(examples.User(name="Christopher Pike", email="hitit@starfleet"))
|
||||
|
||||
tos = db.save(examples.Group(name="The Original Series", members=[kirk]))
|
||||
snw = db.save(examples.Group(name="Strange New Worlds", members=[pike]))
|
||||
|
||||
starfleet = db.save(examples.Group(name="Starfleet", groups=[tos, snw]))
|
||||
assert tos in starfleet.groups
|
||||
assert snw in starfleet.groups
|
||||
assert kirk in set([user for group in starfleet.groups for user in group.members])
|
||||
|
||||
|
||||
def test_unique(db):
|
||||
|
||||
Reference in New Issue
Block a user