aboutsummaryrefslogtreecommitdiff
path: root/test_utils
diff options
context:
space:
mode:
authorstuppie2026-09-06 18:42:11 -0600
committerstuppie2026-09-06 18:42:11 -0600
commit282e224429516efbf00f6c876bfbb82be00bb266 (patch)
tree9ef8cf8c5174409f634fc1bd519f93a30b8461ce /test_utils
parent5d20e51ba4149b9ba04f6a70de4f6c8ff0425fc3 (diff)
downloadgeneralresearch-282e224429516efbf00f6c876bfbb82be00bb266.tar.gz
generalresearch-282e224429516efbf00f6c876bfbb82be00bb266.zip
user cashout method to user UserRef
Diffstat (limited to 'test_utils')
-rw-r--r--test_utils/managers/cashout_methods.py90
-rw-r--r--test_utils/managers/conftest.py64
2 files changed, 56 insertions, 98 deletions
diff --git a/test_utils/managers/cashout_methods.py b/test_utils/managers/cashout_methods.py
index adf82f4..e69de29 100644
--- a/test_utils/managers/cashout_methods.py
+++ b/test_utils/managers/cashout_methods.py
@@ -1,90 +0,0 @@
-from __future__ import annotations
-
-import random
-from collections.abc import Callable
-from uuid import uuid4
-
-import pytest
-
-from generalresearch.models.thl.wallet.cashout_method import (
- CashoutMethod,
- TangoCashoutMethodData,
-)
-from generalresearch.models.thl.wallet.definitions import Currency, PayoutType
-
-
-@pytest.fixture(scope="session")
-def random_ext_id_factory(base: str = "U02") -> Callable[..., str]:
-
- def _inner() -> str:
- suffix = random.randint(0, 99999)
- return f"{base}{suffix:05d}"
-
- return _inner
-
-
-@pytest.fixture(scope="session")
-def example_tango_cashout_methods(
- random_ext_id_factory: Callable[..., str],
-) -> list[CashoutMethod]:
- return [
- CashoutMethod(
- id=uuid4().hex,
- last_updated="2021-06-23T20:45:38.239182Z",
- is_live=True,
- type=PayoutType.TANGO,
- ext_id=random_ext_id_factory(),
- name="Safeway eGift Card $25",
- data=TangoCashoutMethodData(
- value_type="fixed", countries=["US"], utid=random_ext_id_factory()
- ),
- user=None,
- image_url="https://d30s7yzk2az89n.cloudfront.net/images/brands/b694446-1200w-326ppi.png",
- original_currency=Currency.USD,
- min_value=2500,
- max_value=2500,
- ),
- CashoutMethod(
- id=uuid4().hex,
- last_updated="2021-06-23T20:45:38.239182Z",
- is_live=True,
- type=PayoutType.TANGO,
- ext_id=random_ext_id_factory(),
- name="Amazon.it Gift Certificate",
- data=TangoCashoutMethodData(
- value_type="variable", countries=["IT"], utid="U006961"
- ),
- user=None,
- image_url="https://d30s7yzk2az89n.cloudfront.net/images/brands/b405753-1200w-326ppi.png",
- original_currency=Currency.EUR,
- min_value=1,
- max_value=10000,
- ),
- ]
-
-
-# AMT_ASSIGNMENT_CASHOUT_METHOD = CashoutMethod(
-# id=uuid4().hex,
-# last_updated="2021-06-23T20:45:38.239182Z",
-# is_live=True,
-# type=PayoutType.AMT,
-# ext_id=None,
-# name="AMT Assignment",
-# data=AmtCashoutMethodData(),
-# user=None,
-# min_value=1,
-# max_value=5,
-# )
-
-# AMT_BONUS_CASHOUT_METHOD = CashoutMethod(
-# id=uuid4().hex,
-# last_updated="2021-06-23T20:45:38.239182Z",
-# is_live=True,
-# type=PayoutType.AMT,
-# ext_id=None,
-# name="AMT Bonus",
-# data=AmtCashoutMethodData(),
-# user=None,
-# min_value=7,
-# max_value=4000,
-# )
diff --git a/test_utils/managers/conftest.py b/test_utils/managers/conftest.py
index 3e7b304..391e6bf 100644
--- a/test_utils/managers/conftest.py
+++ b/test_utils/managers/conftest.py
@@ -1,7 +1,10 @@
from __future__ import annotations
+import random
from collections.abc import Callable
+from datetime import datetime
from typing import TYPE_CHECKING
+from uuid import uuid4
import pytest
@@ -12,6 +15,11 @@ from generalresearch.managers.thl.user_streak import (
UserStreakManager,
)
from generalresearch.models.definitions import Source
+from generalresearch.models.thl.wallet.cashout_method import (
+ CashoutMethod,
+ TangoCashoutMethodData,
+)
+from generalresearch.models.thl.wallet.definitions import Currency, PayoutType
if TYPE_CHECKING:
from generalresearch.managers.spectrum.survey import SpectrumSurveyManager
@@ -19,7 +27,6 @@ if TYPE_CHECKING:
from generalresearch.managers.thl.ipinfo import (
GeoIpInfoManager,
IPGeonameManager,
- IPInformationManager,
)
from generalresearch.managers.thl.userhealth import (
AuditLogManager,
@@ -27,7 +34,6 @@ if TYPE_CHECKING:
UserIpHistoryManager,
)
from generalresearch.models.thl.user import User
- from generalresearch.models.thl.wallet.cashout_method import CashoutMethod
from generalresearch.pg_helper import PostgresConfig
from generalresearch.redis_helper import RedisConfig
from generalresearch.sql_helper import SqlHelper
@@ -164,17 +170,59 @@ def setup_cashoutmethod_db(
for x in example_tango_cashout_methods:
cashout_method_manager.create(x)
- # TODO: convert these ids into instances to use.
- # settings.amt_bonus_cashout_method_id
- # settings.amt_assignment_cashout_method_id
+ return _inner
+
+
+@pytest.fixture(scope="session")
+def random_ext_id_factory(base: str = "U02") -> Callable[..., str]:
- # cashout_method_manager.create(AMT_ASSIGNMENT_CASHOUT_METHOD)
- # cashout_method_manager.create(AMT_BONUS_CASHOUT_METHOD)
- # raise NotImplementedError("Need to implement setup_cashoutmethod_db")
+ def _inner() -> str:
+ suffix = random.randint(0, 99999)
+ return f"{base}{suffix:05d}"
return _inner
+@pytest.fixture(scope="session")
+def example_tango_cashout_methods(
+ random_ext_id_factory: Callable[..., str],
+) -> list[CashoutMethod]:
+ return [
+ CashoutMethod(
+ id=uuid4().hex,
+ last_updated=datetime.fromisoformat("2021-06-23T20:45:38.239182Z"),
+ is_live=True,
+ type=PayoutType.TANGO,
+ ext_id='U025035',
+ name="Safeway eGift Card $25",
+ data=TangoCashoutMethodData(
+ value_type="fixed", countries=["US"], utid='U025035'
+ ),
+ user=None,
+ image_url="https://d30s7yzk2az89n.cloudfront.net/images/brands/b694446-1200w-326ppi.png",
+ original_currency=Currency.USD,
+ min_value=2500,
+ max_value=2500,
+ ),
+ CashoutMethod(
+ id=uuid4().hex,
+ last_updated=datetime.fromisoformat("2021-06-23T20:45:38.239182Z"),
+ is_live=True,
+ type=PayoutType.TANGO,
+ ext_id='U006961',
+ name="Amazon.it Gift Certificate",
+ data=TangoCashoutMethodData(
+ value_type="variable", countries=["IT"], utid="U006961"
+ ),
+ user=None,
+ image_url="https://d30s7yzk2az89n.cloudfront.net/images/brands/b405753-1200w-326ppi.png",
+ original_currency=Currency.EUR,
+ min_value=1,
+ max_value=10000,
+ ),
+ ]
+
+
# === THL: Marketplaces ===