Improve payment method tests

This commit is contained in:
Raphael Michel
2016-11-17 23:39:15 +01:00
parent a6f164c07e
commit ddb2b44496
4 changed files with 27 additions and 6 deletions

View File

@@ -47,6 +47,7 @@ def test_payment(env, monkeypatch):
c = MockedCharge()
c.status = 'succeeded'
c.paid = True
charge_create.called = True
return c
monkeypatch.setattr("stripe.Charge.create", charge_create)
@@ -54,13 +55,23 @@ def test_payment(env, monkeypatch):
session_key = client.cookies.get(settings.SESSION_COOKIE_NAME).value
CartPosition.objects.create(
event=ticket.event, cart_id=session_key, item=ticket,
price=23, expires=now() + datetime.timedelta(minutes=10)
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'
'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

View File

@@ -11,7 +11,7 @@ def env(client):
event = Event.objects.create(
organizer=orga, name='30C3', slug='30c3',
date_from=datetime.datetime(2013, 12, 26, tzinfo=datetime.timezone.utc),
plugins='pretix.plugins.strip',
plugins='pretix.plugins.stripe',
live=True
)
event.settings.set('attendee_names_asked', False)
@@ -27,3 +27,4 @@ def test_settings(env):
client, event = env
response = client.get('/control/event/%s/%s/settings/payment' % (event.organizer.slug, event.slug), follow=True)
assert response.status_code == 200
assert 'stripe__enabled' in response.rendered_content