migrate db.find_movies to SQLAlchemy
This commit is contained in:
parent
1fd7e730b3
commit
84bbe331ee
2 changed files with 118 additions and 38 deletions
|
|
@ -316,3 +316,86 @@ async def test_ratings_for_movies(shared_conn: db.Database):
|
|||
assert (r1,) == tuple(
|
||||
await db.ratings_for_movies(movie_ids=movie_ids, user_ids=user_ids)
|
||||
)
|
||||
|
||||
|
||||
@pytest.mark.asyncio
|
||||
async def test_find_movies(shared_conn: db.Database):
|
||||
async with shared_conn.transaction(force_rollback=True):
|
||||
m1 = a_movie(title="movie one")
|
||||
await db.add(m1)
|
||||
|
||||
m2 = a_movie(title="movie two", imdb_score=33, release_year=m1.release_year + 1)
|
||||
await db.add(m2)
|
||||
|
||||
u1 = models.User(
|
||||
imdb_id="u00001",
|
||||
name="User1",
|
||||
secret="secret1",
|
||||
)
|
||||
await db.add(u1)
|
||||
|
||||
u2 = models.User(
|
||||
imdb_id="u00002",
|
||||
name="User2",
|
||||
secret="secret2",
|
||||
)
|
||||
await db.add(u2)
|
||||
|
||||
r1 = models.Rating(
|
||||
movie_id=m2.id,
|
||||
movie=m2,
|
||||
user_id=u1.id,
|
||||
user=u1,
|
||||
score=66,
|
||||
rating_date=datetime.now(),
|
||||
)
|
||||
await db.add(r1)
|
||||
|
||||
# ---
|
||||
|
||||
assert () == tuple(await db.find_movies(title=m1.title, include_unrated=False))
|
||||
assert ((m1, []),) == tuple(
|
||||
await db.find_movies(title=m1.title, include_unrated=True)
|
||||
)
|
||||
|
||||
assert ((m1, []),) == tuple(
|
||||
await db.find_movies(title="mo on", exact=False, include_unrated=True)
|
||||
)
|
||||
assert ((m1, []),) == tuple(
|
||||
await db.find_movies(title="movie one", exact=True, include_unrated=True)
|
||||
)
|
||||
assert () == tuple(
|
||||
await db.find_movies(title="mo on", exact=True, include_unrated=True)
|
||||
)
|
||||
|
||||
assert ((m2, []),) == tuple(
|
||||
await db.find_movies(title="movie", exact=False, include_unrated=False)
|
||||
)
|
||||
assert ((m2, []), (m1, [])) == tuple(
|
||||
await db.find_movies(title="movie", exact=False, include_unrated=True)
|
||||
)
|
||||
|
||||
assert ((m1, []),) == tuple(
|
||||
await db.find_movies(include_unrated=True, yearcomp=("=", m1.release_year))
|
||||
)
|
||||
assert ((m2, []),) == tuple(
|
||||
await db.find_movies(include_unrated=True, yearcomp=("=", m2.release_year))
|
||||
)
|
||||
assert ((m1, []),) == tuple(
|
||||
await db.find_movies(include_unrated=True, yearcomp=("<", m2.release_year))
|
||||
)
|
||||
assert ((m2, []),) == tuple(
|
||||
await db.find_movies(include_unrated=True, yearcomp=(">", m1.release_year))
|
||||
)
|
||||
|
||||
assert ((m2, []), (m1, [])) == tuple(await db.find_movies(include_unrated=True))
|
||||
assert ((m2, []),) == tuple(
|
||||
await db.find_movies(include_unrated=True, limit_rows=1)
|
||||
)
|
||||
assert ((m1, []),) == tuple(
|
||||
await db.find_movies(include_unrated=True, skip_rows=1)
|
||||
)
|
||||
|
||||
assert ((m2, [r1]), (m1, [])) == tuple(
|
||||
await db.find_movies(include_unrated=True, user_ids=[u1.id, u2.id])
|
||||
)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue