aboutsummaryrefslogtreecommitdiff
path: root/tests/managers/gr/test_team.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/managers/gr/test_team.py')
-rw-r--r--tests/managers/gr/test_team.py91
1 files changed, 54 insertions, 37 deletions
diff --git a/tests/managers/gr/test_team.py b/tests/managers/gr/test_team.py
index 17e0470..751e33c 100644
--- a/tests/managers/gr/test_team.py
+++ b/tests/managers/gr/test_team.py
@@ -4,6 +4,7 @@ from collections.abc import Callable
from typing import TYPE_CHECKING
from uuid import uuid4
+from generalresearch.models.gr.authentication import GRUser
from generalresearch.models.gr.team import Membership, Team
if TYPE_CHECKING:
@@ -23,94 +24,110 @@ class TestMembershipManager:
class TestTeamManager:
- def test_init(self, team_manager: TeamManager, gr_db: PostgresConfig):
- assert team_manager.pg_config == gr_db
+ def test_init(self, gr_team_manager: TeamManager, gr_db: PostgresConfig):
+ assert gr_team_manager.pg_config == gr_db
- def test_get_or_create(self, team_manager: TeamManager):
+ def test_get_or_create(self, gr_team_manager: TeamManager):
from generalresearch.models.gr.team import Team
new_uuid = uuid4().hex
- team: Team = team_manager.get_or_create(uuid=new_uuid)
+ team: Team = gr_team_manager.get_or_create(uuid=new_uuid)
assert isinstance(team, Team)
assert isinstance(team.id, int)
assert team.uuid == new_uuid
assert team.name == "< Unknown >"
- def test_get_all(self, team_manager: TeamManager):
- res1 = team_manager.get_all()
+ def test_get_all(
+ self, gr_team_factory: Callable[..., Team], gr_team_manager: TeamManager
+ ):
+ res1 = gr_team_manager.get_all()
assert isinstance(res1, list)
- team_manager.create_dummy()
- res2 = team_manager.get_all()
+ gr_team_factory()
+ res2 = gr_team_manager.get_all()
assert len(res1) == len(res2) - 1
- def test_create(self, team_manager: TeamManager):
+ def test_create(
+ self, gr_team_factory: Callable[..., Team], gr_team_manager: TeamManager
+ ):
- team: Team = team_manager.create_dummy()
+ team: Team = gr_team_factory()
assert isinstance(team, Team)
assert isinstance(team.id, int)
def test_add_user(
self,
- team: Team,
- team_manager: TeamManager,
- gr_um: GRUserManager,
- gr_db: PostgresConfig,
- gr_redis_config: RedisConfig,
+ gr_team: Team,
+ gr_team_manager: TeamManager,
+ gr_user_manager: GRUserManager,
+ gr_user_factory: Callable[..., GRUser],
):
- user: GRUser = gr_um.create_dummy()
+ user: GRUser = gr_user_factory()
- instance = team_manager.add_user(team=team, gr_user=user)
+ instance = gr_team_manager.add_user(
+ gr_user_manager=gr_user_manager, team=gr_team, gr_user=user
+ )
assert isinstance(instance, Membership)
# assert team.gr_users is None
- team.prefetch_gr_users(pg_config=gr_db, redis_config=gr_redis_config)
- assert isinstance(team.gr_users, list)
- assert len(team.gr_users)
- assert team.gr_users == [user]
+ gr_team.prefetch_gr_users(gr_user_manager=gr_user_manager)
+ assert isinstance(gr_team.gr_users, list)
+ assert len(gr_team.gr_users)
+ assert gr_team.gr_users == [user]
- def test_get_by_uuid(self, team_manager: TeamManager):
+ def test_get_by_uuid(
+ self, gr_team_factory: Callable[..., Team], gr_team_manager: TeamManager
+ ):
- team: Team = team_manager.create_dummy()
+ team: Team = gr_team_factory()
- instance = team_manager.get_by_uuid(team_uuid=team.uuid)
+ instance = gr_team_manager.get_by_uuid(team_uuid=team.uuid)
+ assert isinstance(instance, Team)
assert team.id == instance.id
- def test_get_by_id(self, team_manager: TeamManager):
+ def test_get_by_id(
+ self, gr_team_factory: Callable[..., Team], gr_team_manager: TeamManager
+ ):
- team: Team = team_manager.create_dummy()
+ team: Team = gr_team_factory()
- instance = team_manager.get_by_id(team_id=team.id)
+ instance = gr_team_manager.get_by_id(team_id=team.id)
+ assert isinstance(instance, Team)
assert team.uuid == instance.uuid
def test_get_by_user(
- self, team: Team, team_manager: TeamManager, gr_um: GRUserManager
+ self,
+ gr_team: Team,
+ gr_user_factory: Callable[..., GRUser],
+ gr_team_manager: TeamManager,
+ gr_user_manager: GRUserManager,
):
+ user: GRUser = gr_user_factory()
+ gr_team_manager.add_user(
+ gr_user_manager=gr_user_manager, team=gr_team, gr_user=user
+ )
- user: GRUser = gr_um.create_dummy()
- team_manager.add_user(team=team, gr_user=user)
-
- res = team_manager.get_by_user(gr_user=user)
+ res = gr_team_manager.get_by_user(gr_user=user)
assert isinstance(res, list)
assert len(res) == 1
instance = res[0]
assert isinstance(instance, Team)
- assert instance.uuid == team.uuid
+ assert instance.uuid == gr_team.uuid
def test_get_by_user_duplicates(
self,
gr_user: GRUser,
product_factory: Callable[..., Product],
- membership_factory: Callable[..., Membership],
- team: Team,
+ gr_membership_factory: Callable[..., Membership],
+ gr_team: Team,
gr_redis_config: RedisConfig,
gr_db: PostgresConfig,
):
- product_factory(team=team)
- membership_factory(team=team, gr_user=gr_user)
+ product_factory(team=gr_team)
+ gr_membership_factory(gr_team=gr_team, gr_user=gr_user)
gr_user.prefetch_teams(
pg_config=gr_db,