Allow to enter gift cards into the voucher input (Z#23171961) (#4670)

This commit is contained in:
Raphael Michel
2024-12-05 13:43:46 +01:00
committed by GitHub
parent 94a64ba53a
commit 6b199a2b9c
8 changed files with 192 additions and 58 deletions

View File

@@ -55,6 +55,7 @@ from pretix.base.models import (
)
from pretix.base.models.items import SubEventItem, SubEventItemVariation
from pretix.base.reldate import RelativeDate, RelativeDateWrapper
from pretix.testutils.sessions import get_cart_session_key
class EventTestMixin:
@@ -1003,6 +1004,25 @@ class VoucherRedeemItemDisplayTest(EventTestMixin, SoupTest):
assert 'name="variation_%d_%d' % (self.item.pk, var1.pk) not in html.rendered_content
assert 'name="variation_%d_%d' % (self.item.pk, var2.pk) not in html.rendered_content
def test_voucher_is_a_gift_card(self):
gc = self.orga.issued_gift_cards.create(secret="GIFTCARD", currency=self.event.currency)
gc.transactions.create(value=Decimal("12.00"), acceptor=self.orga)
html = self.client.get('/%s/%s/redeem?voucher=%s' % (self.orga.slug, self.event.slug, 'GIFTCARD'), follow=True)
assert "alert-success" in html.rendered_content
assert "€12.00" in html.rendered_content
payments = self.client.session['carts'][get_cart_session_key(self.client, self.event)]["payments"]
assert payments[0]["info_data"]["gift_card_secret"] == "GIFTCARD"
def test_voucher_is_a_gift_card_but_invalid(self):
gc = self.orga.issued_gift_cards.create(secret="GIFTCARD", currency=self.event.currency, expires=now() - datetime.timedelta(days=1))
gc.transactions.create(value=Decimal("12.00"), acceptor=self.orga)
html = self.client.get('/%s/%s/redeem?voucher=%s' % (self.orga.slug, self.event.slug, 'GIFTCARD'), follow=True)
assert "alert-danger" in html.rendered_content
assert "This gift card is no longer valid" in html.rendered_content
class WaitingListTest(EventTestMixin, SoupTest):
@scopes_disabled()