mirror of
https://github.com/pretix/pretix.git
synced 2026-05-04 15:04:03 +00:00
Removed CleanerVersion layer [backwards-incompatible!]
This commit is contained in:
@@ -21,7 +21,7 @@ def event():
|
||||
def test_locking_exclusive(event):
|
||||
with event.lock():
|
||||
with pytest.raises(EventLock.LockTimeoutException):
|
||||
ev = Event.objects.current.get(identity=event.identity)
|
||||
ev = Event.objects.get(id=event.id)
|
||||
with ev.lock():
|
||||
pass
|
||||
|
||||
@@ -42,7 +42,7 @@ def test_lock_timeout_steal(event):
|
||||
locking.LOCK_TIMEOUT = 5
|
||||
locking.lock_event(event)
|
||||
with pytest.raises(EventLock.LockTimeoutException):
|
||||
ev = Event.objects.current.get(identity=event.identity)
|
||||
ev = Event.objects.get(id=event.id)
|
||||
locking.lock_event(ev)
|
||||
time.sleep(6)
|
||||
locking.lock_event(ev)
|
||||
|
||||
@@ -146,23 +146,6 @@ class ItemVariationsTest(TestCase):
|
||||
self.assertEqual(num_variations, 1)
|
||||
|
||||
|
||||
class VersionableTestCase(TestCase):
|
||||
def test_shallow_cone(self):
|
||||
o = Organizer.objects.create(name='Dummy', slug='dummy')
|
||||
event = Event.objects.create(
|
||||
organizer=o, name='Dummy', slug='dummy',
|
||||
date_from=now(),
|
||||
)
|
||||
item = Item.objects.create(event=event, name='Dummy', default_price=14)
|
||||
quota_old = Quota.objects.create(event=event, name='All', size=5)
|
||||
quota_old.items.add(item)
|
||||
quota_new = quota_old.clone_shallow()
|
||||
self.assertIsNone(quota_new.version_end_date)
|
||||
self.assertIsNotNone(quota_old.version_end_date)
|
||||
self.assertEqual(quota_new.items.count(), 0)
|
||||
self.assertEqual(quota_old.items.count(), 1)
|
||||
|
||||
|
||||
class UserTestCase(TestCase):
|
||||
def test_name(self):
|
||||
u = User.objects.create_user('test@foo.bar', 'test')
|
||||
@@ -336,14 +319,14 @@ class OrderTestCase(BaseQuotaTestCase):
|
||||
self.quota.size = 0
|
||||
self.quota.save()
|
||||
mark_order_paid(self.order)
|
||||
self.order = Order.objects.current.get(identity=self.order.identity)
|
||||
self.order = Order.objects.get(id=self.order.id)
|
||||
self.assertEqual(self.order.status, Order.STATUS_PAID)
|
||||
|
||||
def test_paid_expired_available(self):
|
||||
self.order.expires = now() - timedelta(days=2)
|
||||
self.order.save()
|
||||
mark_order_paid(self.order)
|
||||
self.order = Order.objects.current.get(identity=self.order.identity)
|
||||
self.order = Order.objects.get(id=self.order.id)
|
||||
self.assertEqual(self.order.status, Order.STATUS_PAID)
|
||||
|
||||
def test_paid_expired_partial(self):
|
||||
@@ -356,7 +339,7 @@ class OrderTestCase(BaseQuotaTestCase):
|
||||
self.assertFalse(True, 'This should have raised an exception.')
|
||||
except Quota.QuotaExceededException:
|
||||
pass
|
||||
self.order = Order.objects.current.get(identity=self.order.identity)
|
||||
self.order = Order.objects.get(id=self.order.id)
|
||||
self.assertIn(self.order.status, (Order.STATUS_PENDING, Order.STATUS_EXPIRED))
|
||||
|
||||
def test_paid_expired_unavailable(self):
|
||||
@@ -369,7 +352,7 @@ class OrderTestCase(BaseQuotaTestCase):
|
||||
self.assertFalse(True, 'This should have raised an exception.')
|
||||
except Quota.QuotaExceededException:
|
||||
pass
|
||||
self.order = Order.objects.current.get(identity=self.order.identity)
|
||||
self.order = Order.objects.get(id=self.order.id)
|
||||
self.assertIn(self.order.status, (Order.STATUS_PENDING, Order.STATUS_EXPIRED))
|
||||
|
||||
def test_paid_expired_unavailable_force(self):
|
||||
@@ -378,7 +361,7 @@ class OrderTestCase(BaseQuotaTestCase):
|
||||
self.quota.size = 0
|
||||
self.quota.save()
|
||||
mark_order_paid(self.order, force=True)
|
||||
self.order = Order.objects.current.get(identity=self.order.identity)
|
||||
self.order = Order.objects.get(id=self.order.id)
|
||||
self.assertEqual(self.order.status, Order.STATUS_PAID)
|
||||
|
||||
def test_can_modify_answers(self):
|
||||
|
||||
@@ -29,7 +29,7 @@ class SettingsTestCase(TestCase):
|
||||
self.assertEqual(self.organizer.settings.test, 'foo')
|
||||
|
||||
# Reload object
|
||||
self.organizer = Organizer.objects.get(identity=self.organizer.identity)
|
||||
self.organizer = Organizer.objects.get(id=self.organizer.id)
|
||||
self.assertEqual(self.organizer.settings.test, 'foo')
|
||||
|
||||
def test_event_set_explicit(self):
|
||||
@@ -37,7 +37,7 @@ class SettingsTestCase(TestCase):
|
||||
self.assertEqual(self.event.settings.test, 'foo')
|
||||
|
||||
# Reload object
|
||||
self.event = Event.objects.get(identity=self.event.identity)
|
||||
self.event = Event.objects.get(id=self.event.id)
|
||||
self.assertEqual(self.event.settings.test, 'foo')
|
||||
|
||||
def test_event_set_twice(self):
|
||||
@@ -46,7 +46,7 @@ class SettingsTestCase(TestCase):
|
||||
self.assertEqual(self.event.settings.test, 'foo')
|
||||
|
||||
# Reload object
|
||||
self.event = Event.objects.get(identity=self.event.identity)
|
||||
self.event = Event.objects.get(id=self.event.id)
|
||||
self.assertEqual(self.event.settings.test, 'foo')
|
||||
|
||||
def test_event_set_on_organizer(self):
|
||||
@@ -55,18 +55,7 @@ class SettingsTestCase(TestCase):
|
||||
self.assertEqual(self.event.settings.test, 'foo')
|
||||
|
||||
# Reload object
|
||||
self.organizer = Organizer.objects.get(identity=self.organizer.identity)
|
||||
|
||||
def test_versioning(self):
|
||||
self.organizer.settings.test = 'foo'
|
||||
t1 = now()
|
||||
self.assertEqual(self.organizer.settings.test, 'foo')
|
||||
self.assertEqual(self.event.settings.test, 'foo')
|
||||
|
||||
self.organizer.settings.test = 'bar'
|
||||
|
||||
assert OrganizerSetting.objects.as_of(t1).get(object=self.organizer, key='test').value == 'foo'
|
||||
assert OrganizerSetting.objects.current.get(object=self.organizer, key='test').value == 'bar'
|
||||
self.organizer = Organizer.objects.get(id=self.organizer.id)
|
||||
|
||||
def test_override_organizer(self):
|
||||
self.organizer.settings.test = 'foo'
|
||||
@@ -75,8 +64,8 @@ class SettingsTestCase(TestCase):
|
||||
self.assertEqual(self.event.settings.test, 'bar')
|
||||
|
||||
# Reload object
|
||||
self.organizer = Organizer.objects.get(identity=self.organizer.identity)
|
||||
self.event = Event.objects.get(identity=self.event.identity)
|
||||
self.organizer = Organizer.objects.get(id=self.organizer.id)
|
||||
self.event = Event.objects.get(id=self.event.id)
|
||||
self.assertEqual(self.organizer.settings.test, 'foo')
|
||||
self.assertEqual(self.event.settings.test, 'bar')
|
||||
|
||||
@@ -103,13 +92,13 @@ class SettingsTestCase(TestCase):
|
||||
del self.event.settings.test
|
||||
self.assertEqual(self.event.settings.test, 'foo')
|
||||
|
||||
self.event = Event.objects.get(identity=self.event.identity)
|
||||
self.event = Event.objects.get(id=self.event.id)
|
||||
self.assertEqual(self.event.settings.test, 'foo')
|
||||
|
||||
del self.organizer.settings.test
|
||||
self.assertIsNone(self.organizer.settings.test)
|
||||
|
||||
self.organizer = Organizer.objects.get(identity=self.organizer.identity)
|
||||
self.organizer = Organizer.objects.get(id=self.organizer.id)
|
||||
self.assertIsNone(self.organizer.settings.test)
|
||||
|
||||
def test_serialize_str(self):
|
||||
@@ -196,7 +185,7 @@ class SettingsTestCase(TestCase):
|
||||
sandbox['bar'] = 'baz'
|
||||
sandbox.baz = 42
|
||||
|
||||
self.event = Event.objects.get(identity=self.event.identity)
|
||||
self.event = Event.objects.get(id=self.event.id)
|
||||
sandbox = SettingsSandbox('testing', 'foo', self.event)
|
||||
self.assertEqual(sandbox['bar'], 'baz')
|
||||
self.assertEqual(sandbox.baz, '42')
|
||||
|
||||
@@ -26,16 +26,9 @@ class EventsTest(BrowserTest):
|
||||
organizer=self.orga2, name='MRMCD14', slug='mrmcd14',
|
||||
date_from=datetime.datetime(2014, 9, 5, tzinfo=datetime.timezone.utc),
|
||||
)
|
||||
self.event4 = Event.objects.create(
|
||||
organizer=self.orga2, name='MRMCD00', slug='mrmcd00',
|
||||
date_from=datetime.datetime(2000, 9, 5, tzinfo=datetime.timezone.utc),
|
||||
)
|
||||
self.event4.delete()
|
||||
OrganizerPermission.objects.create(organizer=self.orga1, user=self.user)
|
||||
EventPermission.objects.create(event=self.event1, user=self.user, can_change_items=True,
|
||||
can_change_settings=True)
|
||||
EventPermission.objects.create(event=self.event4, user=self.user, can_change_items=True,
|
||||
can_change_settings=True)
|
||||
self.driver.implicitly_wait(10)
|
||||
self.driver.get('%s%s' % (self.live_server_url, '/control/login'))
|
||||
username_input = self.driver.find_element_by_name("email")
|
||||
@@ -51,7 +44,6 @@ class EventsTest(BrowserTest):
|
||||
self.assertIn("30C3", tabletext)
|
||||
self.assertNotIn("31C3", tabletext)
|
||||
self.assertNotIn("MRMCD14", tabletext)
|
||||
self.assertNotIn("MRMCD00", tabletext)
|
||||
|
||||
def test_settings(self):
|
||||
self.driver.get('%s/control/event/%s/%s/settings/' % (self.live_server_url, self.orga1.slug,
|
||||
|
||||
@@ -49,9 +49,8 @@ class CategoriesTest(ItemFormTest):
|
||||
|
||||
def test_update(self):
|
||||
c = ItemCategory.objects.create(event=self.event1, name="Entry tickets")
|
||||
t1 = now()
|
||||
self.driver.get('%s/control/event/%s/%s/categories/%s/' % (
|
||||
self.live_server_url, self.orga1.slug, self.event1.slug, c.identity
|
||||
self.live_server_url, self.orga1.slug, self.event1.slug, c.id
|
||||
))
|
||||
self.driver.find_element_by_name("name_0").clear()
|
||||
self.driver.find_element_by_name("name_0").send_keys('T-Shirts')
|
||||
@@ -59,8 +58,7 @@ class CategoriesTest(ItemFormTest):
|
||||
self.driver.find_element_by_class_name("alert-success")
|
||||
self.assertIn("T-Shirts", self.driver.find_element_by_css_selector("#page-wrapper table").text)
|
||||
self.assertNotIn("Entry tickets", self.driver.find_element_by_css_selector("#page-wrapper table").text)
|
||||
assert str(ItemCategory.objects.as_of(t1).get(identity=c.identity).name) == 'Entry tickets'
|
||||
assert str(ItemCategory.objects.current.get(identity=c.identity).name) == 'T-Shirts'
|
||||
assert str(ItemCategory.objects.get(id=c.id).name) == 'T-Shirts'
|
||||
|
||||
@unittest.skipIf('TRAVIS' in os.environ, 'See docstring for details.')
|
||||
def test_sort(self):
|
||||
@@ -98,15 +96,13 @@ class CategoriesTest(ItemFormTest):
|
||||
|
||||
def test_delete(self):
|
||||
c = ItemCategory.objects.create(event=self.event1, name="Entry tickets")
|
||||
t1 = now()
|
||||
self.driver.get('%s/control/event/%s/%s/categories/%s/delete' % (
|
||||
self.live_server_url, self.orga1.slug, self.event1.slug, c.identity
|
||||
self.live_server_url, self.orga1.slug, self.event1.slug, c.id
|
||||
))
|
||||
self.driver.find_element_by_class_name("btn-danger").click()
|
||||
self.driver.find_element_by_class_name("alert-success")
|
||||
self.assertNotIn("Entry tickets", self.driver.find_element_by_css_selector("#page-wrapper table").text)
|
||||
assert ItemCategory.objects.as_of(t1).filter(identity=c.identity).exists()
|
||||
assert not ItemCategory.objects.current.filter(identity=c.identity).exists()
|
||||
assert not ItemCategory.objects.filter(id=c.id).exists()
|
||||
|
||||
|
||||
class PropertiesTest(ItemFormTest):
|
||||
@@ -134,9 +130,8 @@ class PropertiesTest(ItemFormTest):
|
||||
c = Property.objects.create(event=self.event1, name="Size")
|
||||
p1 = PropertyValue.objects.create(prop=c, position=0, value="S")
|
||||
p2 = PropertyValue.objects.create(prop=c, position=1, value="M")
|
||||
t1 = now()
|
||||
self.driver.get('%s/control/event/%s/%s/properties/%s/' % (
|
||||
self.live_server_url, self.orga1.slug, self.event1.slug, c.identity
|
||||
self.live_server_url, self.orga1.slug, self.event1.slug, c.id
|
||||
))
|
||||
self.driver.find_element_by_css_selector("#id_name_0").clear()
|
||||
self.driver.find_element_by_css_selector("#id_name_0").send_keys('Color')
|
||||
@@ -150,25 +145,20 @@ class PropertiesTest(ItemFormTest):
|
||||
self.driver.find_element_by_class_name("alert-success")
|
||||
self.assertEqual("red", self.driver.find_element_by_name("values-0-value_0").get_attribute("value"))
|
||||
self.assertEqual("blue", self.driver.find_element_by_name("values-1-value_0").get_attribute("value"))
|
||||
assert str(Property.objects.current.get(identity=c.identity).name) == 'Color'
|
||||
assert str(PropertyValue.objects.as_of(t1).get(identity=p2.identity).value) == 'M'
|
||||
assert str(PropertyValue.objects.current.get(identity=p2.identity).value) == 'red'
|
||||
assert str(PropertyValue.objects.as_of(t1).get(identity=p1.identity).value) == 'S'
|
||||
assert not PropertyValue.objects.current.filter(identity=p1.identity).exists()
|
||||
assert str(Property.objects.as_of(t1).get(identity=c.identity).name) == 'Size'
|
||||
assert str(Property.objects.get(id=c.id).name) == 'Color'
|
||||
assert str(PropertyValue.objects.get(id=p2.id).value) == 'red'
|
||||
assert not PropertyValue.objects.filter(id=p1.id).exists()
|
||||
|
||||
@unittest.skip
|
||||
def test_delete(self):
|
||||
c = Property.objects.create(event=self.event1, name="Size")
|
||||
t1 = now()
|
||||
self.driver.get('%s/control/event/%s/%s/properties/%s/delete' % (
|
||||
self.live_server_url, self.orga1.slug, self.event1.slug, c.identity
|
||||
self.live_server_url, self.orga1.slug, self.event1.slug, c.id
|
||||
))
|
||||
self.driver.find_element_by_class_name("btn-danger").click()
|
||||
self.driver.find_element_by_class_name("alert-success")
|
||||
self.assertNotIn("Size", self.driver.find_element_by_css_selector("#page-wrapper table").text)
|
||||
assert Property.objects.as_of(t1).filter(identity=c.identity).exists()
|
||||
assert not Property.objects.current.filter(identity=c.identity).exists()
|
||||
assert not Property.objects.filter(id=c.id).exists()
|
||||
|
||||
|
||||
class QuestionsTest(ItemFormTest):
|
||||
@@ -185,9 +175,8 @@ class QuestionsTest(ItemFormTest):
|
||||
|
||||
def test_update(self):
|
||||
c = Question.objects.create(event=self.event1, question="What is your shoe size?", type="N", required=True)
|
||||
t1 = now()
|
||||
self.driver.get('%s/control/event/%s/%s/questions/%s/' % (
|
||||
self.live_server_url, self.orga1.slug, self.event1.slug, c.identity
|
||||
self.live_server_url, self.orga1.slug, self.event1.slug, c.id
|
||||
))
|
||||
self.driver.find_element_by_name("question_0").clear()
|
||||
self.driver.find_element_by_name("question_0").send_keys('How old are you?')
|
||||
@@ -195,22 +184,19 @@ class QuestionsTest(ItemFormTest):
|
||||
self.driver.find_element_by_class_name("alert-success")
|
||||
self.assertIn("How old", self.driver.find_element_by_css_selector("#page-wrapper table").text)
|
||||
self.assertNotIn("shoe size", self.driver.find_element_by_css_selector("#page-wrapper table").text)
|
||||
c = Question.objects.current.get(identity=c.identity)
|
||||
c = Question.objects.get(id=c.id)
|
||||
self.assertTrue(c.required)
|
||||
assert str(Question.objects.current.get(identity=c.identity).question) == 'How old are you?'
|
||||
assert str(Question.objects.as_of(t1).get(identity=c.identity).question) == 'What is your shoe size?'
|
||||
assert str(Question.objects.get(id=c.id).question) == 'How old are you?'
|
||||
|
||||
def test_delete(self):
|
||||
c = Question.objects.create(event=self.event1, question="What is your shoe size?", type="N", required=True)
|
||||
t1 = now()
|
||||
self.driver.get('%s/control/event/%s/%s/questions/%s/delete' % (
|
||||
self.live_server_url, self.orga1.slug, self.event1.slug, c.identity
|
||||
self.live_server_url, self.orga1.slug, self.event1.slug, c.id
|
||||
))
|
||||
self.driver.find_element_by_class_name("btn-danger").click()
|
||||
self.driver.find_element_by_class_name("alert-success")
|
||||
self.assertNotIn("shoe size", self.driver.find_element_by_css_selector("#page-wrapper table").text)
|
||||
assert Question.objects.as_of(t1).filter(identity=c.identity).exists()
|
||||
assert not Question.objects.current.filter(identity=c.identity).exists()
|
||||
assert not Question.objects.filter(id=c.id).exists()
|
||||
|
||||
|
||||
class QuotaTest(ItemFormTest):
|
||||
@@ -232,36 +218,31 @@ class QuotaTest(ItemFormTest):
|
||||
prop1 = Property.objects.create(event=self.event1, name="Level", item=item2)
|
||||
PropertyValue.objects.create(prop=prop1, value="Silver")
|
||||
PropertyValue.objects.create(prop=prop1, value="Gold")
|
||||
t1 = now()
|
||||
self.driver.get('%s/control/event/%s/%s/quotas/%s/' % (
|
||||
self.live_server_url, self.orga1.slug, self.event1.slug, c.identity
|
||||
self.live_server_url, self.orga1.slug, self.event1.slug, c.id
|
||||
))
|
||||
self.driver.find_element_by_name("size").clear()
|
||||
self.driver.find_element_by_name("size").send_keys('350')
|
||||
# self.scroll_and_click(self.driver.find_element_by_css_selector('.panel-group .panel:nth-child(1)
|
||||
# .panel-title a'))
|
||||
# time.sleep(1)
|
||||
self.scroll_and_click(self.driver.find_element_by_name("item_%s" % item1.identity))
|
||||
self.scroll_and_click(self.driver.find_element_by_name("item_%s" % item1.id))
|
||||
# self.driver.find_element_by_css_selector('.panel-group .panel:nth-child(2) .panel-title a').click()
|
||||
# time.sleep(1)
|
||||
self.scroll_and_click(self.driver.find_elements_by_css_selector("input[name=item_%s]" % item2.identity)[1])
|
||||
self.scroll_and_click(self.driver.find_elements_by_css_selector("input[name=item_%s]" % item2.id)[1])
|
||||
self.scroll_and_click(self.driver.find_element_by_class_name("btn-save"))
|
||||
self.driver.find_element_by_class_name("alert-success")
|
||||
self.assertIn("350", self.driver.find_element_by_css_selector("#page-wrapper table").text)
|
||||
self.assertNotIn("500", self.driver.find_element_by_css_selector("#page-wrapper table").text)
|
||||
assert Quota.objects.current.get(identity=c.identity).size == 350
|
||||
assert Quota.objects.as_of(t1).get(identity=c.identity).size == 500
|
||||
assert item1 in Quota.objects.current.get(identity=c.identity).items.all()
|
||||
assert item1 not in Quota.objects.as_of(t1).get(identity=c.identity).items.all()
|
||||
assert Quota.objects.get(id=c.id).size == 350
|
||||
assert item1 in Quota.objects.get(id=c.id).items.all()
|
||||
|
||||
def test_delete(self):
|
||||
c = Quota.objects.create(event=self.event1, name="Full house", size=500)
|
||||
t1 = now()
|
||||
self.driver.get('%s/control/event/%s/%s/quotas/%s/delete' % (
|
||||
self.live_server_url, self.orga1.slug, self.event1.slug, c.identity
|
||||
self.live_server_url, self.orga1.slug, self.event1.slug, c.id
|
||||
))
|
||||
self.driver.find_element_by_class_name("btn-danger").click()
|
||||
self.driver.find_element_by_class_name("alert-success")
|
||||
self.assertNotIn("Full house", self.driver.find_element_by_css_selector("#page-wrapper table").text)
|
||||
assert Quota.objects.as_of(t1).filter(identity=c.identity).exists()
|
||||
assert not Quota.objects.current.filter(identity=c.identity).exists()
|
||||
assert not Quota.objects.filter(id=c.id).exists()
|
||||
|
||||
@@ -60,7 +60,7 @@ def test_order_list(client, env):
|
||||
assert 'FOO' in response.rendered_content
|
||||
response = client.get('/control/event/dummy/dummy/orders/?item=15')
|
||||
assert 'FOO' not in response.rendered_content
|
||||
response = client.get('/control/event/dummy/dummy/orders/?item=%s' % env[3].identity)
|
||||
response = client.get('/control/event/dummy/dummy/orders/?item=%s' % env[3].id)
|
||||
assert 'FOO' in response.rendered_content
|
||||
|
||||
|
||||
@@ -80,13 +80,13 @@ def test_order_transition_to_paid_in_time_success(client, env):
|
||||
client.post('/control/event/dummy/dummy/orders/FOO/transition', {
|
||||
'status': 'p'
|
||||
})
|
||||
o = Order.objects.current.get(identity=env[2].identity)
|
||||
o = Order.objects.get(id=env[2].id)
|
||||
assert o.status == Order.STATUS_PAID
|
||||
|
||||
|
||||
@pytest.mark.django_db
|
||||
def test_order_transition_to_paid_expired_quota_left(client, env):
|
||||
o = Order.objects.current.get(identity=env[2].identity)
|
||||
o = Order.objects.get(id=env[2].id)
|
||||
o.expires = now() - timedelta(days=2)
|
||||
o.save()
|
||||
q = Quota.objects.create(event=env[0], size=10)
|
||||
@@ -95,13 +95,13 @@ def test_order_transition_to_paid_expired_quota_left(client, env):
|
||||
client.post('/control/event/dummy/dummy/orders/FOO/transition', {
|
||||
'status': 'p'
|
||||
})
|
||||
o = Order.objects.current.get(identity=env[2].identity)
|
||||
o = Order.objects.get(id=env[2].id)
|
||||
assert o.status == Order.STATUS_PAID
|
||||
|
||||
|
||||
@pytest.mark.django_db
|
||||
def test_order_transition_to_paid_expired_quota_full(client, env):
|
||||
o = Order.objects.current.get(identity=env[2].identity)
|
||||
o = Order.objects.get(id=env[2].id)
|
||||
o.expires = now() - timedelta(days=2)
|
||||
o.save()
|
||||
q = Quota.objects.create(event=env[0], size=0)
|
||||
@@ -110,7 +110,7 @@ def test_order_transition_to_paid_expired_quota_full(client, env):
|
||||
client.post('/control/event/dummy/dummy/orders/FOO/transition', {
|
||||
'status': 'p'
|
||||
})
|
||||
o = Order.objects.current.get(identity=env[2].identity)
|
||||
o = Order.objects.get(id=env[2].id)
|
||||
assert o.status == Order.STATUS_PENDING
|
||||
|
||||
|
||||
@@ -134,14 +134,14 @@ def test_order_transition_to_paid_expired_quota_full(client, env):
|
||||
(Order.STATUS_REFUNDED, Order.STATUS_PENDING, False)
|
||||
])
|
||||
def test_order_transition(client, env, process):
|
||||
o = Order.objects.current.get(identity=env[2].identity)
|
||||
o = Order.objects.get(id=env[2].id)
|
||||
o.status = process[0]
|
||||
o.save()
|
||||
client.login(email='dummy@dummy.dummy', password='dummy')
|
||||
client.post('/control/event/dummy/dummy/orders/FOO/transition', {
|
||||
'status': process[1]
|
||||
})
|
||||
o = Order.objects.current.get(identity=env[2].identity)
|
||||
o = Order.objects.get(id=env[2].id)
|
||||
if process[2]:
|
||||
assert o.status == process[1]
|
||||
else:
|
||||
@@ -150,7 +150,7 @@ def test_order_transition(client, env, process):
|
||||
|
||||
@pytest.mark.django_db
|
||||
def test_order_detail_download_buttons_hidden_if_not_paid(client, env):
|
||||
o = Order.objects.current.get(identity=env[2].identity)
|
||||
o = Order.objects.get(id=env[2].id)
|
||||
o.status = Order.STATUS_PENDING
|
||||
o.save()
|
||||
env[0].settings.set('ticket_download', True)
|
||||
@@ -163,7 +163,7 @@ def test_order_detail_download_buttons_hidden_if_not_paid(client, env):
|
||||
|
||||
@pytest.mark.django_db
|
||||
def test_order_detail_download_buttons_visible(client, env):
|
||||
o = Order.objects.current.get(identity=env[2].identity)
|
||||
o = Order.objects.get(id=env[2].id)
|
||||
o.status = Order.STATUS_PAID
|
||||
o.save()
|
||||
env[0].settings.set('ticket_download', True)
|
||||
@@ -176,7 +176,7 @@ def test_order_detail_download_buttons_visible(client, env):
|
||||
|
||||
@pytest.mark.django_db
|
||||
def test_order_detail_download_buttons_hidden_of(client, env):
|
||||
o = Order.objects.current.get(identity=env[2].identity)
|
||||
o = Order.objects.get(id=env[2].id)
|
||||
o.status = Order.STATUS_PAID
|
||||
o.save()
|
||||
env[0].settings.set('ticket_download', False)
|
||||
@@ -189,7 +189,7 @@ def test_order_detail_download_buttons_hidden_of(client, env):
|
||||
|
||||
@pytest.mark.django_db
|
||||
def test_order_detail_download_buttons_visible_before_date(client, env):
|
||||
o = Order.objects.current.get(identity=env[2].identity)
|
||||
o = Order.objects.get(id=env[2].id)
|
||||
o.status = Order.STATUS_PAID
|
||||
o.save()
|
||||
env[0].settings.set('ticket_download', True)
|
||||
@@ -202,7 +202,7 @@ def test_order_detail_download_buttons_visible_before_date(client, env):
|
||||
|
||||
@pytest.mark.django_db
|
||||
def test_order_detail_download_buttons_hidden_if_provider_disabled(client, env):
|
||||
o = Order.objects.current.get(identity=env[2].identity)
|
||||
o = Order.objects.get(id=env[2].id)
|
||||
o.status = Order.STATUS_PAID
|
||||
o.save()
|
||||
env[0].settings.set('ticket_download', True)
|
||||
@@ -225,7 +225,7 @@ def test_order_download_unpaid(client, env):
|
||||
|
||||
@pytest.mark.django_db
|
||||
def test_order_download_unknown_provider(client, env):
|
||||
o = Order.objects.current.get(identity=env[2].identity)
|
||||
o = Order.objects.get(id=env[2].id)
|
||||
o.status = Order.STATUS_PAID
|
||||
o.save()
|
||||
env[0].settings.set('ticket_download', True)
|
||||
@@ -237,7 +237,7 @@ def test_order_download_unknown_provider(client, env):
|
||||
|
||||
@pytest.mark.django_db
|
||||
def test_order_download_disabled_provider(client, env):
|
||||
o = Order.objects.current.get(identity=env[2].identity)
|
||||
o = Order.objects.get(id=env[2].id)
|
||||
o.status = Order.STATUS_PAID
|
||||
o.save()
|
||||
env[0].settings.set('ticket_download', True)
|
||||
@@ -252,7 +252,7 @@ def test_order_download_disabled_provider(client, env):
|
||||
def test_order_download_success(client, env, mocker):
|
||||
from pretix.base.services import tickets
|
||||
mocker.patch('pretix.base.services.tickets.generate')
|
||||
o = Order.objects.current.get(identity=env[2].identity)
|
||||
o = Order.objects.get(id=env[2].id)
|
||||
o.status = Order.STATUS_PAID
|
||||
o.save()
|
||||
env[0].settings.set('ticket_download', True)
|
||||
@@ -261,7 +261,7 @@ def test_order_download_success(client, env, mocker):
|
||||
client.login(email='dummy@dummy.dummy', password='dummy')
|
||||
response = client.get('/control/event/dummy/dummy/orders/FOO/download/testdummy')
|
||||
assert response.status_code == 302
|
||||
tickets.generate.assert_any_call(o.identity, 'testdummy')
|
||||
tickets.generate.assert_any_call(o.id, 'testdummy')
|
||||
assert 'download' in response['Location']
|
||||
dl = response['Location']
|
||||
assert CachedTicket.objects.filter(order=o, provider='testdummy').exists()
|
||||
@@ -276,7 +276,7 @@ def test_order_download_success(client, env, mocker):
|
||||
|
||||
@pytest.mark.django_db
|
||||
def test_order_extend_not_pending(client, env):
|
||||
o = Order.objects.current.get(identity=env[2].identity)
|
||||
o = Order.objects.get(id=env[2].id)
|
||||
o.status = Order.STATUS_PAID
|
||||
o.save()
|
||||
client.login(email='dummy@dummy.dummy', password='dummy')
|
||||
@@ -296,13 +296,13 @@ def test_order_extend_not_expired(client, env):
|
||||
'expires': newdate
|
||||
}, follow=True)
|
||||
assert 'alert-success' in response.rendered_content
|
||||
o = Order.objects.current.get(identity=env[2].identity)
|
||||
o = Order.objects.get(id=env[2].id)
|
||||
assert o.expires.strftime("%Y-%m-%d %H:%M:%S") == newdate
|
||||
|
||||
|
||||
@pytest.mark.django_db
|
||||
def test_order_extend_expired_quota_left(client, env):
|
||||
o = Order.objects.current.get(identity=env[2].identity)
|
||||
o = Order.objects.get(id=env[2].id)
|
||||
o.expires = now() - timedelta(days=5)
|
||||
o.save()
|
||||
q = Quota.objects.create(event=env[0], size=3)
|
||||
@@ -313,13 +313,13 @@ def test_order_extend_expired_quota_left(client, env):
|
||||
'expires': newdate
|
||||
}, follow=True)
|
||||
assert 'alert-success' in response.rendered_content
|
||||
o = Order.objects.current.get(identity=env[2].identity)
|
||||
o = Order.objects.get(id=env[2].id)
|
||||
assert o.expires.strftime("%Y-%m-%d %H:%M:%S") == newdate
|
||||
|
||||
|
||||
@pytest.mark.django_db
|
||||
def test_order_extend_expired_quota_empty(client, env):
|
||||
o = Order.objects.current.get(identity=env[2].identity)
|
||||
o = Order.objects.get(id=env[2].id)
|
||||
o.expires = now() - timedelta(days=5)
|
||||
olddate = o.expires
|
||||
o.save()
|
||||
@@ -331,7 +331,7 @@ def test_order_extend_expired_quota_empty(client, env):
|
||||
'expires': newdate
|
||||
}, follow=True)
|
||||
assert 'alert-danger' in response.rendered_content
|
||||
o = Order.objects.current.get(identity=env[2].identity)
|
||||
o = Order.objects.get(id=env[2].id)
|
||||
assert o.expires.strftime("%Y-%m-%d %H:%M:%S") == olddate.strftime("%Y-%m-%d %H:%M:%S")
|
||||
|
||||
|
||||
|
||||
@@ -33,22 +33,22 @@ event_urls = [
|
||||
"settings/tickets",
|
||||
"items/",
|
||||
"items/add",
|
||||
"items/abc/",
|
||||
"items/abc/variations",
|
||||
"items/abc/properties",
|
||||
"items/1/",
|
||||
"items/1/variations",
|
||||
"items/1/properties",
|
||||
"categories/",
|
||||
"categories/add",
|
||||
"categories/abc/",
|
||||
"categories/abc/up",
|
||||
"categories/abc/down",
|
||||
"categories/abc/delete",
|
||||
"categories/2/",
|
||||
"categories/2/up",
|
||||
"categories/2/down",
|
||||
"categories/2/delete",
|
||||
"questions/",
|
||||
"questions/abc/delete",
|
||||
"questions/abc/",
|
||||
"questions/2/delete",
|
||||
"questions/2/",
|
||||
"questions/add",
|
||||
"quotas/",
|
||||
"quotas/abc/delete",
|
||||
"quotas/abc/",
|
||||
"quotas/2/delete",
|
||||
"quotas/2/",
|
||||
"quotas/add",
|
||||
"orders/ABC/transition",
|
||||
"orders/ABC/extend",
|
||||
@@ -56,7 +56,6 @@ event_urls = [
|
||||
"orders/",
|
||||
]
|
||||
|
||||
|
||||
organizer_urls = [
|
||||
'organizer/abc/edit',
|
||||
'event/abc/add'
|
||||
@@ -101,16 +100,16 @@ event_permission_urls = [
|
||||
# We don't have to create categories and similar objects
|
||||
# for testing this, it is enough to test that a 404 error
|
||||
# is returned instead of a 403 one.
|
||||
("can_change_items", "categories/abc/", 404),
|
||||
("can_change_items", "categories/abc/delete", 404),
|
||||
("can_change_items", "categories/2/", 404),
|
||||
("can_change_items", "categories/2/delete", 404),
|
||||
("can_change_items", "categories/add", 200),
|
||||
# ("can_change_items", "questions/", 200),
|
||||
("can_change_items", "questions/abc/", 404),
|
||||
("can_change_items", "questions/abc/delete", 404),
|
||||
("can_change_items", "questions/2/", 404),
|
||||
("can_change_items", "questions/2/delete", 404),
|
||||
("can_change_items", "questions/add", 200),
|
||||
# ("can_change_items", "quotas/", 200),
|
||||
("can_change_items", "quotas/abc/", 404),
|
||||
("can_change_items", "quotas/abc/delete", 404),
|
||||
("can_change_items", "quotas/2/", 404),
|
||||
("can_change_items", "quotas/2/delete", 404),
|
||||
("can_change_items", "quotas/add", 200),
|
||||
("can_view_orders", "orders/overview/", 200),
|
||||
("can_view_orders", "orders/", 200),
|
||||
@@ -143,7 +142,6 @@ def test_current_permission(client, env):
|
||||
client.login(email='dummy@dummy.dummy', password='dummy')
|
||||
response = client.get('/control/event/dummy/dummy/settings/')
|
||||
assert response.status_code == 200
|
||||
ep = ep.clone()
|
||||
setattr(ep, 'can_change_settings', False)
|
||||
ep.save()
|
||||
response = client.get('/control/event/dummy/dummy/settings/')
|
||||
|
||||
@@ -105,5 +105,5 @@ Buchungstag;Valuta;Buchungstext;Auftraggeber / Empfänger;Verwendungszweck;Betra
|
||||
data[inp.attrs['name']] = inp.attrs['value']
|
||||
client.post('/control/event/dummy/dummy/banktransfer/import/', data)
|
||||
|
||||
assert Order.objects.current.get(identity=env[2].identity).status == Order.STATUS_PAID
|
||||
assert Order.objects.current.get(identity=env[3].identity).status == Order.STATUS_CANCELLED
|
||||
assert Order.objects.get(id=env[2].id).status == Order.STATUS_PAID
|
||||
assert Order.objects.get(id=env[3].id).status == Order.STATUS_CANCELLED
|
||||
|
||||
@@ -68,5 +68,5 @@ def test_pretixdroid(client, env):
|
||||
jdata = json.loads(response.content.decode("utf-8"))
|
||||
assert jdata['version'] == 1
|
||||
assert len(jdata['data']) == 2
|
||||
assert {"id": env[3].identity, "variation": "Red", "attendee_name": None, "item": "T-Shirt"} in jdata['data']
|
||||
assert {"id": env[4].identity, "variation": None, "attendee_name": "Peter", "item": "Ticket"} in jdata['data']
|
||||
assert {"id": env[3].id, "variation": "Red", "attendee_name": None, "item": "T-Shirt"} in jdata['data']
|
||||
assert {"id": env[4].id, "variation": None, "attendee_name": "Peter", "item": "Ticket"} in jdata['data']
|
||||
|
||||
@@ -45,7 +45,7 @@ class CartTestMixin:
|
||||
class CartTest(CartTestMixin, TestCase):
|
||||
def test_simple(self):
|
||||
response = self.client.post('/%s/%s/cart/add' % (self.orga.slug, self.event.slug), {
|
||||
'item_' + self.ticket.identity: '1'
|
||||
'item_%d' % self.ticket.id: '1'
|
||||
}, follow=True)
|
||||
self.assertRedirects(response, '/%s/%s/' % (self.orga.slug, self.event.slug),
|
||||
target_status_code=200)
|
||||
@@ -62,7 +62,7 @@ class CartTest(CartTestMixin, TestCase):
|
||||
|
||||
def test_variation(self):
|
||||
response = self.client.post('/%s/%s/cart/add' % (self.orga.slug, self.event.slug), {
|
||||
'variation_' + self.shirt.identity + '_' + self.shirt_red.identity: '1'
|
||||
'variation_%d_%d' % (self.shirt.id, self.shirt_red.id): '1'
|
||||
}, follow=True)
|
||||
self.assertRedirects(response, '/%s/%s/' % (self.orga.slug, self.event.slug),
|
||||
target_status_code=200)
|
||||
@@ -80,7 +80,7 @@ class CartTest(CartTestMixin, TestCase):
|
||||
|
||||
def test_count(self):
|
||||
response = self.client.post('/%s/%s/cart/add' % (self.orga.slug, self.event.slug), {
|
||||
'item_' + self.ticket.identity: '2'
|
||||
'item_%d' % self.ticket.id: '2'
|
||||
}, follow=True)
|
||||
self.assertRedirects(response, '/%s/%s/' % (self.orga.slug, self.event.slug),
|
||||
target_status_code=200)
|
||||
@@ -98,8 +98,8 @@ class CartTest(CartTestMixin, TestCase):
|
||||
|
||||
def test_multiple(self):
|
||||
response = self.client.post('/%s/%s/cart/add' % (self.orga.slug, self.event.slug), {
|
||||
'item_' + self.ticket.identity: '2',
|
||||
'variation_' + self.shirt.identity + '_' + self.shirt_red.identity: '1'
|
||||
'item_%d' % self.ticket.id: '2',
|
||||
'variation_%d_%d' % (self.shirt.id, self.shirt_red.id): '1'
|
||||
}, follow=True)
|
||||
self.assertRedirects(response, '/%s/%s/' % (self.orga.slug, self.event.slug),
|
||||
target_status_code=200)
|
||||
@@ -114,7 +114,7 @@ class CartTest(CartTestMixin, TestCase):
|
||||
|
||||
def test_fuzzy_input(self):
|
||||
response = self.client.post('/%s/%s/cart/add' % (self.orga.slug, self.event.slug), {
|
||||
'item_' + self.ticket.identity: 'a',
|
||||
'item_%d' % self.ticket.id: 'a',
|
||||
}, follow=True)
|
||||
self.assertRedirects(response, '/%s/%s/' % (self.orga.slug, self.event.slug),
|
||||
target_status_code=200)
|
||||
@@ -137,7 +137,7 @@ class CartTest(CartTestMixin, TestCase):
|
||||
)
|
||||
shirt2 = Item.objects.create(event=event2, name='T-Shirt', default_price=12)
|
||||
response = self.client.post('/%s/%s/cart/add' % (self.orga.slug, self.event.slug), {
|
||||
'item_' + shirt2.identity: '1',
|
||||
'item_%d' % shirt2.id: '1',
|
||||
}, follow=True)
|
||||
self.assertRedirects(response, '/%s/%s/' % (self.orga.slug, self.event.slug),
|
||||
target_status_code=200)
|
||||
@@ -148,7 +148,7 @@ class CartTest(CartTestMixin, TestCase):
|
||||
def test_no_quota(self):
|
||||
shirt2 = Item.objects.create(event=self.event, name='T-Shirt', default_price=12)
|
||||
response = self.client.post('/%s/%s/cart/add' % (self.orga.slug, self.event.slug), {
|
||||
'item_' + shirt2.identity: '1',
|
||||
'item_%d' % shirt2.id: '1',
|
||||
}, follow=True)
|
||||
self.assertRedirects(response, '/%s/%s/' % (self.orga.slug, self.event.slug),
|
||||
target_status_code=200)
|
||||
@@ -161,7 +161,7 @@ class CartTest(CartTestMixin, TestCase):
|
||||
self.ticket.available_from = now() - timedelta(days=2)
|
||||
self.ticket.save()
|
||||
self.client.post('/%s/%s/cart/add' % (self.orga.slug, self.event.slug), {
|
||||
'item_' + self.ticket.identity: '1',
|
||||
'item_%d' % self.ticket.id: '1',
|
||||
}, follow=True)
|
||||
self.assertEqual(CartPosition.objects.filter(cart_id=self.session_key, event=self.event).count(), 1)
|
||||
|
||||
@@ -169,7 +169,7 @@ class CartTest(CartTestMixin, TestCase):
|
||||
self.ticket.available_until = now() - timedelta(days=2)
|
||||
self.ticket.save()
|
||||
self.client.post('/%s/%s/cart/add' % (self.orga.slug, self.event.slug), {
|
||||
'item_' + self.ticket.identity: '1',
|
||||
'item_%d' % self.ticket.id: '1',
|
||||
}, follow=True)
|
||||
self.assertEqual(CartPosition.objects.filter(cart_id=self.session_key, event=self.event).count(), 0)
|
||||
|
||||
@@ -177,7 +177,7 @@ class CartTest(CartTestMixin, TestCase):
|
||||
self.ticket.available_from = now() + timedelta(days=2)
|
||||
self.ticket.save()
|
||||
self.client.post('/%s/%s/cart/add' % (self.orga.slug, self.event.slug), {
|
||||
'item_' + self.ticket.identity: '1',
|
||||
'item_%d' % self.ticket.id: '1',
|
||||
}, follow=True)
|
||||
self.assertEqual(CartPosition.objects.filter(cart_id=self.session_key, event=self.event).count(), 0)
|
||||
|
||||
@@ -188,7 +188,7 @@ class CartTest(CartTestMixin, TestCase):
|
||||
)
|
||||
self.event.settings.max_items_per_order = 5
|
||||
response = self.client.post('/%s/%s/cart/add' % (self.orga.slug, self.event.slug), {
|
||||
'item_' + self.ticket.identity: '5',
|
||||
'item_%d' % self.ticket.id: '5',
|
||||
}, follow=True)
|
||||
self.assertRedirects(response, '/%s/%s/' % (self.orga.slug, self.event.slug),
|
||||
target_status_code=200)
|
||||
@@ -200,7 +200,7 @@ class CartTest(CartTestMixin, TestCase):
|
||||
self.quota_tickets.size = 0
|
||||
self.quota_tickets.save()
|
||||
response = self.client.post('/%s/%s/cart/add' % (self.orga.slug, self.event.slug), {
|
||||
'item_' + self.ticket.identity: '1',
|
||||
'item_%d' % self.ticket.id: '1',
|
||||
}, follow=True)
|
||||
self.assertRedirects(response, '/%s/%s/' % (self.orga.slug, self.event.slug),
|
||||
target_status_code=200)
|
||||
@@ -212,7 +212,7 @@ class CartTest(CartTestMixin, TestCase):
|
||||
self.quota_tickets.size = 1
|
||||
self.quota_tickets.save()
|
||||
response = self.client.post('/%s/%s/cart/add' % (self.orga.slug, self.event.slug), {
|
||||
'item_' + self.ticket.identity: '2'
|
||||
'item_%d' % self.ticket.id: '2'
|
||||
}, follow=True)
|
||||
self.assertRedirects(response, '/%s/%s/' % (self.orga.slug, self.event.slug),
|
||||
target_status_code=200)
|
||||
@@ -235,7 +235,7 @@ class CartTest(CartTestMixin, TestCase):
|
||||
)
|
||||
self.client.post('/%s/%s/cart/add' % (self.orga.slug, self.event.slug), {
|
||||
}, follow=True)
|
||||
cp = CartPosition.objects.current.get(identity=cp.identity)
|
||||
cp = CartPosition.objects.get(id=cp.id)
|
||||
self.assertGreater(cp.expires, now())
|
||||
|
||||
def test_renew_expired_successfully(self):
|
||||
@@ -244,9 +244,9 @@ class CartTest(CartTestMixin, TestCase):
|
||||
price=23, expires=now() - timedelta(minutes=10)
|
||||
)
|
||||
self.client.post('/%s/%s/cart/add' % (self.orga.slug, self.event.slug), {
|
||||
'variation_%s_%s' % (self.shirt.identity, self.shirt_red.identity): '1'
|
||||
'variation_%d_%d' % (self.shirt.id, self.shirt_red.id): '1'
|
||||
}, follow=True)
|
||||
obj = CartPosition.objects.current.get(identity=cp1.identity)
|
||||
obj = CartPosition.objects.get(id=cp1.id)
|
||||
self.assertEqual(obj.item, self.ticket)
|
||||
self.assertIsNone(obj.variation)
|
||||
self.assertEqual(obj.price, 23)
|
||||
@@ -266,9 +266,9 @@ class CartTest(CartTestMixin, TestCase):
|
||||
cartposition=cr1, question=q1, answer='23'
|
||||
))
|
||||
self.client.post('/%s/%s/cart/add' % (self.orga.slug, self.event.slug), {
|
||||
'item_' + self.ticket.identity: '1',
|
||||
'item_%d' % self.ticket.id: '1',
|
||||
}, follow=True)
|
||||
obj = CartPosition.objects.current.get(identity=cr1.identity)
|
||||
obj = CartPosition.objects.get(id=cr1.id)
|
||||
self.assertEqual(obj.answers.get(question=q1).answer, '23')
|
||||
|
||||
def test_renew_expired_failed(self):
|
||||
@@ -279,11 +279,11 @@ class CartTest(CartTestMixin, TestCase):
|
||||
price=23, expires=now() - timedelta(minutes=10)
|
||||
)
|
||||
response = self.client.post('/%s/%s/cart/add' % (self.orga.slug, self.event.slug), {
|
||||
'item_' + self.ticket.identity: '1',
|
||||
'item_%d' % self.ticket.id: '1',
|
||||
}, follow=True)
|
||||
doc = BeautifulSoup(response.rendered_content)
|
||||
self.assertIn('no longer available', doc.select('.alert-danger')[0].text)
|
||||
self.assertFalse(CartPosition.objects.current.filter(identity=cp1.identity).exists())
|
||||
self.assertFalse(CartPosition.objects.filter(id=cp1.id).exists())
|
||||
|
||||
def test_remove_simple(self):
|
||||
CartPosition.objects.create(
|
||||
@@ -291,11 +291,11 @@ class CartTest(CartTestMixin, TestCase):
|
||||
price=23, expires=now() + timedelta(minutes=10)
|
||||
)
|
||||
response = self.client.post('/%s/%s/cart/remove' % (self.orga.slug, self.event.slug), {
|
||||
'item_' + self.ticket.identity: '1',
|
||||
'item_%d' % self.ticket.id: '1',
|
||||
}, follow=True)
|
||||
doc = BeautifulSoup(response.rendered_content)
|
||||
self.assertIn('updated', doc.select('.alert-success')[0].text)
|
||||
self.assertFalse(CartPosition.objects.current.filter(cart_id=self.session_key, event=self.event).exists())
|
||||
self.assertFalse(CartPosition.objects.filter(cart_id=self.session_key, event=self.event).exists())
|
||||
|
||||
def test_remove_variation(self):
|
||||
CartPosition.objects.create(
|
||||
@@ -303,11 +303,11 @@ class CartTest(CartTestMixin, TestCase):
|
||||
price=14, expires=now() + timedelta(minutes=10)
|
||||
)
|
||||
response = self.client.post('/%s/%s/cart/remove' % (self.orga.slug, self.event.slug), {
|
||||
'variation_' + self.shirt.identity + '_' + self.shirt_red.identity: '1',
|
||||
'variation_%d_%d' % (self.shirt.id, self.shirt_red.id): '1',
|
||||
}, follow=True)
|
||||
doc = BeautifulSoup(response.rendered_content)
|
||||
self.assertIn('updated', doc.select('.alert-success')[0].text)
|
||||
self.assertFalse(CartPosition.objects.current.filter(cart_id=self.session_key, event=self.event).exists())
|
||||
self.assertFalse(CartPosition.objects.filter(cart_id=self.session_key, event=self.event).exists())
|
||||
|
||||
def test_remove_one_of_multiple(self):
|
||||
CartPosition.objects.create(
|
||||
@@ -319,11 +319,11 @@ class CartTest(CartTestMixin, TestCase):
|
||||
price=23, expires=now() + timedelta(minutes=10)
|
||||
)
|
||||
response = self.client.post('/%s/%s/cart/remove' % (self.orga.slug, self.event.slug), {
|
||||
'item_' + self.ticket.identity: '1',
|
||||
'item_%d' % self.ticket.id: '1',
|
||||
}, follow=True)
|
||||
doc = BeautifulSoup(response.rendered_content)
|
||||
self.assertIn('updated', doc.select('.alert-success')[0].text)
|
||||
self.assertEqual(CartPosition.objects.current.filter(cart_id=self.session_key, event=self.event).count(), 1)
|
||||
self.assertEqual(CartPosition.objects.filter(cart_id=self.session_key, event=self.event).count(), 1)
|
||||
|
||||
def test_remove_multiple(self):
|
||||
CartPosition.objects.create(
|
||||
@@ -335,11 +335,11 @@ class CartTest(CartTestMixin, TestCase):
|
||||
price=23, expires=now() + timedelta(minutes=10)
|
||||
)
|
||||
response = self.client.post('/%s/%s/cart/remove' % (self.orga.slug, self.event.slug), {
|
||||
'item_' + self.ticket.identity: '2',
|
||||
'item_%d' % self.ticket.id: '2',
|
||||
}, follow=True)
|
||||
doc = BeautifulSoup(response.rendered_content)
|
||||
self.assertIn('updated', doc.select('.alert-success')[0].text)
|
||||
self.assertFalse(CartPosition.objects.current.filter(cart_id=self.session_key, event=self.event).exists())
|
||||
self.assertFalse(CartPosition.objects.filter(cart_id=self.session_key, event=self.event).exists())
|
||||
|
||||
def test_remove_most_expensive(self):
|
||||
CartPosition.objects.create(
|
||||
@@ -351,11 +351,11 @@ class CartTest(CartTestMixin, TestCase):
|
||||
price=20, expires=now() + timedelta(minutes=10)
|
||||
)
|
||||
response = self.client.post('/%s/%s/cart/remove' % (self.orga.slug, self.event.slug), {
|
||||
'item_' + self.ticket.identity: '1',
|
||||
'item_%d' % self.ticket.id: '1',
|
||||
}, follow=True)
|
||||
doc = BeautifulSoup(response.rendered_content)
|
||||
self.assertIn('updated', doc.select('.alert-success')[0].text)
|
||||
objs = list(CartPosition.objects.current.filter(cart_id=self.session_key, event=self.event))
|
||||
objs = list(CartPosition.objects.filter(cart_id=self.session_key, event=self.event))
|
||||
self.assertEqual(len(objs), 1)
|
||||
self.assertEqual(objs[0].item, self.ticket)
|
||||
self.assertIsNone(objs[0].variation)
|
||||
|
||||
@@ -60,17 +60,17 @@ class CheckoutTestCase(TestCase):
|
||||
response = self.client.get('/%s/%s/checkout/questions/' % (self.orga.slug, self.event.slug), follow=True)
|
||||
doc = BeautifulSoup(response.rendered_content)
|
||||
|
||||
self.assertEqual(len(doc.select('input[name=%s-question_%s]' % (cr1.identity, q1.identity))), 1)
|
||||
self.assertEqual(len(doc.select('input[name=%s-question_%s]' % (cr2.identity, q1.identity))), 1)
|
||||
self.assertEqual(len(doc.select('input[name=%s-question_%s]' % (cr1.identity, q2.identity))), 1)
|
||||
self.assertEqual(len(doc.select('input[name=%s-question_%s]' % (cr2.identity, q2.identity))), 1)
|
||||
self.assertEqual(len(doc.select('input[name=%s-question_%s]' % (cr1.id, q1.id))), 1)
|
||||
self.assertEqual(len(doc.select('input[name=%s-question_%s]' % (cr2.id, q1.id))), 1)
|
||||
self.assertEqual(len(doc.select('input[name=%s-question_%s]' % (cr1.id, q2.id))), 1)
|
||||
self.assertEqual(len(doc.select('input[name=%s-question_%s]' % (cr2.id, q2.id))), 1)
|
||||
|
||||
# Not all required fields filled out, expect failure
|
||||
response = self.client.post('/%s/%s/checkout/questions/' % (self.orga.slug, self.event.slug), {
|
||||
'%s-question_%s' % (cr1.identity, q1.identity): '42',
|
||||
'%s-question_%s' % (cr2.identity, q1.identity): '',
|
||||
'%s-question_%s' % (cr1.identity, q2.identity): 'Internet',
|
||||
'%s-question_%s' % (cr2.identity, q2.identity): '',
|
||||
'%s-question_%s' % (cr1.id, q1.id): '42',
|
||||
'%s-question_%s' % (cr2.id, q1.id): '',
|
||||
'%s-question_%s' % (cr1.id, q2.id): 'Internet',
|
||||
'%s-question_%s' % (cr2.id, q2.id): '',
|
||||
'email': 'admin@localhost'
|
||||
}, follow=True)
|
||||
doc = BeautifulSoup(response.rendered_content)
|
||||
@@ -78,17 +78,17 @@ class CheckoutTestCase(TestCase):
|
||||
|
||||
# Corrected request
|
||||
response = self.client.post('/%s/%s/checkout/questions/' % (self.orga.slug, self.event.slug), {
|
||||
'%s-question_%s' % (cr1.identity, q1.identity): '42',
|
||||
'%s-question_%s' % (cr2.identity, q1.identity): '23',
|
||||
'%s-question_%s' % (cr1.identity, q2.identity): 'Internet',
|
||||
'%s-question_%s' % (cr2.identity, q2.identity): '',
|
||||
'%s-question_%s' % (cr1.id, q1.id): '42',
|
||||
'%s-question_%s' % (cr2.id, q1.id): '23',
|
||||
'%s-question_%s' % (cr1.id, q2.id): 'Internet',
|
||||
'%s-question_%s' % (cr2.id, q2.id): '',
|
||||
'email': 'admin@localhost'
|
||||
}, follow=True)
|
||||
self.assertRedirects(response, '/%s/%s/checkout/payment/' % (self.orga.slug, self.event.slug),
|
||||
target_status_code=200)
|
||||
|
||||
cr1 = CartPosition.objects.current.get(identity=cr1.identity)
|
||||
cr2 = CartPosition.objects.current.get(identity=cr2.identity)
|
||||
cr1 = CartPosition.objects.get(id=cr1.id)
|
||||
cr2 = CartPosition.objects.get(id=cr2.id)
|
||||
self.assertEqual(cr1.answers.filter(question=q1).count(), 1)
|
||||
self.assertEqual(cr2.answers.filter(question=q1).count(), 1)
|
||||
self.assertEqual(cr1.answers.filter(question=q2).count(), 1)
|
||||
@@ -103,11 +103,11 @@ class CheckoutTestCase(TestCase):
|
||||
)
|
||||
response = self.client.get('/%s/%s/checkout/questions/' % (self.orga.slug, self.event.slug), follow=True)
|
||||
doc = BeautifulSoup(response.rendered_content)
|
||||
self.assertEqual(len(doc.select('input[name=%s-attendee_name]' % cr1.identity)), 1)
|
||||
self.assertEqual(len(doc.select('input[name=%s-attendee_name]' % cr1.id)), 1)
|
||||
|
||||
# Not all required fields filled out, expect failure
|
||||
response = self.client.post('/%s/%s/checkout/questions/' % (self.orga.slug, self.event.slug), {
|
||||
'%s-attendee_name' % cr1.identity: '',
|
||||
'%s-attendee_name' % cr1.id: '',
|
||||
'email': 'admin@localhost'
|
||||
}, follow=True)
|
||||
doc = BeautifulSoup(response.rendered_content)
|
||||
@@ -115,13 +115,13 @@ class CheckoutTestCase(TestCase):
|
||||
|
||||
# Corrected request
|
||||
response = self.client.post('/%s/%s/checkout/questions/' % (self.orga.slug, self.event.slug), {
|
||||
'%s-attendee_name' % cr1.identity: 'Peter',
|
||||
'%s-attendee_name' % cr1.id: 'Peter',
|
||||
'email': 'admin@localhost'
|
||||
}, follow=True)
|
||||
self.assertRedirects(response, '/%s/%s/checkout/payment/' % (self.orga.slug, self.event.slug),
|
||||
target_status_code=200)
|
||||
|
||||
cr1 = CartPosition.objects.current.get(identity=cr1.identity)
|
||||
cr1 = CartPosition.objects.get(id=cr1.id)
|
||||
self.assertEqual(cr1.attendee_name, 'Peter')
|
||||
|
||||
def test_attendee_name_optional(self):
|
||||
@@ -133,17 +133,17 @@ class CheckoutTestCase(TestCase):
|
||||
)
|
||||
response = self.client.get('/%s/%s/checkout/questions/' % (self.orga.slug, self.event.slug), follow=True)
|
||||
doc = BeautifulSoup(response.rendered_content)
|
||||
self.assertEqual(len(doc.select('input[name=%s-attendee_name]' % cr1.identity)), 1)
|
||||
self.assertEqual(len(doc.select('input[name=%s-attendee_name]' % cr1.id)), 1)
|
||||
|
||||
# Not all fields filled out, expect success
|
||||
response = self.client.post('/%s/%s/checkout/questions/' % (self.orga.slug, self.event.slug), {
|
||||
'%s-attendee_name' % cr1.identity: '',
|
||||
'%s-attendee_name' % cr1.id: '',
|
||||
'email': 'admin@localhost'
|
||||
}, follow=True)
|
||||
self.assertRedirects(response, '/%s/%s/checkout/payment/' % (self.orga.slug, self.event.slug),
|
||||
target_status_code=200)
|
||||
|
||||
cr1 = CartPosition.objects.current.get(identity=cr1.identity)
|
||||
cr1 = CartPosition.objects.get(id=cr1.id)
|
||||
self.assertIsNone(cr1.attendee_name)
|
||||
|
||||
def test_payment(self):
|
||||
@@ -188,7 +188,6 @@ class CheckoutTestCase(TestCase):
|
||||
self.assertRedirects(response, '/%s/%s/checkout/questions/' % (self.orga.slug, self.event.slug),
|
||||
target_status_code=200)
|
||||
|
||||
cr1 = cr1.clone()
|
||||
cr1.attendee_name = 'Peter'
|
||||
cr1.save()
|
||||
q1 = Question.objects.create(
|
||||
@@ -201,7 +200,6 @@ class CheckoutTestCase(TestCase):
|
||||
self.assertRedirects(response, '/%s/%s/checkout/questions/' % (self.orga.slug, self.event.slug),
|
||||
target_status_code=200)
|
||||
|
||||
q1 = q1.clone()
|
||||
q1.required = False
|
||||
q1.save()
|
||||
response = self.client.get('/%s/%s/checkout/confirm/' % (self.orga.slug, self.event.slug), follow=True)
|
||||
@@ -227,9 +225,9 @@ class CheckoutTestCase(TestCase):
|
||||
response = self.client.post('/%s/%s/checkout/confirm/' % (self.orga.slug, self.event.slug), follow=True)
|
||||
doc = BeautifulSoup(response.rendered_content)
|
||||
self.assertEqual(len(doc.select(".thank-you")), 1)
|
||||
self.assertFalse(CartPosition.objects.current.filter(identity=cr1.identity).exists())
|
||||
self.assertEqual(Order.objects.current.count(), 1)
|
||||
self.assertEqual(OrderPosition.objects.current.count(), 1)
|
||||
self.assertFalse(CartPosition.objects.filter(id=cr1.id).exists())
|
||||
self.assertEqual(Order.objects.count(), 1)
|
||||
self.assertEqual(OrderPosition.objects.count(), 1)
|
||||
|
||||
def test_confirm_expired_available(self):
|
||||
cr1 = CartPosition.objects.create(
|
||||
@@ -241,12 +239,11 @@ class CheckoutTestCase(TestCase):
|
||||
response = self.client.post('/%s/%s/checkout/confirm/' % (self.orga.slug, self.event.slug), follow=True)
|
||||
doc = BeautifulSoup(response.rendered_content)
|
||||
self.assertEqual(len(doc.select(".thank-you")), 1)
|
||||
self.assertFalse(CartPosition.objects.current.filter(identity=cr1.identity).exists())
|
||||
self.assertEqual(Order.objects.current.count(), 1)
|
||||
self.assertEqual(OrderPosition.objects.current.count(), 1)
|
||||
self.assertFalse(CartPosition.objects.filter(id=cr1.id).exists())
|
||||
self.assertEqual(Order.objects.count(), 1)
|
||||
self.assertEqual(OrderPosition.objects.count(), 1)
|
||||
|
||||
def test_confirm_price_changed(self):
|
||||
self.ticket = self.ticket.clone()
|
||||
self.ticket.default_price = 24
|
||||
self.ticket.save()
|
||||
cr1 = CartPosition.objects.create(
|
||||
@@ -258,7 +255,7 @@ class CheckoutTestCase(TestCase):
|
||||
response = self.client.post('/%s/%s/checkout/confirm/' % (self.orga.slug, self.event.slug), follow=True)
|
||||
doc = BeautifulSoup(response.rendered_content)
|
||||
self.assertEqual(len(doc.select(".alert-danger")), 1)
|
||||
cr1 = CartPosition.objects.current.get(identity=cr1.identity)
|
||||
cr1 = CartPosition.objects.get(id=cr1.id)
|
||||
self.assertEqual(cr1.price, 24)
|
||||
|
||||
def test_confirm_expired_partial(self):
|
||||
@@ -277,10 +274,9 @@ class CheckoutTestCase(TestCase):
|
||||
response = self.client.post('/%s/%s/checkout/confirm/' % (self.orga.slug, self.event.slug), follow=True)
|
||||
doc = BeautifulSoup(response.rendered_content)
|
||||
self.assertEqual(len(doc.select(".alert-danger")), 1)
|
||||
self.assertEqual(CartPosition.objects.current.filter(cart_id=self.session_key).count(), 1)
|
||||
self.assertEqual(CartPosition.objects.filter(cart_id=self.session_key).count(), 1)
|
||||
|
||||
def test_confirm_inactive(self):
|
||||
self.ticket = self.ticket.clone()
|
||||
self.ticket.active = False
|
||||
self.ticket.save()
|
||||
cr1 = CartPosition.objects.create(
|
||||
@@ -292,7 +288,7 @@ class CheckoutTestCase(TestCase):
|
||||
response = self.client.post('/%s/%s/checkout/confirm/' % (self.orga.slug, self.event.slug), follow=True)
|
||||
doc = BeautifulSoup(response.rendered_content)
|
||||
self.assertGreaterEqual(len(doc.select(".alert-danger")), 1)
|
||||
self.assertFalse(CartPosition.objects.current.filter(identity=cr1.identity).exists())
|
||||
self.assertFalse(CartPosition.objects.filter(id=cr1.id).exists())
|
||||
|
||||
def test_confirm_expired_unavailable(self):
|
||||
self.quota_tickets.size = 0
|
||||
@@ -306,7 +302,7 @@ class CheckoutTestCase(TestCase):
|
||||
response = self.client.post('/%s/%s/checkout/confirm/' % (self.orga.slug, self.event.slug), follow=True)
|
||||
doc = BeautifulSoup(response.rendered_content)
|
||||
self.assertGreaterEqual(len(doc.select(".alert-danger")), 1)
|
||||
self.assertFalse(CartPosition.objects.current.filter(identity=cr1.identity).exists())
|
||||
self.assertFalse(CartPosition.objects.filter(id=cr1.id).exists())
|
||||
|
||||
def test_confirm_completely_unavailable(self):
|
||||
self.quota_tickets.items.remove(self.ticket)
|
||||
@@ -319,4 +315,4 @@ class CheckoutTestCase(TestCase):
|
||||
response = self.client.post('/%s/%s/checkout/confirm/' % (self.orga.slug, self.event.slug), follow=True)
|
||||
doc = BeautifulSoup(response.rendered_content)
|
||||
self.assertGreaterEqual(len(doc.select(".alert-danger")), 1)
|
||||
self.assertFalse(CartPosition.objects.current.filter(identity=cr1.identity).exists())
|
||||
self.assertFalse(CartPosition.objects.filter(id=cr1.id).exists())
|
||||
|
||||
@@ -194,7 +194,7 @@ class DeadlineTest(EventTestMixin, TestCase):
|
||||
response = self.client.post(
|
||||
'/%s/%s/cart/add' % (self.orga.slug, self.event.slug),
|
||||
{
|
||||
'item_' + self.item.identity: '1',
|
||||
'item_%d' % self.item.id: '1',
|
||||
},
|
||||
follow=True
|
||||
)
|
||||
@@ -213,7 +213,7 @@ class DeadlineTest(EventTestMixin, TestCase):
|
||||
response = self.client.post(
|
||||
'/%s/%s/cart/add' % (self.orga.slug, self.event.slug),
|
||||
{
|
||||
'item_' + self.item.identity: '1'
|
||||
'item_%d' % self.item.id: '1'
|
||||
},
|
||||
follow=True
|
||||
)
|
||||
@@ -233,7 +233,7 @@ class DeadlineTest(EventTestMixin, TestCase):
|
||||
response = self.client.post(
|
||||
'/%s/%s/cart/add' % (self.orga.slug, self.event.slug),
|
||||
{
|
||||
'item_' + self.item.identity: '1'
|
||||
'item_%d' % self.item.id: '1'
|
||||
}
|
||||
)
|
||||
self.assertNotEqual(response.status_code, 403)
|
||||
@@ -251,7 +251,7 @@ class DeadlineTest(EventTestMixin, TestCase):
|
||||
response = self.client.post(
|
||||
'/%s/%s/cart/add' % (self.orga.slug, self.event.slug),
|
||||
{
|
||||
'item_' + self.item.identity: '1'
|
||||
'item_%d' % self.item.id: '1'
|
||||
}
|
||||
)
|
||||
self.assertNotEqual(response.status_code, 403)
|
||||
|
||||
@@ -129,7 +129,7 @@ class OrdersTest(TestCase):
|
||||
self.client.get(
|
||||
'/%s/%s/order/%s/%s/modify' % (self.orga.slug, self.event.slug, self.order.code, self.order.secret)
|
||||
)
|
||||
self.order = Order.objects.current.get(identity=self.order.identity)
|
||||
self.order = Order.objects.get(id=self.order.id)
|
||||
assert self.order.status == Order.STATUS_REFUNDED
|
||||
|
||||
def test_orders_modify_attendee_optional(self):
|
||||
@@ -139,18 +139,18 @@ class OrdersTest(TestCase):
|
||||
response = self.client.get(
|
||||
'/%s/%s/order/%s/%s/modify' % (self.orga.slug, self.event.slug, self.order.code, self.order.secret))
|
||||
doc = BeautifulSoup(response.rendered_content)
|
||||
self.assertEqual(len(doc.select('input[name=%s-attendee_name]' % self.ticket_pos.identity)), 1)
|
||||
self.assertEqual(len(doc.select('input[name=%s-attendee_name]' % self.ticket_pos.id)), 1)
|
||||
|
||||
# Not all fields filled out, expect success
|
||||
response = self.client.post(
|
||||
'/%s/%s/order/%s/%s/modify' % (self.orga.slug, self.event.slug, self.order.code, self.order.secret), {
|
||||
'%s-attendee_name' % self.ticket_pos.identity: '',
|
||||
'%s-attendee_name' % self.ticket_pos.id: '',
|
||||
}, follow=True)
|
||||
self.assertRedirects(response,
|
||||
'/%s/%s/order/%s/%s/' % (self.orga.slug, self.event.slug, self.order.code,
|
||||
self.order.secret),
|
||||
target_status_code=200)
|
||||
self.ticket_pos = OrderPosition.objects.current.get(identity=self.ticket_pos.identity)
|
||||
self.ticket_pos = OrderPosition.objects.get(id=self.ticket_pos.id)
|
||||
assert self.ticket_pos.attendee_name in (None, '')
|
||||
|
||||
def test_orders_modify_attendee_required(self):
|
||||
@@ -160,24 +160,24 @@ class OrdersTest(TestCase):
|
||||
response = self.client.get(
|
||||
'/%s/%s/order/%s/%s/modify' % (self.orga.slug, self.event.slug, self.order.code, self.order.secret))
|
||||
doc = BeautifulSoup(response.rendered_content)
|
||||
self.assertEqual(len(doc.select('input[name=%s-attendee_name]' % self.ticket_pos.identity)), 1)
|
||||
self.assertEqual(len(doc.select('input[name=%s-attendee_name]' % self.ticket_pos.id)), 1)
|
||||
|
||||
# Not all required fields filled out, expect failure
|
||||
response = self.client.post(
|
||||
'/%s/%s/order/%s/%s/modify' % (self.orga.slug, self.event.slug, self.order.code, self.order.secret), {
|
||||
'%s-attendee_name' % self.ticket_pos.identity: '',
|
||||
'%s-attendee_name' % self.ticket_pos.id: '',
|
||||
}, follow=True)
|
||||
doc = BeautifulSoup(response.rendered_content)
|
||||
self.assertGreaterEqual(len(doc.select('.has-error')), 1)
|
||||
|
||||
response = self.client.post(
|
||||
'/%s/%s/order/%s/%s/modify' % (self.orga.slug, self.event.slug, self.order.code, self.order.secret), {
|
||||
'%s-attendee_name' % self.ticket_pos.identity: 'Peter',
|
||||
'%s-attendee_name' % self.ticket_pos.id: 'Peter',
|
||||
}, follow=True)
|
||||
self.assertRedirects(response, '/%s/%s/order/%s/%s/' % (self.orga.slug, self.event.slug, self.order.code,
|
||||
self.order.secret),
|
||||
target_status_code=200)
|
||||
self.ticket_pos = OrderPosition.objects.current.get(identity=self.ticket_pos.identity)
|
||||
self.ticket_pos = OrderPosition.objects.get(id=self.ticket_pos.id)
|
||||
assert self.ticket_pos.attendee_name == 'Peter'
|
||||
|
||||
def test_orders_questions_optional(self):
|
||||
@@ -188,12 +188,12 @@ class OrdersTest(TestCase):
|
||||
'/%s/%s/order/%s/%s/modify' % (self.orga.slug, self.event.slug, self.order.code, self.order.secret))
|
||||
doc = BeautifulSoup(response.rendered_content)
|
||||
self.assertEqual(len(doc.select('input[name=%s-question_%s]' % (
|
||||
self.ticket_pos.identity, self.question.identity))), 1)
|
||||
self.ticket_pos.id, self.question.id))), 1)
|
||||
|
||||
# Not all fields filled out, expect success
|
||||
response = self.client.post(
|
||||
'/%s/%s/order/%s/%s/modify' % (self.orga.slug, self.event.slug, self.order.code, self.order.secret), {
|
||||
'%s-question_%s' % (self.ticket_pos.identity, self.question.identity): '',
|
||||
'%s-question_%s' % (self.ticket_pos.id, self.question.id): '',
|
||||
}, follow=True)
|
||||
self.assertRedirects(response,
|
||||
'/%s/%s/order/%s/%s/' % (self.orga.slug, self.event.slug, self.order.code,
|
||||
@@ -211,19 +211,19 @@ class OrdersTest(TestCase):
|
||||
self.order.secret))
|
||||
doc = BeautifulSoup(response.rendered_content)
|
||||
self.assertEqual(len(doc.select('input[name=%s-question_%s]' % (
|
||||
self.ticket_pos.identity, self.question.identity))), 1)
|
||||
self.ticket_pos.id, self.question.id))), 1)
|
||||
|
||||
# Not all required fields filled out, expect failure
|
||||
response = self.client.post(
|
||||
'/%s/%s/order/%s/%s/modify' % (self.orga.slug, self.event.slug, self.order.code, self.order.secret), {
|
||||
'%s-question_%s' % (self.ticket_pos.identity, self.question.identity): '',
|
||||
'%s-question_%s' % (self.ticket_pos.id, self.question.id): '',
|
||||
}, follow=True)
|
||||
doc = BeautifulSoup(response.rendered_content)
|
||||
self.assertGreaterEqual(len(doc.select('.has-error')), 1)
|
||||
|
||||
response = self.client.post(
|
||||
'/%s/%s/order/%s/%s/modify' % (self.orga.slug, self.event.slug, self.order.code, self.order.secret), {
|
||||
'%s-question_%s' % (self.ticket_pos.identity, self.question.identity): 'ABC',
|
||||
'%s-question_%s' % (self.ticket_pos.id, self.question.id): 'ABC',
|
||||
}, follow=True)
|
||||
self.assertRedirects(response,
|
||||
'/%s/%s/order/%s/%s/' % (self.orga.slug, self.event.slug, self.order.code,
|
||||
@@ -237,7 +237,7 @@ class OrdersTest(TestCase):
|
||||
self.client.get(
|
||||
'/%s/%s/order/%s/%s/cancel' % (self.orga.slug, self.event.slug, self.order.code, self.order.secret)
|
||||
)
|
||||
self.order = Order.objects.current.get(identity=self.order.identity)
|
||||
self.order = Order.objects.get(id=self.order.id)
|
||||
assert self.order.status == Order.STATUS_PAID
|
||||
|
||||
def test_orders_cancel(self):
|
||||
@@ -252,7 +252,7 @@ class OrdersTest(TestCase):
|
||||
'/%s/%s/order/%s/%s/' % (self.orga.slug, self.event.slug, self.order.code,
|
||||
self.order.secret),
|
||||
target_status_code=200)
|
||||
assert Order.objects.current.get(identity=self.order.identity).status == Order.STATUS_CANCELLED
|
||||
assert Order.objects.get(id=self.order.id).status == Order.STATUS_CANCELLED
|
||||
|
||||
def test_orders_download(self):
|
||||
self.event.settings.set('ticket_download', True)
|
||||
|
||||
@@ -12,4 +12,4 @@ class DummyTicketOutput(BaseTicketOutput):
|
||||
download_button_icon = 'fa-print'
|
||||
|
||||
def generate(self, order):
|
||||
return 'test.txt', 'text/plain', order.identity
|
||||
return 'test.txt', 'text/plain', str(order.id)
|
||||
|
||||
Reference in New Issue
Block a user