lingo: fix add basket item view when display_name is missing (#42621)
This commit is contained in:
parent
35c8d05564
commit
ee1b833ef4
|
@ -141,6 +141,9 @@ class AddBasketItemApiView(View):
|
|||
not 'amount' in extra:
|
||||
return HttpResponseBadRequest('missing amount parameter')
|
||||
|
||||
if 'display_name' not in request_body:
|
||||
return HttpResponseBadRequest('missing display_name parameter')
|
||||
|
||||
item = BasketItem(amount=0)
|
||||
try:
|
||||
item.amount = self.get_amount(request.GET.getlist('amount'))
|
||||
|
@ -197,7 +200,7 @@ class AddBasketItemApiView(View):
|
|||
if request.GET.get('cancellable') == 'no':
|
||||
item.user_cancellable = False
|
||||
|
||||
item.subject = request_body.get('display_name')
|
||||
item.subject = request_body['display_name']
|
||||
item.source_url = request_body.get('url') or ''
|
||||
|
||||
if 'capture_date' in request_body:
|
||||
|
|
|
@ -410,6 +410,15 @@ def test_add_basket_item_with_remote_regie(app, user, remote_regie):
|
|||
assert 'Can not add a basket item to a remote regie.' in resp.text
|
||||
|
||||
|
||||
def test_add_basket_item_without_display_name(app, user, regie):
|
||||
data = {'amount': '42',
|
||||
'url': 'http://example.com'}
|
||||
url = '%s?email=%s&orig=wcs' % (reverse('api-add-basket-item'), user.email)
|
||||
url = sign_url(url, settings.LINGO_API_SIGN_KEY)
|
||||
resp = app.post_json(url, params=data, status=400)
|
||||
assert 'missing display_name parameter' in resp.text
|
||||
|
||||
|
||||
def test_cant_pay_if_different_capture_date(app, basket_page, regie, user):
|
||||
capture1 = (timezone.now() + timedelta(days=1)).date()
|
||||
capture2 = (timezone.now() + timedelta(days=2)).date()
|
||||
|
|
Loading…
Reference in New Issue