Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/a288110197594443_test_multilot_f…
Browse files Browse the repository at this point in the history
…eatures_deletion'
  • Loading branch information
vmaksymiv committed Mar 27, 2017
2 parents a0d8a8b + 9d1463e commit 555ca94
Show file tree
Hide file tree
Showing 2 changed files with 95 additions and 2 deletions.
95 changes: 94 additions & 1 deletion openprocurement/tender/openua/tests/lot.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

from openprocurement.api.models import get_now
from openprocurement.api.tests.base import test_lots, test_bids, test_organization
from openprocurement.tender.openua.tests.base import BaseTenderUAContentWebTest, test_tender_data
from openprocurement.tender.openua.tests.base import BaseTenderUAContentWebTest, test_tender_data, test_features_tender_ua_data


class TenderLotResourceTest(BaseTenderUAContentWebTest):
Expand Down Expand Up @@ -1873,6 +1873,99 @@ def test_2lot_2bid_2com_2win(self):
self.assertTrue(all([i['status'] == 'complete' for i in response.json['data']['lots']]))
self.assertEqual(response.json['data']['status'], 'complete')

def test_lots_features_delete(self):
# create tender
response = self.app.post_json('/tenders', {'data': test_features_tender_ua_data})
self.assertEqual(response.status, '201 Created')
self.assertEqual(response.content_type, 'application/json')
tender = response.json['data']
tender_id = self.tender_id = response.json['data']['id']
owner_token = response.json['access']['token']
self.assertEqual(tender['features'], test_features_tender_ua_data['features'])
# add lot
lots = []
for lot in test_lots * 2:
response = self.app.post_json('/tenders/{}/lots?acc_token={}'.format(tender_id, owner_token), {'data': lot})
self.assertEqual(response.status, '201 Created')
self.assertEqual(response.content_type, 'application/json')
lots.append(response.json['data']['id'])

# add features
response = self.app.patch_json('/tenders/{}?acc_token={}&opt_pretty=1'.format(tender['id'], owner_token), {'data': {
"features": [
{
"code": "code_item",
"featureOf": "item",
"relatedItem": '1',
"title": u"item feature",
"enum": [
{
"value": 0.01,
"title": u"good"
},
{
"value": 0.02,
"title": u"best"
}
]
},
{
"code": "code_lot",
"featureOf": "lot",
"relatedItem": lots[1],
"title": u"lot feature",
"enum": [
{
"value": 0.01,
"title": u"good"
},
{
"value": 0.02,
"title": u"best"
}
]
},
{
"code": "code_tenderer",
"featureOf": "tenderer",
"title": u"tenderer feature",
"enum": [
{
"value": 0.01,
"title": u"good"
},
{
"value": 0.02,
"title": u"best"
}
]
}
]}})
# create bid
response = self.app.post_json('/tenders/{}/bids'.format(tender_id),
{'data': {'selfEligible': True, 'selfQualified': True,
'lotValues': [{"value": {"amount": 500}, 'relatedLot': lots[1]}],
'parameters': [
{"code": "code_lot","value": 0.01},
{"code": "code_tenderer","value": 0.01}],
'tenderers': [test_organization]}})
self.assertEqual(response.status, '201 Created')
self.assertEqual(response.content_type, 'application/json')
bid_id = response.json['data']['id']
bid_token = response.json['access']['token']
# delete features
response = self.app.patch_json('/tenders/{}?acc_token={}'.format(tender['id'], owner_token), {'data': {'features': []}})
response = self.app.get('/tenders/{}?opt_pretty=1'.format(tender_id))
self.assertNotIn('features', response.json['data'])
# patch bid without parameters
response = self.app.patch_json('/tenders/{}/bids/{}?acc_token={}'.format(tender_id, bid_id, bid_token),
{'data': {'selfEligible': True, 'selfQualified': True,
'status': "active",
'lotValues': [{"value": {"amount": 500}, 'relatedLot': lots[1]}],
'parameters': [],
'tenderers': [test_organization]}})
self.assertEqual(response.status, '200 OK')
self.assertNotIn('parameters', response.json['data'])

def suite():
suite = unittest.TestSuite()
Expand Down
2 changes: 1 addition & 1 deletion setup.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
from setuptools import setup, find_packages
import os

version = '2.3.23'
version = '2.3.24'

requires = [
'setuptools',
Expand Down

0 comments on commit 555ca94

Please sign in to comment.