Skip to content

Commit

Permalink
test contract value modification, fix contract cancellation test
Browse files Browse the repository at this point in the history
  • Loading branch information
vmaksymiv committed Mar 9, 2016
1 parent a75f717 commit d8a434d
Showing 1 changed file with 37 additions and 2 deletions.
39 changes: 37 additions & 2 deletions openprocurement/tender/limited/tests/contract.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,8 @@ def setUp(self):
super(TenderContractResourceTest, self).setUp()
# Create award
response = self.app.post_json('/tenders/{}/awards?acc_token={}'.format(
self.tender_id, self.tender_token), {'data': {'suppliers': [self.initial_data["procuringEntity"]], 'status': 'pending'}})
self.tender_id, self.tender_token), {'data': {'suppliers': [self.initial_data["procuringEntity"]], 'status': 'pending',
'value': {"amount": 469, "currency": "UAH", "valueAddedTaxIncluded": True}}})
award = response.json['data']
self.award_id = award['id']
response = self.app.patch_json('/tenders/{}/awards/{}?acc_token={}'.format(self.tender_id, self.award_id, self.tender_token), {"data": {"status": "active"}})
Expand Down Expand Up @@ -184,6 +185,22 @@ def test_patch_tender_contract(self):
self.tender_id))
self.contract_id = response.json['data'][0]['id']

response = self.app.patch_json('/tenders/{}/contracts/{}?acc_token={}'.format(self.tender_id, self.contract_id, self.tender_token), {"data": {"value": {"currency": "USD"}}}, status=403)
self.assertEqual(response.status, '403 Forbidden')
self.assertEqual(response.json['errors'][0]["description"], "Can\'t update currency for contract value")

response = self.app.patch_json('/tenders/{}/contracts/{}?acc_token={}'.format(self.tender_id, self.contract_id, self.tender_token), {"data": {"value": {"valueAddedTaxIncluded": False}}}, status=403)
self.assertEqual(response.status, '403 Forbidden')
self.assertEqual(response.json['errors'][0]["description"], "Can\'t update valueAddedTaxIncluded for contract value")

response = self.app.patch_json('/tenders/{}/contracts/{}?acc_token={}'.format(self.tender_id, self.contract_id, self.tender_token), {"data": {"value": {"amount": 501}}}, status=403)
self.assertEqual(response.status, '403 Forbidden')
self.assertEqual(response.json['errors'][0]["description"], "Value amount should be less or equal to awarded amount (469.0)")

response = self.app.patch_json('/tenders/{}/contracts/{}?acc_token={}'.format(self.tender_id, self.contract_id, self.tender_token), {"data": {"value": {"amount": 238}}})
self.assertEqual(response.status, '200 OK')
self.assertEqual(response.json['data']['value']['amount'], 238)

response = self.app.patch_json('/tenders/{}/contracts/{}?acc_token={}'.format(self.tender_id, self.contract_id, self.tender_token),
{"data": {"status": "active"}})
self.assertEqual(response.status, '200 OK')
Expand Down Expand Up @@ -271,6 +288,7 @@ def test_patch_tender_contract(self):
self.assertEqual(response.status, '200 OK')
self.assertEqual(response.content_type, 'application/json')
self.assertEqual(response.json['data']["status"], "active")
self.assertEqual(response.json['data']["value"]['amount'], 238)

def test_get_tender_contract(self):
response = self.app.get('/tenders/{}/contracts'.format(
Expand Down Expand Up @@ -366,6 +384,22 @@ def test_patch_tender_contract(self):
i['complaintPeriod']['endDate'] = i['complaintPeriod']['startDate']
self.db.save(tender)

response = self.app.patch_json('/tenders/{}/contracts/{}?acc_token={}'.format(self.tender_id, self.contract_id, self.tender_token), {"data": {"value": {"currency": "USD"}}}, status=403)
self.assertEqual(response.status, '403 Forbidden')
self.assertEqual(response.json['errors'][0]["description"], "Can\'t update currency for contract value")

response = self.app.patch_json('/tenders/{}/contracts/{}?acc_token={}'.format(self.tender_id, self.contract_id, self.tender_token), {"data": {"value": {"valueAddedTaxIncluded": False}}}, status=403)
self.assertEqual(response.status, '403 Forbidden')
self.assertEqual(response.json['errors'][0]["description"], "Can\'t update valueAddedTaxIncluded for contract value")

response = self.app.patch_json('/tenders/{}/contracts/{}?acc_token={}'.format(self.tender_id, self.contract_id, self.tender_token), {"data": {"value": {"amount": 501}}}, status=403)
self.assertEqual(response.status, '403 Forbidden')
self.assertEqual(response.json['errors'][0]["description"], "Value amount should be less or equal to awarded amount (469.0)")

response = self.app.patch_json('/tenders/{}/contracts/{}?acc_token={}'.format(self.tender_id, self.contract_id, self.tender_token), {"data": {"value": {"amount": 238}}})
self.assertEqual(response.status, '200 OK')
self.assertEqual(response.json['data']['value']['amount'], 238)

response = self.app.patch_json('/tenders/{}/contracts/{}?acc_token={}'.format(self.tender_id, self.contract_id, self.tender_token),
{"data": {"status": "active"}})
self.assertEqual(response.status, '200 OK')
Expand Down Expand Up @@ -736,7 +770,8 @@ def test_patch_tender_contract_document(self):
self.assertEqual(doc_id, response.json["data"]["id"])
self.assertEqual('document description', response.json["data"]["description"])

response = self.app.patch_json('/tenders/{}/contracts/{}?acc_token={}'.format(self.tender_id, self.contract_id, self.tender_token), {"data": {"status": "cancelled"}})
# cancel contract by award cancellation
response = self.app.patch_json('/tenders/{}/awards/{}?acc_token={}'.format(self.tender_id, self.award_id, self.tender_token), {"data": {"status": "cancelled"}})
self.assertEqual(response.json['data']["status"], "cancelled")

response = self.app.patch_json('/tenders/{}/contracts/{}/documents/{}?acc_token={}'.format(self.tender_id, self.contract_id, doc_id, self.tender_token), {"data": {"description": "document description"}}, status=403)
Expand Down

0 comments on commit d8a434d

Please sign in to comment.