diff options
| author | stuppie | 2026-09-06 18:42:11 -0600 |
|---|---|---|
| committer | stuppie | 2026-09-06 18:42:11 -0600 |
| commit | 282e224429516efbf00f6c876bfbb82be00bb266 (patch) | |
| tree | 9ef8cf8c5174409f634fc1bd519f93a30b8461ce /test_utils/managers | |
| parent | 5d20e51ba4149b9ba04f6a70de4f6c8ff0425fc3 (diff) | |
| download | generalresearch-282e224429516efbf00f6c876bfbb82be00bb266.tar.gz generalresearch-282e224429516efbf00f6c876bfbb82be00bb266.zip | |
user cashout method to user UserRef
Diffstat (limited to 'test_utils/managers')
| -rw-r--r-- | test_utils/managers/cashout_methods.py | 90 | ||||
| -rw-r--r-- | test_utils/managers/conftest.py | 64 |
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 === |
