From 37e00b805ebefe76abd34c0119d183e920e9bb8f Mon Sep 17 00:00:00 2001 From: Raphael Michel Date: Sun, 27 Sep 2015 19:41:36 +0200 Subject: [PATCH] Fixed cart creation after guest login --- src/pretix/presale/views/event.py | 2 +- src/tests/presale/test_cart.py | 15 +++++++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/src/pretix/presale/views/event.py b/src/pretix/presale/views/event.py index f01f5b11f8..bc14346111 100644 --- a/src/pretix/presale/views/event.py +++ b/src/pretix/presale/views/event.py @@ -87,7 +87,7 @@ class EventLogin(EventViewMixin, TemplateView): template_name = 'pretixpresale/event/login.html' def redirect_to_next(self): - if 'cart_tmp' in self.request.session and self.request.user.is_authenticated(): + if 'cart_tmp' in self.request.session: items = json.loads(self.request.session['cart_tmp']) del self.request.session['cart_tmp'] ca = CartAdd() diff --git a/src/tests/presale/test_cart.py b/src/tests/presale/test_cart.py index 603603275b..e100480b9a 100644 --- a/src/tests/presale/test_cart.py +++ b/src/tests/presale/test_cart.py @@ -69,6 +69,21 @@ class CartBrowserTest(CartTestMixin, BrowserTest): # should display our ticket self.assertIn('Early-bird', self.driver.find_element_by_css_selector('.cart-row:first-child').text) + def test_simple_login_as_guest(self): + self.driver.get('%s/%s/%s/' % (self.live_server_url, self.orga.slug, self.event.slug)) + # add the entry ticket to cart + self.driver.find_element_by_css_selector('input[type=number][name=item_%s]' % self.ticket.identity).send_keys('1') + self.scroll_and_click(self.driver.find_element_by_css_selector('.checkout-button-row button')) + # should redirect to login page + # open the login accordion + self.scroll_and_click(self.driver.find_element_by_css_selector('a[href*=guestForm]')) + time.sleep(1) + # enter login details + self.driver.find_element_by_css_selector('#guestForm input[name=email]').send_keys('dummy@dummy.dummy') + self.scroll_and_click(self.driver.find_element_by_css_selector('#guestForm button.btn-primary')) + # should display our ticket + self.assertIn('Early-bird', self.driver.find_element_by_css_selector('.cart-row:first-child').text) + def test_registration(self): self.driver.get('%s/%s/%s/' % (self.live_server_url, self.orga.slug, self.event.slug)) # add the entry ticket to cart