Skip to content

Commit

Permalink
Use select and fetch_all_rows
Browse files Browse the repository at this point in the history
  • Loading branch information
ahdamin committed Oct 10, 2024
1 parent b4c1715 commit b334139
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 27 deletions.
9 changes: 4 additions & 5 deletions tests/database/filters/test_genotype_filters.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
"""Module to test the genotype filters."""

from sqlalchemy.future import select
from sqlalchemy.orm import Query

from genotype_api.database.filters.genotype_filters import filter_genotypes_by_id
Expand All @@ -13,11 +14,9 @@ async def test_filter_genotypes_by_id(store: Store, test_genotype: Genotype, hel
await helpers.ensure_genotype(store=store, genotype=test_genotype)

# WHEN filtering genotypes by id
query: Query = store._get_query(Genotype)
result = await store.session.execute(query)
genotypes: list[Genotype] = filter_genotypes_by_id(
entry_id=test_genotype.id, genotypes=result.scalars()
).all()
query: Query = select(Genotype)
filtered_query = filter_genotypes_by_id(entry_id=test_genotype, genotypes=query)
genotypes: list[Genotype] = await store.fetch_all_rows(filtered_query)

# THEN assert the genotype is returned
assert genotypes
Expand Down
32 changes: 10 additions & 22 deletions tests/database/filters/test_user_filters.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
"""Module to test the user filters."""

from sqlalchemy.future import select
from sqlalchemy.orm import Query

from genotype_api.database.filters.user_filters import (
apply_user_filter,
filter_users_by_email,
filter_users_by_id,
filter_users_by_name,
Expand All @@ -17,13 +17,9 @@ async def test_filter_users_by_id(base_store: Store, test_user: User):
# GIVEN a store with a user

# WHEN filtering users by id
query: Query = base_store._get_query(User)
filter_functions = filter_users_by_id(user_id=test_user.id, users=query)
filtered_query = apply_user_filter(
users=query, filter_functions=filter_functions, user_id=test_user.id
)
result = await base_store.session.execute(filtered_query)
user: User = result.scalars().first()
query: Query = select(User)
filtered_query = filter_users_by_id(user_id=test_user.id, users=query)
user: User = await base_store.fetch_first_row(filtered_query)

# THEN the user is returned
assert user
Expand All @@ -35,13 +31,9 @@ async def test_filter_users_by_email(base_store: Store, test_user: User):
# GIVEN a store with a user

# WHEN filtering users by email
query: Query = base_store._get_query(User)
filter_functions = filter_users_by_email(email=test_user.email, users=query)
filtered_query = apply_user_filter(
users=query, filter_functions=filter_functions, email=test_user.email
)
result = await base_store.session.execute(filtered_query)
user: User = result.scalars().first()
query: Query = select(User)
filtered_query = filter_users_by_email(email=test_user.email, users=query)
user: User = await base_store.fetch_first_row(filtered_query)

# THEN the user is returned
assert user
Expand All @@ -53,13 +45,9 @@ async def test_filter_users_by_name(base_store: Store, test_user: User):
# GIVEN a store with a user

# WHEN filtering users by name
query: Query = base_store._get_query(User)
filter_functions = filter_users_by_name(name=test_user.name, users=query)
filtered_query = apply_user_filter(
users=query, filter_functions=filter_functions, name=test_user.name
)
result = await base_store.session.execute(filtered_query)
user: User = result.scalars().first()
query: Query = select(User)
filtered_query = filter_users_by_name(name=test_user.name, users=query)
user: User = await base_store.fetch_first_row(filtered_query)

# THEN the user is returned
assert user
Expand Down

0 comments on commit b334139

Please sign in to comment.