forked from CGM_Public/pretix_original
Removed CleanerVersion layer [backwards-incompatible!]
This commit is contained in:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user