diff --git a/src/tests/presale/test_cart.py b/src/tests/presale/test_cart.py index 61c885d2be..2f59e7205d 100644 --- a/src/tests/presale/test_cart.py +++ b/src/tests/presale/test_cart.py @@ -200,6 +200,32 @@ class CartTest(CartTestMixin, TestCase): self.assertIn('numbers only', doc.select('.alert-danger')[0].text) self.assertFalse(CartPosition.objects.filter(cart_id=self.session_key, event=self.event).exists()) + response = self.client.post('/%s/%s/cart/add' % (self.orga.slug, self.event.slug), { + 'item_%d' % self.ticket.id: '-2', + }, follow=True) + self.assertRedirects(response, '/%s/%s/' % (self.orga.slug, self.event.slug), + target_status_code=200) + doc = BeautifulSoup(response.rendered_content) + self.assertIn('numbers only', doc.select('.alert-danger')[0].text) + self.assertFalse(CartPosition.objects.filter(cart_id=self.session_key, event=self.event).exists()) + response = self.client.post('/%s/%s/cart/add' % (self.orga.slug, self.event.slug), { + 'variation_%d_%d' % (self.shirt.id, self.shirt_blue.id): 'a', + }, follow=True) + self.assertRedirects(response, '/%s/%s/' % (self.orga.slug, self.event.slug), + target_status_code=200) + doc = BeautifulSoup(response.rendered_content) + self.assertIn('numbers only', doc.select('.alert-danger')[0].text) + self.assertFalse(CartPosition.objects.filter(cart_id=self.session_key, event=self.event).exists()) + + response = self.client.post('/%s/%s/cart/add' % (self.orga.slug, self.event.slug), { + 'variation_a_%d' % (self.shirt_blue.id): '-2', + }, follow=True) + self.assertRedirects(response, '/%s/%s/' % (self.orga.slug, self.event.slug), + target_status_code=200) + doc = BeautifulSoup(response.rendered_content) + self.assertIn('numbers only', doc.select('.alert-danger')[0].text) + self.assertFalse(CartPosition.objects.filter(cart_id=self.session_key, event=self.event).exists()) + response = self.client.post('/%s/%s/cart/add' % (self.orga.slug, self.event.slug), { }, follow=True) self.assertRedirects(response, '/%s/%s/' % (self.orga.slug, self.event.slug),