Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/a244188660001653_fix_deleted_bid'
Browse files Browse the repository at this point in the history
  • Loading branch information
vmaksymiv committed Jan 18, 2017
2 parents 01bcfcc + d1a6836 commit 70c3d38
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 4 deletions.
9 changes: 5 additions & 4 deletions openprocurement/tender/openua/tests/bid.py
Original file line number Diff line number Diff line change
Expand Up @@ -363,14 +363,15 @@ def test_deleted_bid_is_not_restorable(self):
# try to restore deleted bid
response = self.app.patch_json('/tenders/{}/bids/{}?acc_token={}'.format(self.tender_id, bid['id'], bid_token), {"data": {
'status': 'active',
}})
self.assertEqual(response.status, '200 OK')
}}, status=403)
self.assertEqual(response.status, '403 Forbidden')
self.assertEqual(response.content_type, 'application/json')
self.assertEqual(response.json['errors'][0]["description"], "Can't update bid in (deleted) status")

response = self.app.get('/tenders/{}/bids/{}?acc_token={}'.format(self.tender_id, bid['id'], bid_token))
self.assertEqual(response.status, '200 OK')
self.assertEqual(response.content_type, 'application/json')
self.assertNotEqual(response.json['data']['status'], 'deleted')
self.assertEqual(response.json['data']['status'], 'active')
self.assertEqual(response.json['data']['status'], 'deleted')

def test_deleted_bid_do_not_locks_tender_in_state(self):
bids = []
Expand Down
4 changes: 4 additions & 0 deletions openprocurement/tender/openua/views/bid.py
Original file line number Diff line number Diff line change
Expand Up @@ -185,6 +185,10 @@ def patch(self):
self.request.errors.status = 403
return
bid_status_to = self.request.validated['data'].get("status", self.request.context.status)
if self.request.context.status == 'deleted':
self.request.errors.add('body', 'bid', 'Can\'t update bid in ({}) status'.format(self.request.context.status))
self.request.errors.status = 403
return
if self.request.context.status != 'draft' and bid_status_to == 'draft':
self.request.errors.add('body', 'bid', 'Can\'t update bid to ({}) status'.format(bid_status_to))
self.request.errors.status = 403
Expand Down

0 comments on commit 70c3d38

Please sign in to comment.