aboutsummaryrefslogtreecommitdiff
path: root/tests/managers/thl/test_wall_manager.py
diff options
context:
space:
mode:
authorMax Nanis2026-08-26 09:17:39 -0700
committerMax Nanis2026-08-26 09:17:39 -0700
commit47ea200eac0eaa7bef02f6ebb05de9afad5ee0d7 (patch)
tree0721a0145bf9db795ef442ca211caf9db2fad420 /tests/managers/thl/test_wall_manager.py
parent3b4059135be47f7752a08e4277a85f9e57ceaa9d (diff)
downloadgeneralresearch-47ea200eac0eaa7bef02f6ebb05de9afad5ee0d7.tar.gz
generalresearch-47ea200eac0eaa7bef02f6ebb05de9afad5ee0d7.zip
Ruff morning!
Diffstat (limited to 'tests/managers/thl/test_wall_manager.py')
-rw-r--r--tests/managers/thl/test_wall_manager.py58
1 files changed, 47 insertions, 11 deletions
diff --git a/tests/managers/thl/test_wall_manager.py b/tests/managers/thl/test_wall_manager.py
index 1071627..b8a636f 100644
--- a/tests/managers/thl/test_wall_manager.py
+++ b/tests/managers/thl/test_wall_manager.py
@@ -1,24 +1,36 @@
+from __future__ import annotations
+
+from collections.abc import Callable
from datetime import UTC, datetime, timedelta
from decimal import Decimal
from uuid import uuid4
import pytest
+from pydantic import PositiveInt
+from generalresearch.managers.thl.session import SessionManager
+from generalresearch.managers.thl.wall import WallCacheManager, WallManager
from generalresearch.models import Source
from generalresearch.models.thl.session import (
ReportValue,
+ Session,
Status,
StatusCode1,
)
+from generalresearch.models.thl.user import User
class TestWallManager:
@pytest.mark.parametrize("wall_count", [1, 2, 5, 10, 50, 99])
def test_get_wall_events(
- self, wall_manager, session_factory, user, wall_count, utc_hour_ago
+ self,
+ wall_manager: WallManager,
+ session_factory: Callable[..., Session],
+ user: User,
+ wall_count: PositiveInt,
+ utc_hour_ago: datetime,
):
- from generalresearch.models.thl.session import Session
s1: Session = session_factory(
user=user, wall_count=wall_count, started=utc_hour_ago
@@ -62,12 +74,15 @@ class TestWallManager:
]
def test_get_wall_events_list_input(
- self, wall_manager, session_factory, user, utc_hour_ago
+ self,
+ wall_manager: WallManager,
+ session_factory: Callable[..., Session],
+ user: User,
+ utc_hour_ago: datetime,
):
- from generalresearch.models.thl.session import Session
session_ids = []
- for idx in range(10):
+ for _ in range(10):
s: Session = session_factory(user=user, wall_count=5, started=utc_hour_ago)
session_ids.append(s.id)
@@ -82,7 +97,7 @@ class TestWallManager:
assert session_ids == res1
- def test_create_wall(self, wall_manager, user, session):
+ def test_create_wall(self, wall_manager: WallManager, user: User, session: Session):
w = wall_manager.create(
session_id=session.id,
user_id=user.user_id,
@@ -98,7 +113,13 @@ class TestWallManager:
w2 = wall_manager.get_from_uuid(wall_uuid=w.uuid)
assert w == w2
- def test_report_wall_abandon(self, wall_manager, user, session, utc_hour_ago):
+ def test_report_wall_abandon(
+ self,
+ wall_manager: WallManager,
+ user: User,
+ session: Session,
+ utc_hour_ago: datetime,
+ ):
w1 = wall_manager.create(
session_id=session.id,
user_id=user.user_id,
@@ -138,7 +159,12 @@ class TestWallManager:
# the status and finished get updated
def test_report_wall(
- self, wall_manager, session_manager, user, session, utc_hour_ago
+ self,
+ wall_manager: WallManager,
+ session_manager: SessionManager,
+ user: User,
+ session: Session,
+ utc_hour_ago: datetime,
):
w1 = wall_manager.create(
session_id=session.id,
@@ -174,7 +200,13 @@ class TestWallManager:
assert Status.COMPLETE == w2.status
assert "This survey blows!" == w2.report_notes
- def test_filter_wall_attempts(self, wall_manager, user, session, utc_hour_ago):
+ def test_filter_wall_attempts(
+ self,
+ wall_manager: WallManager,
+ user: User,
+ session: Session,
+ utc_hour_ago: datetime,
+ ):
res = wall_manager.filter_wall_attempts(user_id=user.user_id)
assert len(res) == 0
wall_manager.create(
@@ -205,12 +237,16 @@ class TestWallManager:
class TestWallCacheManager:
- def test_get_attempts_none(self, wall_cache_manager, user):
+ def test_get_attempts_none(self, wall_cache_manager: WallCacheManager, user: User):
attempts = wall_cache_manager.get_attempts(user.user_id)
assert len(attempts) == 0
def test_get_wall_events(
- self, wall_cache_manager, wall_manager, session_manager, user
+ self,
+ wall_cache_manager: WallCacheManager,
+ wall_manager: WallManager,
+ session_manager: SessionManager,
+ user: User,
):
start1 = datetime.now(UTC) - timedelta(hours=3)
start2 = datetime.now(UTC) - timedelta(hours=2)