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 2a539c7 + d79e103 commit 7abaa55
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 12 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -509,14 +509,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': 'pending'}})
self.assertEqual(response.status, '200 OK')
{"data": {'status': 'pending'}}, 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'], 'pending')
self.assertEqual(response.json['data']['status'], 'deleted')

def test_deleted_bid_do_not_locks_tender_in_state(self):
bids = []
Expand Down
18 changes: 10 additions & 8 deletions openprocurement/tender/competitivedialogue/tests/stage2/bid.py
Original file line number Diff line number Diff line change
Expand Up @@ -638,14 +638,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': 'pending'}})
self.assertEqual(response.status, '200 OK')
{"data": {'status': 'pending'}}, 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'], 'pending')
self.assertEqual(response.json['data']['status'], 'deleted')

def test_deleted_bid_do_not_locks_tender_in_state(self):
bids = []
Expand Down Expand Up @@ -3170,14 +3171,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')
{"data": {'status': 'active'}}, 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
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,10 @@ def patch_bid_first_stage(self):
tender.tenderPeriod.endDate.isoformat()))
self.request.errors.status = 403
return
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.authenticated_role != 'Administrator':
bid_status_to = self.request.validated['data'].get("status", self.request.context.status)
if bid_status_to not in ['pending', 'draft']:
Expand Down

0 comments on commit 7abaa55

Please sign in to comment.