Commit 14703a0397114b7fa5f66fd6d7d28cb6969e1374
1 parent
e49de33d
Fix url check in tender without lots
Showing
2 changed files
with
14 additions
and
13 deletions
... | ... | @@ -61,19 +61,19 @@ Library openprocurement_client_helper.py |
61 | 61 | Отримати посилання на аукціон для глядача |
62 | 62 | [Arguments] ${username} ${tender_uaid} ${lot_id}=${Empty} |
63 | 63 | ${tender}= openprocurement_client.Пошук тендера по ідентифікатору ${username} ${tender_uaid} |
64 | - ${lots}= get_object_by_id ${tender.data} ${lot_id} lots id | |
65 | - ${auctionUrl}= Get Variable Value ${lots['auctionUrl']} | |
66 | - [return] ${auctionUrl} | |
64 | + ${object_with_url}= get_object_by_id ${tender.data} ${lot_id} lots id | |
65 | + Log ${object_with_url} | |
66 | + ${auctionUrl}= Get Variable Value ${object_with_url['auctionUrl']} | |
67 | + [Return] ${auctionUrl} | |
67 | 68 | |
68 | 69 | |
69 | 70 | Отримати посилання на аукціон для учасника |
70 | 71 | [Arguments] ${username} ${tender_uaid} ${relatedLot}=${Empty} |
71 | 72 | ${bid}= openprocurement_client.Отримати пропозицію ${username} ${tender_uaid} |
72 | - Log ${bid} | |
73 | - ${lot_Values}= get_object_by_id ${bid.data} ${relatedLot} lotValues relatedLot | |
74 | - ${participationUrl}= Get Variable Value ${lot_Values['participationUrl']} | |
75 | - Log ${participationUrl} | |
76 | - [return] ${participationUrl} | |
73 | + ${object_with_url}= get_object_by_id ${bid.data} ${relatedLot} lotValues relatedLot | |
74 | + Log ${object_with_url} | |
75 | + ${participationUrl}= Get Variable Value ${object_with_url['participationUrl']} | |
76 | + [Return] ${participationUrl} | |
77 | 77 | |
78 | 78 | ############################################################################## |
79 | 79 | # Tender operations | ... | ... |
... | ... | @@ -473,21 +473,22 @@ def get_object_by_id(data, given_object_id, slice_element, object_id): |
473 | 473 | slice_element: what path should be extracted (e.g. from { key: val } extract key ) |
474 | 474 | object_id: what property is id (e.g. from { id: 1, name: 2 } extract id) |
475 | 475 | """ |
476 | - sliced_object = data[slice_element] | |
477 | - # Slice the given object, e.g. slice bid object to lotValues object | |
478 | 476 | |
479 | - if not sliced_object: | |
477 | + # Slice the given object, e.g. slice bid object to lotValues object | |
478 | + try: | |
479 | + sliced_object = data[slice_element] | |
480 | + except KeyError: | |
480 | 481 | return data |
481 | 482 | |
483 | + # If there is one sliced object, get the 1st element | |
482 | 484 | if len(sliced_object) == 1: |
483 | 485 | return sliced_object[0] |
484 | - # If there is one sliced object, get the 1st element | |
485 | 486 | |
487 | + # Compare given object id and id from sliced object | |
486 | 488 | for index, element in enumerate(sliced_object): |
487 | 489 | element_id = element[object_id] |
488 | 490 | if element_id == given_object_id: |
489 | 491 | return element |
490 | - # Compare given object id and id from sliced object | |
491 | 492 | |
492 | 493 | return sliced_object[0] |
493 | 494 | ... | ... |
Please
register
or
login
to post a comment