migrate db.get to SQLAlchemy

This commit is contained in:
ducklet 2023-03-20 21:37:50 +01:00
parent af9c166124
commit 6f6354cfac
2 changed files with 45 additions and 10 deletions

View file

@ -20,6 +20,33 @@ def a_movie(**kwds) -> models.Movie:
return models.Movie(**args)
@pytest.mark.asyncio
async def test_get(shared_conn: db.Database):
async with shared_conn.transaction(force_rollback=True):
m1 = a_movie()
await db.add(m1)
m2 = a_movie(release_year=m1.release_year + 1)
await db.add(m2)
assert None == await db.get(models.Movie)
assert None == await db.get(models.Movie, id="blerp")
assert m1 == await db.get(models.Movie, id=str(m1.id))
assert m2 == await db.get(models.Movie, release_year=m2.release_year)
assert None == await db.get(
models.Movie, id=str(m1.id), release_year=m2.release_year
)
assert m2 == await db.get(
models.Movie, id=str(m2.id), release_year=m2.release_year
)
assert m1 == await db.get(
models.Movie, media_type=m1.media_type, order_by=("release_year", "asc")
)
assert m2 == await db.get(
models.Movie, media_type=m1.media_type, order_by=("release_year", "desc")
)
@pytest.mark.asyncio
async def test_get_all(shared_conn: db.Database):
async with shared_conn.transaction(force_rollback=True):