add test cases

This commit is contained in:
Mira Weller
2024-01-26 17:55:50 +01:00
parent 0da5305b08
commit 55588abd44
8 changed files with 70 additions and 24 deletions

View File

@@ -44,7 +44,7 @@ from datetime import datetime, time, timedelta
from decimal import Decimal
from functools import reduce
from time import sleep
from typing import Any, Dict, List, Union, Iterable
from typing import Any, Dict, Iterable, List, Union
from zoneinfo import ZoneInfo
import dateutil
@@ -79,7 +79,7 @@ from pretix.base.i18n import language
from pretix.base.models import Customer, User
from pretix.base.reldate import RelativeDateWrapper
from pretix.base.settings import PERSON_NAME_SCHEMES
from pretix.base.signals import order_gracefully_delete, allow_ticket_download
from pretix.base.signals import allow_ticket_download, order_gracefully_delete
from ...helpers import OF_SELF
from ...helpers.countries import CachedCountries, FastCountryField
@@ -1209,7 +1209,6 @@ class Order(LockModel, LoggedModel):
return create
def answerfile_name(instance, filename: str) -> str:
secret = get_random_string(length=32, allowed_chars=string.ascii_letters + string.digits)
event = (instance.cartposition if instance.cartposition else instance.orderposition.order).event

View File

@@ -98,10 +98,9 @@ from pretix.base.services.pricing import (
from pretix.base.services.quotas import QuotaAvailability
from pretix.base.services.tasks import ProfiledEventTask, ProfiledTask
from pretix.base.signals import (
allow_ticket_download, order_approved, order_canceled, order_changed,
order_denied, order_expired, order_fee_calculation, order_paid,
order_placed, order_split, order_valid_if_pending, periodic_task,
validate_order,
order_approved, order_canceled, order_changed, order_denied, order_expired,
order_fee_calculation, order_paid, order_placed, order_split,
order_valid_if_pending, periodic_task, validate_order,
)
from pretix.celery_app import app
from pretix.helpers import OF_SELF
@@ -1409,7 +1408,7 @@ def send_download_reminders(sender, **kwargs):
# Race condition
continue
positions = o.positions_with_tickets
if not positions:
if not list(positions):
continue
if not o.ticket_download_available:
@@ -1435,10 +1434,7 @@ def send_download_reminders(sender, **kwargs):
logger.exception('Reminder email could not be sent')
if event.settings.mail_send_download_reminder_attendee:
for p in o.positions.all():
if not p.generate_ticket:
continue
for p in o.positions_with_tickets:
if p.subevent_id:
reminder_date = (p.subevent.date_from - timedelta(days=days)).replace(
hour=0, minute=0, second=0, microsecond=0

View File

@@ -21,7 +21,6 @@
#
import logging
import os
from typing import Iterable
from django.core.files.base import ContentFile
from django.utils.timezone import now
@@ -35,7 +34,7 @@ from pretix.base.models import (
)
from pretix.base.services.tasks import EventTask, ProfiledTask
from pretix.base.settings import PERSON_NAME_SCHEMES
from pretix.base.signals import allow_ticket_download, register_ticket_outputs
from pretix.base.signals import register_ticket_outputs
from pretix.celery_app import app
from pretix.helpers.database import rolledback_transaction
@@ -125,8 +124,8 @@ def preview(event: int, provider: str):
def get_tickets_for_order(order, base_position=None):
positions_with_ticket = order.positions_with_tickets
if not positions_with_ticket:
positions = list(order.positions_with_tickets)
if not positions:
return []
if not order.ticket_download_available:
return []
@@ -136,10 +135,8 @@ def get_tickets_for_order(order, base_position=None):
for receiver, response
in register_ticket_outputs.send(order.event)
]
tickets = []
positions = list(positions_with_ticket)
if base_position:
# Only the given position and its children
positions = [
@@ -203,7 +200,6 @@ def get_tickets_for_order(order, base_position=None):
))
except:
logger.exception('Failed to generate ticket.')
return tickets

View File

@@ -3733,6 +3733,7 @@ class SettingsSandbox:
del self._event.settings[self._convert_key(key)]
def get(self, key: str, default: Any = None, as_type: type = str, binary_file: bool = False):
print(self._convert_key(key))
return self._event.settings.get(
self._convert_key(key), default=default, as_type=as_type, binary_file=binary_file
)