feat: separate legacy tariff settings
This commit is contained in:
@@ -230,33 +230,29 @@ SETTINGS_MANIFEST: List[SettingField] = [
|
||||
"TRAFFIC_PACKAGES", "string", "pricing", "Пакеты трафика", "Формат: 10:199,50:799 (ГБ:цена)"
|
||||
),
|
||||
SettingField("STARS_TRAFFIC_PACKAGES", "string", "pricing", "Пакеты трафика (Stars)"),
|
||||
SettingField(
|
||||
"PAYMENT_METHODS_ORDER",
|
||||
"string",
|
||||
"pricing",
|
||||
"Порядок методов оплаты",
|
||||
"Через запятую, например: severpay,freekassa,yookassa,heleket",
|
||||
),
|
||||
SettingField(
|
||||
"SUBSCRIPTION_PURCHASE_DESCRIPTION_ENABLED",
|
||||
"bool",
|
||||
"pricing",
|
||||
"payments",
|
||||
"Показывать описание подписки",
|
||||
"Текст появится перед выбором срока покупки или продления.",
|
||||
subsection="checkout",
|
||||
),
|
||||
SettingField(
|
||||
"SUBSCRIPTION_PURCHASE_DESCRIPTION_RU",
|
||||
"text",
|
||||
"pricing",
|
||||
"payments",
|
||||
"Описание подписки (RU)",
|
||||
"Русская версия текста на этапе оплаты.",
|
||||
subsection="checkout",
|
||||
),
|
||||
SettingField(
|
||||
"SUBSCRIPTION_PURCHASE_DESCRIPTION_EN",
|
||||
"text",
|
||||
"pricing",
|
||||
"payments",
|
||||
"Описание подписки (EN)",
|
||||
"Английская версия текста на этапе оплаты.",
|
||||
subsection="checkout",
|
||||
),
|
||||
# ─── Payment providers (toggles) ───────────────────────────────
|
||||
# Common
|
||||
@@ -581,7 +577,7 @@ def manifest_payload() -> List[dict]:
|
||||
sections_order = {
|
||||
"general": 1,
|
||||
"appearance": 2,
|
||||
"pricing": 3,
|
||||
"pricing": 11,
|
||||
"payments": 4,
|
||||
"trial": 5,
|
||||
"referral": 6,
|
||||
|
||||
@@ -36,6 +36,10 @@ def _manifest_by_key() -> dict[str, dict]:
|
||||
return {item["key"]: item for item in manifest_payload()}
|
||||
|
||||
|
||||
def _manifest_items() -> list[dict]:
|
||||
return manifest_payload()
|
||||
|
||||
|
||||
def _locale(language: str) -> dict[str, str]:
|
||||
return json.loads((REPO_ROOT / "locales" / f"{language}.json").read_text(encoding="utf-8"))
|
||||
|
||||
@@ -74,7 +78,8 @@ def test_subscription_purchase_description_settings_i18n_keys_exist():
|
||||
messages = _locale(language)
|
||||
for setting_key in SUBSCRIPTION_PURCHASE_DESCRIPTION_SETTINGS:
|
||||
field = manifest[setting_key]
|
||||
assert field["section"] == "pricing"
|
||||
assert field["section"] == "payments"
|
||||
assert field["subsection"] == "checkout"
|
||||
assert field["i18n_label_key"] in messages
|
||||
assert field["i18n_description_key"] in messages
|
||||
|
||||
@@ -106,12 +111,22 @@ def test_payment_provider_settings_include_webhook_metadata():
|
||||
assert "webhook_path" not in manifest["PAYMENT_STARS_WEBAPP_LABEL_RU"]
|
||||
|
||||
|
||||
def test_legacy_tariff_settings_are_separated_from_payment_settings():
|
||||
manifest = _manifest_by_key()
|
||||
payment_method_fields = [
|
||||
item for item in _manifest_items() if item["key"] == "PAYMENT_METHODS_ORDER"
|
||||
]
|
||||
|
||||
assert len(payment_method_fields) == 1
|
||||
assert payment_method_fields[0]["section"] == "payments"
|
||||
assert manifest["MONTH_1_ENABLED"]["section"] == "pricing"
|
||||
assert manifest["MONTH_1_ENABLED"]["section_order"] == 11
|
||||
|
||||
|
||||
def test_platega_settings_share_one_admin_subsection():
|
||||
manifest = _manifest_by_key()
|
||||
platega_keys = [
|
||||
key
|
||||
for key in manifest
|
||||
if key.startswith("PLATEGA_") or key.startswith("PAYMENT_PLATEGA_")
|
||||
key for key in manifest if key.startswith("PLATEGA_") or key.startswith("PAYMENT_PLATEGA_")
|
||||
]
|
||||
|
||||
assert platega_keys
|
||||
|
||||
Reference in New Issue
Block a user