0001-lingo-do-not-add-a-basket-item-from-a-remote-regie-2.patch
combo/apps/lingo/views.py | ||
---|---|---|
168 | 168 |
# the database... |
169 | 169 |
item.regie = Regie.objects.all()[0] |
170 | 170 | |
171 |
if item.regie.is_remote(): |
|
172 |
return HttpResponseBadRequest('blah.') |
|
173 | ||
171 | 174 |
if request.GET.get('cancellable') == 'no': |
172 | 175 |
item.user_cancellable = False |
173 | 176 |
tests/test_lingo_payment.py | ||
---|---|---|
64 | 64 |
regie.save() |
65 | 65 |
return regie |
66 | 66 | |
67 | ||
68 |
@pytest.fixture |
|
69 |
def remote_regie(): |
|
70 |
try: |
|
71 |
payment_backend = PaymentBackend.objects.get(slug='test1') |
|
72 |
except PaymentBackend.DoesNotExist: |
|
73 |
payment_backend = PaymentBackend.objects.create( |
|
74 |
label='test1', slug='test1', service='dummy', service_options={'siret': '1234'}) |
|
75 |
try: |
|
76 |
regie = Regie.objects.get(slug='remote') |
|
77 |
except Regie.DoesNotExist: |
|
78 |
regie = Regie() |
|
79 |
regie.label = 'Remote' |
|
80 |
regie.slug = 'remote' |
|
81 |
regie.description = 'remote' |
|
82 |
regie.payment_min_amount = Decimal(2.0) |
|
83 |
regie.payment_backend = payment_backend |
|
84 |
regie.webservice_url = 'http://example.org/regie' # is_remote |
|
85 |
regie.save() |
|
86 |
return regie |
|
87 | ||
88 | ||
67 | 89 |
@pytest.fixture |
68 | 90 |
def basket_page(): |
69 | 91 |
page = Page(title='xxx', slug='test_basket_cell', template_name='standard') |
... | ... | |
344 | 366 |
assert 'Bad format for capture date, it should be yyyy-mm-dd.' in resp.text |
345 | 367 | |
346 | 368 | |
369 |
def test_add_basket_item_with_remote_regie(app, user, remote_regie): |
|
370 |
data = {'amount': 10, 'display_name': 'test item'} |
|
371 |
url = '%s?email=%s' % (reverse('api-add-basket-item'), user.email) |
|
372 |
url = sign_url(url, settings.LINGO_API_SIGN_KEY) |
|
373 |
resp = app.post_json(url, params=data, status=400) |
|
374 |
assert 'blah.' in resp.text |
|
375 | ||
376 | ||
347 | 377 |
def test_cant_pay_if_different_capture_date(app, basket_page, regie, user): |
348 | 378 |
capture1 = (timezone.now() + timedelta(days=1)).date() |
349 | 379 |
capture2 = (timezone.now() + timedelta(days=2)).date() |
350 |
- |