def test_payment(env, monkeypatch): def create_payment(self, request, payment): assert payment['intent'] == 'sale' assert payment['transactions'][0]['amount']['currency'] == 'EUR' assert payment['transactions'][0]['amount']['total'] == '26.00' create_payment.called = True return 'https://approve.url' monkeypatch.setattr("pretix.plugins.paypal.payment.Paypal._create_payment", create_payment) client, ticket = env session_key = get_cart_session_key(client, ticket.event) CartPosition.objects.create(event=ticket.event, cart_id=session_key, item=ticket, price=23, expires=now() + datetime.timedelta(minutes=10)) client.get('/%s/%s/checkout/payment/' % (ticket.event.organizer.slug, ticket.event.slug), follow=True) client.post('/%s/%s/checkout/questions/' % (ticket.event.organizer.slug, ticket.event.slug), {'email': 'admin@localhost'}, follow=True) response = client.post( '/%s/%s/checkout/payment/' % (ticket.event.organizer.slug, ticket.event.slug), {'payment': 'paypal'}) assert response['Location'] == 'https://approve.url'
def test_payment(env, monkeypatch): def charge_create(**kwargs): assert kwargs['amount'] == 1337 assert kwargs['currency'] == 'eur' assert kwargs['source'] == 'tok_189fTT2eZvKYlo2CvJKzEzeu' c = MockedCharge() c.status = 'succeeded' c.paid = True charge_create.called = True return c monkeypatch.setattr("stripe.Charge.create", charge_create) client, ticket = env session_key = get_cart_session_key(client, ticket.event) CartPosition.objects.create(event=ticket.event, cart_id=session_key, item=ticket, price=13.37, expires=now() + datetime.timedelta(minutes=10)) client.get('/%s/%s/checkout/payment/' % (ticket.event.organizer.slug, ticket.event.slug), follow=True) client.post('/%s/%s/checkout/questions/' % (ticket.event.organizer.slug, ticket.event.slug), {'email': 'admin@localhost'}, follow=True) charge_create.called = False response = client.post('/%s/%s/checkout/payment/' % (ticket.event.organizer.slug, ticket.event.slug), { 'payment': 'stripe', 'stripe_token': 'tok_189fTT2eZvKYlo2CvJKzEzeu', 'stripe_card_brand': 'visa', 'stripe_card_last4': '1234' }, follow=True) assert not charge_create.called assert response.status_code == 200 assert 'alert-danger' not in response.rendered_content response = client.post('/%s/%s/checkout/confirm/' % (ticket.event.organizer.slug, ticket.event.slug), {}, follow=True) assert charge_create.called assert response.status_code == 200
def test_payment(env, monkeypatch): def create_payment(self, request, payment): assert payment['intent'] == 'sale' assert payment['transactions'][0]['amount']['currency'] == 'EUR' assert payment['transactions'][0]['amount']['total'] == '26.00' create_payment.called = True return 'https://approve.url' monkeypatch.setattr("pretix.plugins.paypal.payment.Paypal._create_payment", create_payment) client, ticket = env session_key = get_cart_session_key(client, ticket.event) CartPosition.objects.create( event=ticket.event, cart_id=session_key, item=ticket, price=23, expires=now() + datetime.timedelta(minutes=10) ) client.get('/%s/%s/checkout/payment/' % (ticket.event.organizer.slug, ticket.event.slug), follow=True) client.post('/%s/%s/checkout/questions/' % (ticket.event.organizer.slug, ticket.event.slug), { 'email': 'admin@localhost' }, follow=True) response = client.post('/%s/%s/checkout/payment/' % (ticket.event.organizer.slug, ticket.event.slug), { 'payment': 'paypal' }) assert response['Location'] == 'https://approve.url'
def test_payment(env, monkeypatch): def charge_create(**kwargs): assert kwargs['amount'] == 1337 assert kwargs['currency'] == 'eur' assert kwargs['source'] == 'tok_189fTT2eZvKYlo2CvJKzEzeu' c = MockedCharge() c.status = 'succeeded' c.paid = True charge_create.called = True return c monkeypatch.setattr("stripe.Charge.create", charge_create) client, ticket = env session_key = get_cart_session_key(client, ticket.event) CartPosition.objects.create( event=ticket.event, cart_id=session_key, item=ticket, price=13.37, expires=now() + datetime.timedelta(minutes=10) ) client.get('/%s/%s/checkout/payment/' % (ticket.event.organizer.slug, ticket.event.slug), follow=True) client.post('/%s/%s/checkout/questions/' % (ticket.event.organizer.slug, ticket.event.slug), { 'email': 'admin@localhost' }, follow=True) charge_create.called = False response = client.post('/%s/%s/checkout/payment/' % (ticket.event.organizer.slug, ticket.event.slug), { 'payment': 'stripe', 'stripe_token': 'tok_189fTT2eZvKYlo2CvJKzEzeu', 'stripe_card_brand': 'visa', 'stripe_card_last4': '1234' }, follow=True) assert not charge_create.called assert response.status_code == 200 assert 'alert-danger' not in response.rendered_content response = client.post('/%s/%s/checkout/confirm/' % (ticket.event.organizer.slug, ticket.event.slug), { }, follow=True) assert charge_create.called assert response.status_code == 200