lingo: post data to extra fees calculator (#16635)

This commit is contained in:
Frédéric Péters 2017-05-31 09:47:15 +02:00
parent 23b7b294eb
commit 1db0dd310e
2 changed files with 9 additions and 2 deletions

View File

@ -182,14 +182,18 @@ class Regie(models.Model):
'subject': basketitem.subject,
'source_url': basketitem.source_url,
'details': basketitem.details,
'amount': basketitem.amount,
'amount': str(basketitem.amount),
'request_data': basketitem.request_data
}
post_data['data'].append(basketitem_data)
if not post_data['data']:
basketitems.filter(extra_fee=True).delete()
return
response = requests.post(self.extra_fees_ws_url, remote_service='auto')
response = requests.post(
self.extra_fees_ws_url,
remote_service='auto',
data=json.dumps(post_data),
headers={'content-type': 'application/json'})
if response.status_code != 200 or response.json().get('err'):
logger = logging.getLogger(__name__)
logger.error('failed to compute extra fees (user: %r)', user)

View File

@ -478,6 +478,9 @@ def test_extra_fees(key, regie, user):
data['amount'] = 43
url = sign_url('%s?email=%s&orig=wcs' % (reverse('api-add-basket-item'), user_email), key)
resp = client.post(url, json.dumps(data), content_type='application/json')
assert request.call_args[0] == ('POST', 'http://www.example.net/extra-fees')
assert len(json.loads(request.call_args[1]['data'])['data']) == 2
assert resp.status_code == 200
assert json.loads(resp.content)['result'] == 'success'
assert not BasketItem.objects.filter(amount=5, extra_fee=True).exists()