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,19 +61,19 @@ Library openprocurement_client_helper.py | ||
61 | Отримати посилання на аукціон для глядача | 61 | Отримати посилання на аукціон для глядача |
62 | [Arguments] ${username} ${tender_uaid} ${lot_id}=${Empty} | 62 | [Arguments] ${username} ${tender_uaid} ${lot_id}=${Empty} |
63 | ${tender}= openprocurement_client.Пошук тендера по ідентифікатору ${username} ${tender_uaid} | 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 | [Arguments] ${username} ${tender_uaid} ${relatedLot}=${Empty} | 71 | [Arguments] ${username} ${tender_uaid} ${relatedLot}=${Empty} |
71 | ${bid}= openprocurement_client.Отримати пропозицію ${username} ${tender_uaid} | 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 | # Tender operations | 79 | # Tender operations |
@@ -473,21 +473,22 @@ def get_object_by_id(data, given_object_id, slice_element, object_id): | @@ -473,21 +473,22 @@ def get_object_by_id(data, given_object_id, slice_element, object_id): | ||
473 | slice_element: what path should be extracted (e.g. from { key: val } extract key ) | 473 | slice_element: what path should be extracted (e.g. from { key: val } extract key ) |
474 | object_id: what property is id (e.g. from { id: 1, name: 2 } extract id) | 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 | return data | 481 | return data |
481 | 482 | ||
483 | + # If there is one sliced object, get the 1st element | ||
482 | if len(sliced_object) == 1: | 484 | if len(sliced_object) == 1: |
483 | return sliced_object[0] | 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 | for index, element in enumerate(sliced_object): | 488 | for index, element in enumerate(sliced_object): |
487 | element_id = element[object_id] | 489 | element_id = element[object_id] |
488 | if element_id == given_object_id: | 490 | if element_id == given_object_id: |
489 | return element | 491 | return element |
490 | - # Compare given object id and id from sliced object | ||
491 | 492 | ||
492 | return sliced_object[0] | 493 | return sliced_object[0] |
493 | 494 |
Please
register
or
login
to post a comment