mirror of
https://github.com/pretix/pretix.git
synced 2026-05-04 15:04:03 +00:00
Added a few more tests
This commit is contained in:
@@ -4,8 +4,8 @@ from django.test import TestCase
|
||||
from django.utils.timezone import now
|
||||
|
||||
from pretix.base.models import (
|
||||
CartPosition, Event, Item, ItemVariation, Order, OrderPosition, Organizer,
|
||||
Property, PropertyValue, Question, Quota, User,
|
||||
CartPosition, Event, Item, ItemCategory, ItemVariation, Order,
|
||||
OrderPosition, Organizer, Property, PropertyValue, Question, Quota, User,
|
||||
)
|
||||
from pretix.base.services.orders import mark_order_paid
|
||||
from pretix.base.types import VariationDict
|
||||
@@ -405,3 +405,30 @@ class OrderTestCase(BaseQuotaTestCase):
|
||||
assert self.order.can_modify_answers
|
||||
self.event.settings.set('last_order_modification_date', now() - timedelta(days=1))
|
||||
assert not self.order.can_modify_answers
|
||||
|
||||
|
||||
class ItemCategoryTest(TestCase):
|
||||
"""
|
||||
This test case tests various methods around the category model.
|
||||
"""
|
||||
@classmethod
|
||||
def setUpTestData(cls):
|
||||
o = Organizer.objects.create(name='Dummy', slug='dummy')
|
||||
cls.event = Event.objects.create(
|
||||
organizer=o, name='Dummy', slug='dummy',
|
||||
date_from=now(),
|
||||
)
|
||||
|
||||
def test_sorting(self):
|
||||
c1 = ItemCategory.objects.create(event=self.event)
|
||||
c2 = ItemCategory.objects.create(event=self.event)
|
||||
assert c1 < c2
|
||||
c1.position = 2
|
||||
c2.position = 1
|
||||
assert c2 < c1
|
||||
assert not c1 < c2
|
||||
assert c1 > c2
|
||||
c1.position = 1
|
||||
c2.position = 2
|
||||
assert c1 < c2
|
||||
assert c2 > c1
|
||||
|
||||
@@ -85,3 +85,16 @@ def test_order_transition_to_paid_success(client, env):
|
||||
})
|
||||
o = Order.objects.current.get(identity=env[2].identity)
|
||||
assert o.status == Order.STATUS_PAID
|
||||
|
||||
|
||||
@pytest.mark.django_db
|
||||
def test_order_transition_to_unpaid_success(client, env):
|
||||
o = Order.objects.current.get(identity=env[2].identity)
|
||||
o.status = Order.STATUS_PAID
|
||||
o.save()
|
||||
client.login(identifier='dummy@dummy.dummy', password='dummy')
|
||||
client.post('/control/event/dummy/dummy/orders/FOO/transition', {
|
||||
'status': 'n'
|
||||
})
|
||||
o = Order.objects.current.get(identity=env[2].identity)
|
||||
assert o.status == Order.STATUS_PENDING
|
||||
|
||||
@@ -237,6 +237,21 @@ class DeadlineTest(EventTestMixin, TestCase):
|
||||
self.assertIn('alert-danger', response.rendered_content)
|
||||
self.assertIn('is over', response.rendered_content)
|
||||
|
||||
def test_not_set(self):
|
||||
self.event.presale_start = None
|
||||
self.event.presale_end = None
|
||||
self.event.save()
|
||||
response = self.client.get(
|
||||
'/%s/%s/' % (self.orga.slug, self.event.slug)
|
||||
)
|
||||
self.assertEqual(response.status_code, 200)
|
||||
self.assertNotIn('alert-info', response.rendered_content)
|
||||
self.assertIn('checkout-button-row', response.rendered_content)
|
||||
response = self.client.post(
|
||||
'/%s/%s/cart/add' % (self.orga.slug, self.event.slug)
|
||||
)
|
||||
self.assertNotEqual(response.status_code, 403)
|
||||
|
||||
def test_in_time(self):
|
||||
self.event.presale_start = now() - datetime.timedelta(days=1)
|
||||
self.event.presale_end = now() + datetime.timedelta(days=1)
|
||||
|
||||
Reference in New Issue
Block a user