feat: add mapper for student and it loads

This commit is contained in:
2022-12-26 11:21:05 +01:00
parent 6f486a6f3c
commit 2444bf38a1
4 changed files with 61 additions and 6 deletions

View File

@@ -1,4 +1,5 @@
from backend.adapters.orm import metadata, start_mappers
from backend.model.student import Student
from backend.model.tribe import Tribe
@@ -40,3 +41,25 @@ def test_tribe_mapper_can_save_and_load_tribe(session):
session.commit()
assert session.query(Tribe).all() == [tribe]
def test_students_mapper_can_load_student(session):
session.execute("INSERT INTO tribes (name, level) VALUES " "('tribe1', '2nd')")
session.execute(
"INSERT INTO students (id, name, tribe_name) VALUES "
"('1', 'student1', 'tribe1'),"
"('2', 'student2', 'tribe1')"
)
tribe = session.query(Tribe).one()
expected = [
(Student("1", "student1", tribe)),
(Student("2", "student2", tribe)),
]
with session.no_autoflush:
students = session.query(Student).all()
assert set(tribe.students) == set(expected)
assert students == expected