forked from CGM_Public/pretix_original
New implementation of sales channels (#4111)
Co-authored-by: Martin Gross <gross@rami.io>
This commit is contained in:
@@ -61,6 +61,7 @@ def env():
|
||||
status=Order.STATUS_PENDING,
|
||||
datetime=now(), expires=now() + timedelta(days=10),
|
||||
total=Decimal('13.37'),
|
||||
sales_channel=event.organizer.sales_channels.get(identifier="web"),
|
||||
)
|
||||
shirt = Item.objects.create(event=event, name='T-Shirt', default_price=12)
|
||||
shirt_red = ItemVariation.objects.create(item=shirt, default_price=14, value="Red")
|
||||
|
||||
@@ -49,12 +49,14 @@ def env():
|
||||
status=Order.STATUS_PENDING,
|
||||
datetime=now(), expires=now() + timedelta(days=10),
|
||||
total=23,
|
||||
sales_channel=o.sales_channels.get(identifier="web"),
|
||||
)
|
||||
o2 = Order.objects.create(
|
||||
code='6789Z', event=event,
|
||||
status=Order.STATUS_CANCELED,
|
||||
datetime=now(), expires=now() + timedelta(days=10),
|
||||
total=23,
|
||||
sales_channel=o.sales_channels.get(identifier="web"),
|
||||
)
|
||||
quota = Quota.objects.create(name="Test", size=2, event=event)
|
||||
item1 = Item.objects.create(event=event, name="Ticket", default_price=23)
|
||||
|
||||
@@ -49,13 +49,15 @@ def env():
|
||||
code='1Z3AS', event=event,
|
||||
status=Order.STATUS_PENDING,
|
||||
datetime=now(), expires=now() + timedelta(days=10),
|
||||
total=23
|
||||
total=23,
|
||||
sales_channel=o.sales_channels.get(identifier="web"),
|
||||
)
|
||||
o2 = Order.objects.create(
|
||||
code='6789Z', event=event,
|
||||
status=Order.STATUS_CANCELED,
|
||||
datetime=now(), expires=now() + timedelta(days=10),
|
||||
total=23
|
||||
total=23,
|
||||
sales_channel=o.sales_channels.get(identifier="web"),
|
||||
)
|
||||
quota = Quota.objects.create(name="Test", size=2, event=event)
|
||||
item1 = Item.objects.create(event=event, name="Ticket", default_price=23)
|
||||
|
||||
@@ -68,19 +68,22 @@ def env():
|
||||
code='1Z3AS', event=event, email='admin@localhost',
|
||||
status=Order.STATUS_PENDING,
|
||||
datetime=now(), expires=now() + timedelta(days=10),
|
||||
total=23
|
||||
total=23,
|
||||
sales_channel=o.sales_channels.get(identifier="web"),
|
||||
)
|
||||
o2 = Order.objects.create(
|
||||
code='6789Z', event=event,
|
||||
status=Order.STATUS_CANCELED,
|
||||
datetime=now(), expires=now() + timedelta(days=10),
|
||||
total=23
|
||||
total=23,
|
||||
sales_channel=o.sales_channels.get(identifier="web"),
|
||||
)
|
||||
Order.objects.create(
|
||||
code='GS89Z', event=event,
|
||||
status=Order.STATUS_CANCELED,
|
||||
datetime=now(), expires=now() + timedelta(days=10),
|
||||
total=23
|
||||
total=23,
|
||||
sales_channel=o.sales_channels.get(identifier="web"),
|
||||
)
|
||||
quota = Quota.objects.create(name="Test", size=2, event=event)
|
||||
item1 = Item.objects.create(event=event, name="Ticket", default_price=23)
|
||||
@@ -442,12 +445,14 @@ def test_keep_unmatched(env, orga_job):
|
||||
|
||||
@pytest.mark.django_db
|
||||
def test_split_payment_success(env, orga_job):
|
||||
o4 = Order.objects.create(
|
||||
code='99999', event=env[0],
|
||||
status=Order.STATUS_PENDING,
|
||||
datetime=now(), expires=now() + timedelta(days=10),
|
||||
total=12
|
||||
)
|
||||
with scopes_disabled():
|
||||
o4 = Order.objects.create(
|
||||
code='99999', event=env[0],
|
||||
status=Order.STATUS_PENDING,
|
||||
datetime=now(), expires=now() + timedelta(days=10),
|
||||
total=12,
|
||||
sales_channel=env[0].organizer.sales_channels.get(identifier="web"),
|
||||
)
|
||||
process_banktransfers(orga_job, [{
|
||||
'payer': 'Karla Kundin',
|
||||
'reference': 'Bestellungen DUMMY-1Z3AS DUMMY-99999',
|
||||
@@ -468,12 +473,14 @@ def test_split_payment_success(env, orga_job):
|
||||
|
||||
@pytest.mark.django_db
|
||||
def test_split_payment_mismatch(env, orga_job):
|
||||
o4 = Order.objects.create(
|
||||
code='99999', event=env[0],
|
||||
status=Order.STATUS_PENDING,
|
||||
datetime=now(), expires=now() + timedelta(days=10),
|
||||
total=12
|
||||
)
|
||||
with scopes_disabled():
|
||||
o4 = Order.objects.create(
|
||||
code='99999', event=env[0],
|
||||
status=Order.STATUS_PENDING,
|
||||
datetime=now(), expires=now() + timedelta(days=10),
|
||||
total=12,
|
||||
sales_channel=env[0].organizer.sales_channels.get(identifier="web"),
|
||||
)
|
||||
process_banktransfers(orga_job, [{
|
||||
'payer': 'Karla Kundin',
|
||||
'reference': 'Bestellungen DUMMY-1Z3AS DUMMY-99999',
|
||||
|
||||
@@ -47,6 +47,7 @@ def env():
|
||||
code='1Z3AS', event=event, email='admin@localhost',
|
||||
status=Order.STATUS_PAID,
|
||||
datetime=now(), expires=now() + timedelta(days=10),
|
||||
sales_channel=o.sales_channels.get(identifier="web"),
|
||||
total=23
|
||||
)
|
||||
payment = OrderPayment.objects.create(
|
||||
|
||||
@@ -48,7 +48,8 @@ def env():
|
||||
code='1Z3AS', event=event, email='admin@localhost',
|
||||
status=Order.STATUS_PAID,
|
||||
datetime=now(), expires=now() + timedelta(days=10),
|
||||
total=23
|
||||
total=23,
|
||||
sales_channel=o.sales_channels.get(identifier="web"),
|
||||
)
|
||||
refund = OrderRefund.objects.create(
|
||||
order=order,
|
||||
@@ -74,7 +75,8 @@ def refund_huf(env):
|
||||
code='HUFFY', event=event, email='admin@localhost',
|
||||
status=Order.STATUS_PAID,
|
||||
datetime=now(), expires=now() + timedelta(days=10),
|
||||
total=42
|
||||
total=42,
|
||||
sales_channel=env[0].organizer.sales_channels.get(identifier="web"),
|
||||
)
|
||||
refund = OrderRefund.objects.create(
|
||||
order=order,
|
||||
|
||||
@@ -49,6 +49,7 @@ def env():
|
||||
status=Order.STATUS_PAID,
|
||||
datetime=now(), expires=now() + timedelta(days=10),
|
||||
total=Decimal('13.37'),
|
||||
sales_channel=o.sales_channels.get(identifier="web"),
|
||||
)
|
||||
o1.payments.create(
|
||||
amount=o1.total,
|
||||
|
||||
@@ -50,6 +50,7 @@ def env():
|
||||
status=Order.STATUS_PAID,
|
||||
datetime=now(), expires=now() + timedelta(days=10),
|
||||
total=Decimal('43.59'),
|
||||
sales_channel=o.sales_channels.get(identifier="web"),
|
||||
)
|
||||
o1.payments.create(
|
||||
amount=o1.total,
|
||||
|
||||
@@ -57,11 +57,12 @@ def checkin_list(event):
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def order(item):
|
||||
def order(event, item):
|
||||
"""Returns an order instance"""
|
||||
o = Order.objects.create(event=item.event, status=Order.STATUS_PENDING,
|
||||
expires=now() + datetime.timedelta(hours=1),
|
||||
total=13, code='DUMMY', email='dummy@dummy.test',
|
||||
sales_channel=event.organizer.sales_channels.get(identifier="web"),
|
||||
datetime=now(), locale='en')
|
||||
return o
|
||||
|
||||
|
||||
@@ -284,12 +284,14 @@ def test_sendmail_rule_all_subevents(event_series, subevent1, subevent2, item):
|
||||
o1 = Order.objects.create(event=item.event, status=Order.STATUS_PAID,
|
||||
expires=now() + datetime.timedelta(hours=1),
|
||||
total=13, code='DUMMY1', email='dummy1@dummy.test',
|
||||
sales_channel=event_series.organizer.sales_channels.get(identifier="web"),
|
||||
datetime=now(), locale='en')
|
||||
o1.all_positions.create(item=item, price=13, subevent=subevent1)
|
||||
o1.all_positions.create(item=item, price=13, subevent=subevent2)
|
||||
o2 = Order.objects.create(event=item.event, status=Order.STATUS_PAID,
|
||||
expires=now() + datetime.timedelta(hours=1),
|
||||
total=13, code='DUMMY2', email='dummy2@dummy.test',
|
||||
sales_channel=event_series.organizer.sales_channels.get(identifier="web"),
|
||||
datetime=now(), locale='en')
|
||||
o2.all_positions.create(item=item, price=23, subevent=subevent1)
|
||||
o2.all_positions.create(item=item, price=23, subevent=subevent2)
|
||||
|
||||
@@ -173,10 +173,11 @@ def test_sendmail_multi_locales(logged_in_client, sendmail_url, event, item):
|
||||
event.settings.set('locales', ['en', 'de'])
|
||||
|
||||
with scopes_disabled():
|
||||
o = Order.objects.create(event=item.event, status=Order.STATUS_PAID,
|
||||
o = Order.objects.create(event=event, status=Order.STATUS_PAID,
|
||||
expires=now() + datetime.timedelta(hours=1),
|
||||
total=13, code='DUMMY', email='dummy@dummy.test',
|
||||
datetime=now(),
|
||||
sales_channel=event.organizer.sales_channels.get(identifier="web"),
|
||||
locale='de')
|
||||
OrderPosition.objects.create(order=o, item=item, price=13)
|
||||
|
||||
|
||||
@@ -60,7 +60,8 @@ def env():
|
||||
code='FOOBAR', event=event, email='dummy@dummy.test',
|
||||
status=Order.STATUS_PENDING,
|
||||
datetime=now(), expires=now() + timedelta(days=10),
|
||||
total=Decimal('13.37')
|
||||
total=Decimal('13.37'),
|
||||
sales_channel=o.sales_channels.get(identifier="web"),
|
||||
)
|
||||
yield event, o1
|
||||
|
||||
|
||||
@@ -49,6 +49,7 @@ def env():
|
||||
status=Order.STATUS_PAID,
|
||||
datetime=now(), expires=now() + timedelta(days=10),
|
||||
total=Decimal('13.37'),
|
||||
sales_channel=o.sales_channels.get(identifier="web"),
|
||||
)
|
||||
return event, o1
|
||||
|
||||
|
||||
@@ -51,7 +51,8 @@ def event():
|
||||
code='FOO', event=event, email='dummy@dummy.test', phone="+498912345678",
|
||||
status=Order.STATUS_PAID,
|
||||
datetime=datetime.datetime(2019, 2, 22, 14, 0, 0, tzinfo=datetime.timezone.utc), expires=now() + datetime.timedelta(days=10),
|
||||
total=33, locale='en'
|
||||
total=33, locale='en',
|
||||
sales_channel=event.organizer.sales_channels.get(identifier="web"),
|
||||
)
|
||||
item_ticket = Item.objects.create(event=event, name="Ticket", default_price=23, admission=True)
|
||||
OrderPosition.objects.create(
|
||||
@@ -150,7 +151,8 @@ def test_csv_order_by_inherited_name_parts(event): # noqa
|
||||
code='BAR', event=event, email='dummy@dummy.test', phone='+498912345678',
|
||||
status=Order.STATUS_PAID,
|
||||
datetime=datetime.datetime(2019, 2, 22, 14, 0, 0, tzinfo=datetime.timezone.utc), expires=now() + datetime.timedelta(days=10),
|
||||
total=33, locale='en'
|
||||
total=33, locale='en',
|
||||
sales_channel=event.organizer.sales_channels.get(identifier="web"),
|
||||
)
|
||||
OrderPosition.objects.create(
|
||||
order=order2,
|
||||
|
||||
@@ -43,7 +43,7 @@ def env():
|
||||
t.limit_events.add(event)
|
||||
item1 = Item.objects.create(event=event, name="Ticket", default_price=23)
|
||||
tl = event.ticket_layouts.create(name="Foo", default=True, layout='[{"a": 2}]')
|
||||
TicketLayoutItem.objects.create(layout=tl, item=item1)
|
||||
TicketLayoutItem.objects.create(layout=tl, item=item1, sales_channel=o.sales_channels.get(identifier="web"))
|
||||
return event, tl, item1
|
||||
|
||||
|
||||
|
||||
@@ -134,7 +134,7 @@ class TicketLayoutFormTest(SoupTest):
|
||||
def test_item_copy(self):
|
||||
with scopes_disabled():
|
||||
bl2 = self.event1.ticket_layouts.create(name="Layout 2")
|
||||
TicketLayoutItem.objects.create(item=self.item1, layout=bl2)
|
||||
TicketLayoutItem.objects.create(item=self.item1, layout=bl2, sales_channel=self.orga1.sales_channels.get(identifier="web"))
|
||||
self.client.post('/control/event/%s/%s/items/add' % (self.orga1.slug, self.event1.slug), {
|
||||
'name_0': 'Intermediate',
|
||||
'default_price': '23.00',
|
||||
@@ -150,7 +150,7 @@ class TicketLayoutFormTest(SoupTest):
|
||||
def test_copy_event(self):
|
||||
with scopes_disabled():
|
||||
bl2 = self.event1.ticket_layouts.create(name="Layout 2")
|
||||
TicketLayoutItem.objects.create(item=self.item1, layout=bl2)
|
||||
TicketLayoutItem.objects.create(item=self.item1, layout=bl2, sales_channel=self.orga1.sales_channels.get(identifier="web"))
|
||||
self.post_doc('/control/events/add', {
|
||||
'event_wizard-current_step': 'foundation',
|
||||
'event_wizard-prefix': 'event_wizard',
|
||||
|
||||
@@ -46,6 +46,7 @@ def env0():
|
||||
status=Order.STATUS_PENDING,
|
||||
datetime=now(), expires=now() + timedelta(days=10),
|
||||
total=Decimal('13.37'),
|
||||
sales_channel=o.sales_channels.get(identifier="web"),
|
||||
)
|
||||
shirt = Item.objects.create(event=event, name='T-Shirt', default_price=12)
|
||||
shirt_red = ItemVariation.objects.create(item=shirt, default_price=14, value="Red")
|
||||
|
||||
Reference in New Issue
Block a user