mirror of
https://github.com/BEDOLAGA-DEV/remnawave-bedolaga-telegram-bot.git
synced 2026-01-19 19:32:10 +00:00
Apply base promo discounts to all order components
This commit is contained in:
29
tests/test_promo_group_base_discounts.py
Normal file
29
tests/test_promo_group_base_discounts.py
Normal file
@@ -0,0 +1,29 @@
|
||||
import pytest
|
||||
|
||||
from app.config import settings
|
||||
from app.database.models import PromoGroup
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def base_discount_settings(monkeypatch):
|
||||
monkeypatch.setattr(settings, "BASE_PROMO_GROUP_PERIOD_DISCOUNTS_ENABLED", True)
|
||||
monkeypatch.setattr(settings, "BASE_PROMO_GROUP_PERIOD_DISCOUNTS", "60:15")
|
||||
yield
|
||||
|
||||
|
||||
def test_base_promo_discount_applies_to_all_categories(base_discount_settings):
|
||||
promo_group = PromoGroup(name="Default", is_default=True)
|
||||
|
||||
assert promo_group.get_discount_percent("period", 60) == 15
|
||||
assert promo_group.get_discount_percent("servers", 60) == 15
|
||||
assert promo_group.get_discount_percent("traffic", 60) == 15
|
||||
assert promo_group.get_discount_percent("devices", 60) == 15
|
||||
|
||||
|
||||
def test_specific_category_discount_overrides_base(base_discount_settings):
|
||||
promo_group = PromoGroup(
|
||||
name="Default", is_default=True, server_discount_percent=5
|
||||
)
|
||||
|
||||
assert promo_group.get_discount_percent("servers", 60) == 5
|
||||
assert promo_group.get_discount_percent("devices", 60) == 15
|
||||
Reference in New Issue
Block a user