Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/a195878228859893_invalid_json'
Browse files Browse the repository at this point in the history
  • Loading branch information
kroman0 committed Oct 18, 2016
2 parents 89283dc + bbf84c2 commit bef1026
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 1 deletion.
21 changes: 21 additions & 0 deletions openprocurement/tender/openua/tests/tender.py
Original file line number Diff line number Diff line change
Expand Up @@ -603,6 +603,27 @@ def test_create_tender_draft(self):
tender = response.json['data']
self.assertEqual(tender['status'], 'active.tendering')

def test_patch_draft_invalid_json(self):
data = test_tender_data.copy()
data.update({'status': 'draft'})
response = self.app.post_json('/tenders', {'data': data})
self.assertEqual(response.status, '201 Created')
self.assertEqual(response.content_type, 'application/json')
tender = response.json['data']
owner_token = response.json['access']['token']
self.assertEqual(tender['status'], 'draft')

response = self.app.patch('/tenders/{}?acc_token={}'.format(tender['id'], owner_token),
"{}d", content_type='application/json', status=422)
self.assertEqual(response.status, '422 Unprocessable Entity')
self.assertEqual(response.json['errors'], [
{
"location": "body",
"name": "data",
"description": "Extra data: line 1 column 3 - line 1 column 4 (char 2 - 3)"
}
])

def test_create_tender(self):
response = self.app.get('/tenders')
self.assertEqual(response.status, '200 OK')
Expand Down
2 changes: 1 addition & 1 deletion openprocurement/tender/openua/validation.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ def validate_patch_tender_ua_data(request):
data = validate_json_data(request)
if request.context.status == 'draft':
default_status = type(request.tender).fields['status'].default
if data.get('status') != default_status:
if data and data.get('status') != default_status:
request.errors.add('body', 'data', 'Can\'t update tender in current (draft) status')
request.errors.status = 403
return
Expand Down

0 comments on commit bef1026

Please sign in to comment.