Skip to content

Commit 238c22e

Browse files
committed
Switch to data as root item of tenders listing
1 parent 5f9d78a commit 238c22e

2 files changed

Lines changed: 19 additions & 23 deletions

File tree

src/openprocurement/api/tests/tender.py

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -33,12 +33,12 @@ def test_empty_listing(self):
3333
response = self.app.get('/tenders')
3434
self.assertEqual(response.status, '200 OK')
3535
self.assertEqual(response.content_type, 'application/json')
36-
self.assertEqual(response.body, '{"tenders": []}')
36+
self.assertEqual(response.body, '{"data": []}')
3737

3838
def test_listing(self):
3939
response = self.app.get('/tenders')
4040
self.assertEqual(response.status, '200 OK')
41-
self.assertEqual(len(response.json['tenders']), 0)
41+
self.assertEqual(len(response.json['data']), 0)
4242

4343
for i in range(3):
4444
response = self.app.post_json('/tenders', {'data': {}})
@@ -47,7 +47,7 @@ def test_listing(self):
4747

4848
response = self.app.get('/tenders')
4949
self.assertEqual(response.status, '200 OK')
50-
self.assertEqual(len(response.json['tenders']), 3)
50+
self.assertEqual(len(response.json['data']), 3)
5151

5252
def test_create_tender_invalid(self):
5353
request_path = '/tenders'
@@ -132,7 +132,7 @@ def test_create_tender_generated(self):
132132
def test_create_tender(self):
133133
response = self.app.get('/tenders')
134134
self.assertEqual(response.status, '200 OK')
135-
self.assertEqual(len(response.json['tenders']), 0)
135+
self.assertEqual(len(response.json['data']), 0)
136136

137137
response = self.app.post_json('/tenders', {"data": test_tender_data})
138138
self.assertEqual(response.status, '201 Created')
@@ -150,7 +150,7 @@ def test_create_tender(self):
150150
def test_get_tender(self):
151151
response = self.app.get('/tenders')
152152
self.assertEqual(response.status, '200 OK')
153-
self.assertEqual(len(response.json['tenders']), 0)
153+
self.assertEqual(len(response.json['data']), 0)
154154

155155
response = self.app.post_json('/tenders', {'data': {}})
156156
self.assertEqual(response.status, '201 Created')
@@ -164,7 +164,7 @@ def test_get_tender(self):
164164
def test_put_tender(self):
165165
response = self.app.get('/tenders')
166166
self.assertEqual(response.status, '200 OK')
167-
self.assertEqual(len(response.json['tenders']), 0)
167+
self.assertEqual(len(response.json['data']), 0)
168168

169169
response = self.app.post_json('/tenders', {'data': {}})
170170
self.assertEqual(response.status, '201 Created')
@@ -184,7 +184,7 @@ def test_put_tender(self):
184184
def test_patch_tender(self):
185185
response = self.app.get('/tenders')
186186
self.assertEqual(response.status, '200 OK')
187-
self.assertEqual(len(response.json['tenders']), 0)
187+
self.assertEqual(len(response.json['data']), 0)
188188

189189
response = self.app.post_json('/tenders', {'data': {}})
190190
self.assertEqual(response.status, '201 Created')
@@ -204,7 +204,7 @@ def test_patch_tender(self):
204204
def test_modified_tender(self):
205205
response = self.app.get('/tenders')
206206
self.assertEqual(response.status, '200 OK')
207-
self.assertEqual(len(response.json['tenders']), 0)
207+
self.assertEqual(len(response.json['data']), 0)
208208

209209
response = self.app.post_json('/tenders', {'data': {}})
210210
self.assertEqual(response.status, '201 Created')
@@ -233,7 +233,7 @@ def test_modified_tender(self):
233233
def test_tender_not_found(self):
234234
response = self.app.get('/tenders')
235235
self.assertEqual(response.status, '200 OK')
236-
self.assertEqual(len(response.json['tenders']), 0)
236+
self.assertEqual(len(response.json['data']), 0)
237237

238238
response = self.app.get('/tenders/some_id', status=404)
239239
self.assertEqual(response.status, '404 Not Found')

