aboutsummaryrefslogtreecommitdiff
path: root/tests/managers/gr/test_team.py
diff options
context:
space:
mode:
authorGreg Stupp2026-10-27 20:09:14 +0000
committerGreg Stupp2026-10-27 20:09:14 +0000
commit9e30cfe047195b69a94c079ccaf403e12a3c3ce3 (patch)
treefad544911bee57216a7044634a30aad79e5d2c78 /tests/managers/gr/test_team.py
parent684d022b276d0ed3d9f2528fcb6c9740bea8180c (diff)
parent4acf081822b47aefbb968a0fb9d5fc63d08bab54 (diff)
downloadgeneralresearch-2382f1e8b8377a3e567f2a5666db67b05ae6a612.tar.gz
generalresearch-2382f1e8b8377a3e567f2a5666db67b05ae6a612.zip
Merges pull request #14 v3.9.6
gr user add name, no sub
Diffstat (limited to 'tests/managers/gr/test_team.py')
-rw-r--r--tests/managers/gr/test_team.py43
1 files changed, 34 insertions, 9 deletions
diff --git a/tests/managers/gr/test_team.py b/tests/managers/gr/test_team.py
index 689c4be..6c38a49 100644
--- a/tests/managers/gr/test_team.py
+++ b/tests/managers/gr/test_team.py
@@ -11,13 +11,13 @@ if TYPE_CHECKING:
from generalresearch.managers.gr.authentication import GRUserManager
from generalresearch.managers.gr.team import MembershipManager, TeamManager
from generalresearch.models.gr.authentication import GRUser
+ from generalresearch.models.gr.business import Business
from generalresearch.models.thl.product import Product
from generalresearch.pg_helper import PostgresConfig
from generalresearch.redis_helper import RedisConfig
class TestMembershipManager:
-
def test_init(
self, gr_membership_manager: MembershipManager, gr_db: PostgresConfig
):
@@ -25,7 +25,6 @@ class TestMembershipManager:
class TestTeamManager:
-
def test_init(self, gr_team_manager: TeamManager, gr_db: PostgresConfig):
assert gr_team_manager.pg_config == gr_db
@@ -81,13 +80,11 @@ class TestTeamManager:
gr_team_manager: TeamManager,
gr_user_manager: GRUserManager,
gr_user_factory: Callable[..., GRUser],
+ gr_membership_factory: Callable[..., Membership],
):
user: GRUser = gr_user_factory()
-
- instance = gr_team_manager.add_user(
- gr_user_manager=gr_user_manager, team=gr_team, gr_user=user
- )
+ instance = gr_membership_factory(gr_team=gr_team, gr_user=user)
assert isinstance(instance, Membership)
# assert team.gr_users is None
@@ -122,11 +119,10 @@ class TestTeamManager:
gr_user_factory: Callable[..., GRUser],
gr_team_manager: TeamManager,
gr_user_manager: GRUserManager,
+ gr_membership_factory: Callable[..., Membership],
):
user: GRUser = gr_user_factory()
- gr_team_manager.add_user(
- gr_user_manager=gr_user_manager, team=gr_team, gr_user=user
- )
+ gr_membership_factory(gr_team=gr_team, gr_user=user)
res = gr_team_manager.get_by_user(gr_user=user)
assert isinstance(res, list)
@@ -135,6 +131,35 @@ class TestTeamManager:
assert isinstance(instance, Team)
assert instance.uuid == gr_team.uuid
+ def test_filter_includes_relationship_counts(
+ self,
+ gr_team_factory: Callable[..., Team],
+ gr_team_manager: TeamManager,
+ gr_user_factory: Callable[..., GRUser],
+ gr_membership_factory: Callable[..., Membership],
+ gr_business_factory: Callable[..., Business],
+ ):
+ team = gr_team_factory()
+ other_team = gr_team_factory()
+ user = gr_user_factory()
+ other_user = gr_user_factory()
+ business = gr_business_factory()
+
+ gr_membership_factory(gr_team=team, gr_user=user)
+ gr_membership_factory(gr_team=team, gr_user=other_user)
+ gr_team_manager.add_business(team_id=team.id, business_id=business.id)
+
+ assert gr_team_manager.filter(team_id=other_team.id) == [other_team]
+
+ teams = gr_team_manager.filter(
+ team_uuid=team.uuid,
+ gr_user_id=user.id,
+ )
+ assert len(teams) == 1
+ assert teams[0].id == team.id
+ assert teams[0].business_count == 1
+ assert teams[0].membership_count == 2
+
def test_get_by_user_duplicates(
self,
gr_user: GRUser,