Feat: add orm for Tribes
This commit is contained in:
19
tests/conftest.py
Normal file
19
tests/conftest.py
Normal file
@@ -0,0 +1,19 @@
|
||||
import pytest
|
||||
from sqlalchemy import create_engine
|
||||
from sqlalchemy.orm import clear_mappers, sessionmaker
|
||||
|
||||
from backend.adapters.orm import metadata, start_mappers
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def in_memory_db():
|
||||
engine = create_engine("sqlite:///:memory:")
|
||||
metadata.create_all(engine)
|
||||
return engine
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def session(in_memory_db):
|
||||
start_mappers()
|
||||
yield sessionmaker(bind=in_memory_db)()
|
||||
clear_mappers()
|
||||
15
tests/integration/test_orm.py
Normal file
15
tests/integration/test_orm.py
Normal file
@@ -0,0 +1,15 @@
|
||||
from backend.adapters.orm import metadata, start_mappers
|
||||
from backend.model.tribe import Tribe
|
||||
|
||||
|
||||
def test_tribes_mapper_can_load_tribe(session):
|
||||
session.execute(
|
||||
"INSERT INTO tribes (name, level) VALUES "
|
||||
"('tribe1', '2nd'),"
|
||||
"('tribe2', '1ST')"
|
||||
)
|
||||
expected = [
|
||||
(Tribe("tribe1", "2nd")),
|
||||
(Tribe("tribe2", "1ST")),
|
||||
]
|
||||
assert session.query(Tribe).all() == expected
|
||||
Reference in New Issue
Block a user