src/openprocurement/api/views.py

Lines changed: 10 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,6 @@
1414
auction = Service(name='Tender Auction', path='/tenders/{tender_id}/auction', renderer='json')
1515

1616

17-
def wrap_data(data):
18-
return {"data": data}
19-
20-
2117
def validate_tender_data(request):
2218
try:
2319
json = request.json_body
@@ -128,7 +124,7 @@ def collection_get(self):
128124
Content-Type: application/json
129125
130126
{
131-
"tenders": [
127+
"data": [
132128
{
133129
"id": "64e93250be76435397e8c992ed4214d1",
134130
"tenderID": "UA-2014-DUS-156",
@@ -188,7 +184,7 @@ def collection_get(self):
188184
"""
189185
# limit, skip, descending
190186
results = TenderDocument.view(self.db, 'tenders/all')
191-
return {'tenders': [i.serialize("view") for i in results]}
187+
return {'data': [i.serialize("view") for i in results]}
192188

193189
@view(content_type="application/json", validators=(validate_tender_data,))
194190
def collection_post(self):
@@ -335,7 +331,7 @@ def collection_post(self):
335331
self.request.response.status = 201
336332
self.request.response.headers[
337333
'Location'] = self.request.route_url('Tender', id=tender_id)
338-
return wrap_data(tender.serialize("view"))
334+
return {'data': tender.serialize("view")}
339335

340336
@view(renderer='json')
341337
def get(self):
@@ -421,7 +417,7 @@ def get(self):
421417
self.request.errors.add('url', 'id', 'Not Found')
422418
self.request.errors.status = 404
423419
return
424-
return wrap_data(tender.serialize("view"))
420+
return {'data': tender.serialize("view")}
425421

426422
@view(content_type="application/json", validators=(validate_tender_data,))
427423
def put(self):
@@ -437,7 +433,7 @@ def put(self):
437433
tender.store(self.db)
438434
except Exception, e:
439435
return self.request.errors.add('body', 'data', str(e))
440-
return wrap_data(tender.serialize("view"))
436+
return {'data': tender.serialize("view")}
441437

442438
@view(content_type="application/json", validators=(validate_tender_data,))
443439
def patch(self):
@@ -501,7 +497,7 @@ def patch(self):
501497
tender.store(self.db)
502498
except Exception, e:
503499
return self.request.errors.add('body', 'data', str(e))
504-
return wrap_data(tender.serialize("view"))
500+
return {'data': tender.serialize("view")}
505501

506502

507503
@resource(name='Tender Documents',
@@ -681,7 +677,7 @@ def collection_post(self):
681677
return self.request.errors.add('body', 'data', str(e))
682678
self.request.response.status = 201
683679
# self.request.response.headers['Location'] = self.request.route_url('Tender Bids', tender_id=self.tender_id, id=bid['id'])
684-
return wrap_data(bid.serialize("view"))
680+
return {'data': bid.serialize("view")}
685681

686682

687683
@resource(name='Tender Bid Documents',
@@ -826,7 +822,7 @@ def collection_post(self):
826822
return self.request.errors.add('body', 'data', str(e))
827823
self.request.response.status = 201
828824
# self.request.response.headers['Location'] = self.request.route_url('Tender Bids', tender_id=self.tender_id, id=award['awardID'])
829-
return wrap_data(award.serialize("view"))
825+
return {'data': award.serialize("view")}
830826

831827

832828
@auction.get()
@@ -887,7 +883,7 @@ def get_auction(request):
887883
"amount": 35,
888884
"currency": "UAH"
889885
}
890-
return wrap_data(auction_info)
886+
return {'data': auction_info}
891887

892888

893889
@auction.patch(content_type="application/json", validators=(validate_tender_data,))
@@ -965,4 +961,4 @@ def patch_auction(request):
965961
tender.store(db)
966962
except Exception, e:
967963
return request.errors.add('body', 'data', str(e))
968-
return wrap_data(tender.serialize("auction"))
964+
return {'data': tender.serialize("auction")}

0 commit comments

Comments
 (0)