Commit c107f12fae13386a69db04013e7b8a036be64ddd

Authored by Leits
1 parent 38f66ea1

Upd multilot

... ... @@ -275,50 +275,77 @@ Library openprocurement_client_helper.py
275 275 ##############################################################################
276 276
277 277 Створити лот
278   - [Arguments] ${username} ${tender} ${lot}
279   - Log ${username}
280   - Log ${tender}
281   - Log ${lot}
282   - ${tender}= set_access_key ${tender} ${USERS.users['${username}'].access_token}
283   - ${tender_lot}= Call Method ${USERS.users['${username}'].client} create_lot ${tender} ${lot}
284   - Log ${tender_lot}
285   - [return] ${tender_lot}
286   - #TODO:
287   - #[Arguments] ${username} ${tender_uaid} ${lot}
288   - #${tender}= openprocurement_client.Пошук тендера по ідентифікатору ${username} ${tender_uaid}
  278 + [Arguments] ${username} ${tender_uaid} ${lot}
  279 + ${tender}= openprocurement_client.Пошук тендера по ідентифікатору ${username} ${tender_uaid}
  280 + ${reply}= Call Method ${USERS.users['${username}'].client} create_lot ${tender} ${lot}
  281 + [return] ${reply}
  282 +
  283 +
  284 +Отримати інформацію із лоту
  285 + [Arguments] ${username} ${lot_id} ${field_name}
  286 + ${field_name}= Отримати шлях до поля об’єкта ${username} ${field_name} ${lot_id}
  287 + Run Keyword And Return openprocurement_client.Отримати інформацію із тендера ${username} ${field_name}
289 288
290 289
291 290 Змінити лот
292   - [Arguments] ${username} ${tender} ${lot}
293   - ${tender}= set_access_key ${tender} ${USERS.users['${username}'].access_token}
294   - ${tender_lot}= Call Method ${USERS.users['${username}'].client} patch_lot ${tender} ${lot}
295   - Log ${tender_lot}
296   - [return] ${tender_lot}
297   - #TODO:
298   - #[Arguments] ${username} ${tender_uaid} ${lot}
299   - #${tender}= openprocurement_client.Пошук тендера по ідентифікатору ${username} ${tender_uaid}
  291 + [Arguments] ${username} ${tender_uaid} ${lot_id} ${fieldname} ${fieldvalue}
  292 + ${tender}= openprocurement_client.Пошук тендера по ідентифікатору ${username} ${tender_uaid}
  293 + ${lot_index}= get_object_index_by_id ${tender.data.lots} ${lot_id}
  294 + ${lot}= Create Dictionary data=${tender.data.lots[${lot_index}]}
  295 + Set_To_Object ${lot.data} ${fieldname} ${fieldvalue}
  296 + ${reply}= Call Method ${USERS.users['${username}'].client} patch_lot ${tender} ${lot}
  297 + [return] ${reply}
  298 +
  299 +
  300 +Додати предмет закупівлі в лот
  301 + [Arguments] ${username} ${tender_uaid} ${lot_id} ${item}
  302 + ${tender}= openprocurement_client.Пошук тендера по ідентифікатору ${username} ${tender_uaid}
  303 + ${lot_index}= get_object_index_by_id ${tender.data.lots} ${lot_id}
  304 + ${lot_id}= Get Variable Value ${tender.data.lots[${lot_index}].id}
  305 + Set_To_Object ${item} relatedLot ${lot_id}
  306 + Append To List ${tender.data['items']} ${item}
  307 + Call Method ${USERS.users['${username}'].client} patch_tender ${tender}
  308 +
  309 +
  310 +Задати питання до лоту
  311 + [Arguments] ${username} ${tender_uaid} ${lot_id} ${question}
  312 + ${tender}= openprocurement_client.Пошук тендера по ідентифікатору ${username} ${tender_uaid}
  313 + ${lot_index}= get_object_index_by_id ${tender.data.lots} ${lot_id}
  314 + ${lot_id}= Get Variable Value ${tender.data.lots[${lot_index}].id}
  315 + ${question}= test_lot_question_data ${question} ${lot_id}
  316 + ${biddingresponse}= Call Method ${USERS.users['${username}'].client} create_question ${tender} ${question}
  317 + [return] ${biddingresponse}
300 318
301 319
302 320 Завантажити документ в лот
303 321 [Arguments] ${username} ${filepath} ${tender_uaid} ${lot_id}
304 322 ${tender}= openprocurement_client.Пошук тендера по ідентифікатору ${username} ${tender_uaid}
305   - ${tender}= set_access_key ${tender} ${USERS.users['${username}'].access_token}
  323 + ${lot_index}= get_object_index_by_id ${tender.data.lots} ${lot_id}
  324 + ${lot_id}= Get Variable Value ${tender.data.lots[${lot_index}].id}
306 325 ${doc}= openprocurement_client.Завантажити документ ${username} ${filepath} ${tender_uaid}
307 326 ${lot_doc}= test_lot_document_data ${doc} ${lot_id}
308 327 ${reply}= Call Method ${USERS.users['${username}'].client} patch_document ${tender} ${lot_doc}
309   - Log object data ${reply} reply
310 328 [return] ${reply}
311 329
312 330
313 331 Видалити лот
314   - [Arguments] ${username} ${tender} ${lot}
315   - ${tender}= set_access_key ${tender} ${USERS.users['${username}'].access_token}
316   - ${tender_lot}= Call Method ${USERS.users['${username}'].client} delete_lot ${tender} ${lot}
317   - Log ${tender_lot}
318   - [return] ${tender_lot}
319   - #TODO:
320   - #[Arguments] ${username} ${tender_uaid} ${lot}
321   - #${tender}= openprocurement_client.Пошук тендера по ідентифікатору ${username} ${tender_uaid}
  332 + [Arguments] ${username} ${tender_uaid} ${lot_id}
  333 + ${tender}= openprocurement_client.Пошук тендера по ідентифікатору ${username} ${tender_uaid}
  334 + ${lot_index}= get_object_index_by_id ${tender.data.lots} ${lot_id}
  335 + ${lot}= Create Dictionary data=${tender.data.lots[${lot_index}]}
  336 + ${reply}= Call Method ${USERS.users['${username}'].client} delete_lot ${tender} ${lot}
  337 + [return] ${reply}
  338 +
  339 +
  340 +Подати цінову пропозицію на лоти
  341 + [Arguments] ${username} ${tender_uaid} ${bid} ${lots_ids}
  342 + ${tender}= openprocurement_client.Пошук тендера по ідентифікатору ${username} ${tender_uaid}
  343 + : FOR ${index} ${lot_id} IN ENUMERATE @{lots_ids}
  344 + \ ${lot_index}= get_object_index_by_id ${tender.data.lots} ${lot_id}
  345 + \ ${lot_id}= Get Variable Value ${tender.data.lots[${lot_index}].id}
  346 + \ Set To Dictionary ${bid.data.lotValues[${index}]} relatedLot=${lot_id}
  347 + ${reply}= openprocurement_client.Подати цінову пропозицію ${username} ${tender_uaid} ${bid}
  348 + [return] ${reply}
322 349
323 350 ##############################################################################
324 351 # Claims
... ...
... ... @@ -42,7 +42,7 @@ Default:
42 42 Quinta:
43 43 intervals:
44 44 default:
45   - enquiry: [0, 2]
  45 + enquiry: [0, 3]
46 46 tender: [0, 5]
47 47 openua:
48 48 tender: [1, 15]
... ...
... ... @@ -14,7 +14,7 @@ def create_fake_sentence():
14 14 return fake.sentence(nb_words=10, variable_nb_words=True)
15 15
16 16
17   -def description_with_id(prefix, sentence):
  17 +def field_with_id(prefix, sentence):
18 18 return "{}-{}: {}".format(prefix, fake.uuid4()[:8], sentence)
19 19
20 20
... ... @@ -103,7 +103,7 @@ def test_tender_data_limited(intervals, procurement_method_type):
103 103 "id": "55523100-3",
104 104 "scheme": "CPV"
105 105 },
106   - "description": description_with_id('i', fake.sentence(nb_words=10, variable_nb_words=True)),
  106 + "description": field_with_id('i', fake.sentence(nb_words=10, variable_nb_words=True)),
107 107 "id": "2dc54675d6364e2baffbc0f8e74432ac",
108 108 "deliveryDate": {
109 109 "endDate": (now + timedelta(days=5)).isoformat()
... ... @@ -195,19 +195,11 @@ def test_tender_data_multiple_items(intervals):
195 195
196 196
197 197 def test_tender_data_multiple_lots(intervals):
198   - tender = test_tender_data_multiple_items(intervals)
  198 + tender = test_tender_data(intervals)
199 199 first_lot_id = "3c8f387879de4c38957402dbdb8b31af"
200   - second_lot_id = "bcac8d2ceb5f4227b841a2211f5cb646"
201   -
202   - for item in tender['items'][:-1]:
203   - item['relatedLot'] = first_lot_id
204   - tender['items'][-1]['relatedLot'] = second_lot_id
205   - tender['lots'] = []
206   - for _ in range(2):
207   - new_lot = test_lot_data()
208   - tender['lots'].append(new_lot)
  200 + tender['items'][0]['relatedLot'] = first_lot_id
  201 + tender['lots'] = [test_lot_data()]
209 202 tender['lots'][0]['id'] = first_lot_id
210   - tender['lots'][1]['id'] = second_lot_id
211 203 return tender
212 204
213 205
... ... @@ -219,8 +211,8 @@ def test_tender_data_meat(intervals):
219 211 {
220 212 "code": "ee3e24bc17234a41bd3e3a04cc28e9c6",
221 213 "featureOf": "tenderer",
222   - "title": "Термін оплати",
223   - "description": description_with_id('f', "Умови відстрочки платежу після поставки товару"),
  214 + "title": field_with_id('f', "Термін оплати"),
  215 + "description": "Умови відстрочки платежу після поставки товару",
224 216 "enum": [
225 217 {
226 218 "value": 0.15,
... ... @@ -244,8 +236,8 @@ def test_tender_data_meat(intervals):
244 236 "code": "48cfd91612c04125ab406374d7cc8d93",
245 237 "featureOf": "item",
246 238 "relatedItem": item_id,
247   - "title": "Сорт",
248   - "description": description_with_id('f', "Сорт продукції"),
  239 + "title": field_with_id('f', "Сорт"),
  240 + "description": "Сорт продукції",
249 241 "enum": [
250 242 {
251 243 "value": 0.05,
... ... @@ -265,7 +257,7 @@ def test_tender_data_meat(intervals):
265 257 return tender
266 258
267 259
268   -def test_question_data(lot=False):
  260 +def test_question_data():
269 261 data = munchify({
270 262 "data": {
271 263 "author": {
... ... @@ -289,12 +281,10 @@ def test_question_data(lot=False):
289 281 },
290 282 "name": fake.company()
291 283 },
292   - "description": description_with_id('q', fake.sentence(nb_words=10, variable_nb_words=True)),
293   - "title": fake.sentence(nb_words=6, variable_nb_words=True)
  284 + "description": fake.sentence(nb_words=10, variable_nb_words=True),
  285 + "title": field_with_id('q', fake.sentence(nb_words=6, variable_nb_words=True))
294 286 }
295 287 })
296   - if lot:
297   - data = test_lot_question_data(data)
298 288 return data
299 289
300 290
... ... @@ -488,9 +478,9 @@ def test_bid_data(mode):
488 478 if mode == 'multiLot':
489 479 bid.data.lotValues = list()
490 480 for _ in range(2):
491   - bid.data.lotValues.append(test_bid_values())
  481 + bid.data.lotValues.append(test_bid_value())
492 482 else:
493   - bid.data.value = test_bid_values()
  483 + bid.data.update(test_bid_value())
494 484 if mode == 'meat':
495 485 bid.update(test_bid_params())
496 486 return bid
... ... @@ -510,7 +500,7 @@ def test_bid_params():
510 500 ]
511 501 })
512 502
513   -def test_bid_values():
  503 +def test_bid_value():
514 504 return munchify({
515 505 "value": {
516 506 "currency": "UAH",
... ... @@ -574,7 +564,7 @@ def test_award_data():
574 564 def test_item_data():
575 565 now = get_now()
576 566 return munchify({
577   - "description": description_with_id('i', fake.catch_phrase()),
  567 + "description": field_with_id('i', fake.catch_phrase()),
578 568 "deliveryDate": {
579 569 "endDate": (now + timedelta(days=5)).isoformat()
580 570 },
... ... @@ -656,8 +646,8 @@ def test_invalid_features_data():
656 646 def test_lot_data():
657 647 return munchify(
658 648 {
659   - "description": description_with_id('l', fake.sentence(nb_words=10, variable_nb_words=True)),
660   - "title": fake.sentence(nb_words=6, variable_nb_words=True),
  649 + "description": fake.sentence(nb_words=10, variable_nb_words=True),
  650 + "title": field_with_id('l', fake.sentence(nb_words=6, variable_nb_words=True)),
661 651 "value": {
662 652 "currency": "UAH",
663 653 "amount": 2000 + fake.pyfloat(left_digits=4, right_digits=1, positive=True),
... ... @@ -672,22 +662,19 @@ def test_lot_data():
672 662 })
673 663
674 664
675   -def test_lot_document_data(document, lot_id="3c8f387879de4c38957402dbdb8b31af"):
676   - lot_document = {"documentOf": "lot", "relatedItem": lot_id}
677   - lot_document.update(document.data)
678   - return munchify({"data": lot_document})
  665 +def test_lot_document_data(document, lot_id):
  666 + document.data.update({"documentOf": "lot", "relatedItem": lot_id})
  667 + return munchify(document)
679 668
680 669
681   -def test_lot_question_data(question, lot_id="3c8f387879de4c38957402dbdb8b31af"):
682   - lot_question = {"questionOf": "lot", "relatedItem": lot_id}
683   - lot_question.update(question.data)
684   - return munchify({"data": lot_question})
  670 +def test_lot_question_data(question, lot_id):
  671 + question.data.update({"questionOf": "lot", "relatedItem": lot_id})
  672 + return munchify(question)
685 673
686 674
687   -def test_lot_complaint_data(complaint, lot_id="3c8f387879de4c38957402dbdb8b31af"):
688   - lot_complaint = {"complaintOf": "lot", "relatedItem": lot_id}
689   - lot_complaint.update(complaint.data)
690   - return munchify({"data": lot_complaint})
  675 +def test_lot_complaint_data(complaint, lot_id):
  676 + complaint.data.update({"complaintOf": "lot", "relatedItem": lot_id})
  677 + return munchify(complaint)
691 678
692 679
693 680 def test_tender_data_openua(intervals):
... ...
... ... @@ -157,11 +157,15 @@ Get Broker Property By Username
157 157 ... tender_uaid=${TENDER['TENDER_UAID']}
158 158 ... last_modification_date=${TENDER['LAST_MODIFICATION_DATE']}
159 159 ... tender_owner=${USERS.users['${tender_owner}'].broker}
  160 + ... mode=${mode}
160 161 Run Keyword If '${USERS.users['${tender_owner}'].broker}' == 'Quinta'
161 162 ... Run Keyword And Ignore Error
162 163 ... Set To Dictionary ${artifact}
163 164 ... access_token=${USERS.users['${tender_owner}'].access_token}
164 165 ... tender_id=${USERS.users['${tender_owner}'].tender_data.data.id}
  166 + ${status} ${lots_ids}= Run Keyword And Ignore Error Отримати ідентифікатори об’єктів ${viewer} lots
  167 + Run Keyword If ${status}'=='PASS'
  168 + ... Set To Dictionary ${artifact} lots=${lots_ids}
165 169 Log ${artifact}
166 170 log_object_data ${artifact} artifact update=${True}
167 171
... ... @@ -198,9 +202,6 @@ Get Broker Property By Username
198 202 ${reply}= Create Dictionary data=${lot}
199 203 [Return] ${reply}
200 204
201   -Підготовка даних для створення предмету закупівлі
202   - ${item}= test_item_data
203   - [Return] ${item}
204 205
205 206 Підготовка даних для подання вимоги
206 207 ${claim}= test_claim_data
... ... @@ -449,13 +450,26 @@ Get Broker Property By Username
449 450 Отримати дані із об’єкта тендера
450 451 [Arguments] ${username} ${object_id} ${field_name}
451 452 ${object_type}= get_object_type_by_id ${object_id}
452   - ${status} ${value}= Run Keyword And Ignore Error Run As ${username} Отримати інформацію із запитання ${object_id} ${field_name}
  453 + ${status} ${value}= Run Keyword If '${object_type}'=='question'
  454 + ... Run Keyword And Ignore Error Run As ${username} Отримати інформацію із запитання ${object_id} ${field_name}
  455 + ... ELSE IF '${object_type}'=='lots'
  456 + ... Run Keyword And Ignore Error Run As ${username} Отримати інформацію із лоту ${object_id} ${field_name}
453 457 ${field}= Отримати шлях до поля об’єкта ${username} ${field_name} ${object_id}
454 458 ${field_value}= Run Keyword IF '${status}'=='PASS' Set Variable ${value}
455 459 ... ELSE Run As ${username} Отримати інформацію із тендера ${field}
456 460 [return] ${field_value}
457 461
458 462
  463 +Отримати ідентифікатори об’єктів
  464 + [Arguments] ${username} ${objects_type}
  465 + @{objects_ids}= Create List
  466 + @{objects}= Get from object ${USERS.users['${username}'].tender_data.data} ${objects_type}
  467 + :FOR ${obj} IN @{objects}
  468 + \ ${obj_id}= get_id_from_object ${obj}
  469 + \ Append To List ${objects_ids} ${obj_id}
  470 + [return] ${objects_ids}
  471 +
  472 +
459 473 Викликати для учасника
460 474 [Arguments] ${username} ${command} @{arguments}
461 475 Run keyword unless '${WARN_RUN_AS}' == '${True}'
... ...
... ... @@ -24,11 +24,12 @@ ${complaint_id} 1
24 24 [Teardown] Оновити LAST_MODIFICATION_DATE
25 25 ${tender_data}= Підготовка даних для створення тендера
26 26 ${adapted_data}= Адаптувати дані для оголошення тендера ${tender_owner} ${tender_data}
27   - ${TENDER_UAID}= Викликати для учасника ${tender_owner} Створити тендер ${adapted_data}
  27 + ${TENDER_UAID}= Run As ${tender_owner} Створити тендер ${adapted_data}
28 28 Set To Dictionary ${USERS.users['${tender_owner}']} initial_data=${adapted_data}
29   - Set To Dictionary ${TENDER} TENDER_UAID ${TENDER_UAID}
  29 + Set To Dictionary ${TENDER} TENDER_UAID=${TENDER_UAID}
30 30 Log ${TENDER}
31 31
  32 +
32 33 Можливість знайти мультилотовий тендер по ідентифікатору
33 34 [Tags] ${USERS.users['${viewer}'].broker}: Пошук тендера по ідентифікатору
34 35 ... viewer tender_owner provider provider1
... ... @@ -37,7 +38,38 @@ ${complaint_id} 1
37 38 ... minimal
38 39 :FOR ${username} IN ${viewer} ${tender_owner} ${provider} ${provider1}
39 40 \ Дочекатись синхронізації з майданчиком ${username}
40   - \ Викликати для учасника ${username} Пошук тендера по ідентифікатору ${TENDER['TENDER_UAID']}
  41 + \ Run As ${username} Пошук тендера по ідентифікатору ${TENDER['TENDER_UAID']}
  42 +
  43 +Можливість додати тендерну документацію лоту
  44 + [Tags] ${USERS.users['${tender_owner}'].broker}: Можливість завантажити документ
  45 + ... tender_owner
  46 + ... ${USERS.users['${tender_owner}'].broker}
  47 + [Documentation] Закупівельник ${USERS.users['${tender_owner}'].broker} завантажує документацію до оголошеної закупівлі
  48 + [Teardown] Оновити LAST_MODIFICATION_DATE
  49 + ${lot_id}= get_id_from_object ${USERS.users['${tender_owner}'].initial_data.data.lots[0]}
  50 + ${filepath}= create_fake_doc
  51 + Run As ${tender_owner} Завантажити документ в лот ${filepath} ${TENDER['TENDER_UAID']} ${lot_id}
  52 +
  53 +Відображення заголовку першого лоту
  54 + [Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних оголошеного тендера
  55 + ... viewer tender_owner provider provider1
  56 + ... ${USERS.users['${viewer}'].broker} ${USERS.users['${tender_owner}'].broker}
  57 + ... ${USERS.users['${provider}'].broker} ${USERS.users['${provider1}'].broker}
  58 + ${lot_id}= get_id_from_object ${USERS.users['${tender_owner}'].initial_data.data.lots[0]}
  59 + :FOR ${username} IN ${viewer} ${tender_owner} ${provider} ${provider1}
  60 + \ Дочекатись синхронізації з майданчиком ${username}
  61 + \ Звірити поле тендера із значенням ${username}
  62 + \ ... ${USERS.users['${tender_owner}'].initial_data.data.lots[0].title} title
  63 + \ ... object_id=${lot_id}
  64 +
  65 +Відображення опису першого лоту
  66 + [Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних оголошеного тендера
  67 + ... viewer
  68 + ... ${USERS.users['${viewer}'].broker}
  69 + ${lot_id}= get_id_from_object ${USERS.users['${tender_owner}'].initial_data.data.lots[0]}
  70 + Звірити поле тендера із значенням ${viewer}
  71 + ... ${USERS.users['${tender_owner}'].initial_data.data.lots[0].description} description
  72 + ... object_id=${lot_id}
41 73
42 74 #######
43 75 #Операції з лотом
... ... @@ -48,81 +80,86 @@ ${complaint_id} 1
48 80 ... ${USERS.users['${tender_owner}'].broker}
49 81 [Setup] Дочекатись синхронізації з майданчиком ${tender_owner}
50 82 [Teardown] Оновити LAST_MODIFICATION_DATE
51   - ${tender_data}= Get Variable Value ${USERS.users['${tender_owner}'].tender_data}
52 83 ${lot}= Підготовка даних для створення лоту
53   - ${lotcreate}= Викликати для учасника ${tender_owner} Створити лот ${tender_data} ${lot}
54   - ${lotresponses}= Create Dictionary
55   - Set To Dictionary ${lotresponses} resp0 ${lotcreate}
56   - Set To Dictionary ${USERS.users['${tender_owner}']} lotresponses ${lotresponses}
57   - log ${lotcreate}
  84 + ${lot_resp}= Run As ${tender_owner} Створити лот ${TENDER['TENDER_UAID']} ${lot}
  85 + ${lot_id}= get_id_from_object ${lot.data}
  86 + ${lot_data}= Create Dictionary lot=${lot} lot_resp=${lot_resp} lot_id=${lot_id}
  87 + ${lot_data}= munch_dict arg=${lot_data}
  88 + Set To Dictionary ${USERS.users['${tender_owner}']} lot_data=${lot_data}
  89 + log ${lot_resp}
58 90
59 91 Можливість видалення лоту
60 92 [Tags] ${USERS.users['${tender_owner}'].broker}: Можливість оголосити тендер
61 93 ... tender_owner
62 94 ... ${USERS.users['${tender_owner}'].broker}
63 95 [Teardown] Оновити LAST_MODIFICATION_DATE
64   - ${tender_data}= Get Variable Value ${USERS.users['${tender_owner}'].tender_data}
65   - ${lot}= Get Variable Value ${USERS.users['${tender_owner}'].lotresponses['resp0']}
66   - ${lotdelete}= Викликати для учасника ${tender_owner} Видалити лот ${tender_data} ${lot}
67   - Log ${lotdelete}
  96 + Run As ${tender_owner} Видалити лот ${TENDER['TENDER_UAID']} ${USERS.users['${tender_owner}'].lot_data.lot_id}
68 97
69 98 Можливість повторого створення лоту
70 99 [Tags] ${USERS.users['${tender_owner}'].broker}: Можливість оголосити тендер
71 100 ... tender_owner
72 101 ... ${USERS.users['${tender_owner}'].broker}
73 102 [Teardown] Оновити LAST_MODIFICATION_DATE
74   - ${tender_data}= Get Variable Value ${USERS.users['${tender_owner}'].tender_data}
75 103 ${lot}= Підготовка даних для створення лоту
76   - ${lotcreate}= Викликати для учасника ${tender_owner} Створити лот ${tender_data} ${lot}
77   - ${lotresponses}= Create Dictionary
78   - Set To Dictionary ${lotresponses} resp ${lotcreate}
79   - Set To Dictionary ${USERS.users['${tender_owner}']} lotresponses ${lotresponses}
80   - log ${lotcreate}
  104 + ${lot_resp}= Run As ${tender_owner} Створити лот ${TENDER['TENDER_UAID']} ${lot}
  105 + ${lot_id}= get_id_from_object ${lot.data}
  106 + ${lot_data}= Create Dictionary lot=${lot} lot_resp=${lot_resp} lot_id=${lot_id}
  107 + ${lot_data}= munch_dict arg=${lot_data}
  108 + Set To Dictionary ${USERS.users['${tender_owner}']} lot_data=${lot_data}
  109 + log ${lot_resp}
  110 +
  111 +Відображення заголовку другого лоту
  112 + [Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних оголошеного тендера
  113 + ... viewer tender_owner provider provider1
  114 + ... ${USERS.users['${viewer}'].broker} ${USERS.users['${tender_owner}'].broker}
  115 + ... ${USERS.users['${provider}'].broker} ${USERS.users['${provider1}'].broker}
  116 + :FOR ${username} IN ${viewer} ${tender_owner} ${provider} ${provider1}
  117 + \ Дочекатись синхронізації з майданчиком ${username}
  118 + \ Звірити поле тендера із значенням ${username}
  119 + \ ... ${USERS.users['${tender_owner}'].lot_data.lot.data.title} title
  120 + \ ... object_id=${USERS.users['${tender_owner}'].lot_data.lot_id}
  121 +
  122 +Відображення опису другого лоту
  123 + [Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних оголошеного тендера
  124 + ... viewer
  125 + ... ${USERS.users['${viewer}'].broker}
  126 + Звірити поле тендера із значенням ${viewer}
  127 + ... ${USERS.users['${tender_owner}'].lot_data.lot.data.description} description
  128 + ... object_id=${USERS.users['${tender_owner}'].lot_data.lot_id}
81 129
82   -Можливість змінити бюджет нового лоту до 8000
  130 +Відображення бюджету другого лоту
  131 + [Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних оголошеного тендера
  132 + ... viewer
  133 + ... ${USERS.users['${viewer}'].broker}
  134 + Звірити поле тендера із значенням ${viewer}
  135 + ... ${USERS.users['${tender_owner}'].lot_data.lot.data.value.amount} value.amount
  136 + ... object_id=${USERS.users['${tender_owner}'].lot_data.lot_id}
  137 +
  138 +Можливість змінити бюджет другого лоту до 100
83 139 [Tags] ${USERS.users['${tender_owner}'].broker}: Можливість оголосити тендер
84 140 ... tender_owner
85 141 ... ${USERS.users['${tender_owner}'].broker}
86 142 [Teardown] Оновити LAST_MODIFICATION_DATE
87   - ${tender_data}= Get Variable Value ${USERS.users['${tender_owner}'].tender_data}
88   - Set To Dictionary ${USERS.users['${tender_owner}'].lotresponses['resp'].data.value} amount 8000
89   - ${fixlotto8000resp}= Викликати для учасника ${tender_owner} Змінити лот ${tender_data} ${USERS.users['${tender_owner}'].lotresponses['resp']}
90   - Set To Dictionary ${USERS.users['${tender_owner}'].lotresponses} fixlotto8000resp ${fixlotto8000resp}
91   - log ${fixlotto8000resp}
  143 + Run As ${tender_owner} Змінити лот ${TENDER['TENDER_UAID']} ${USERS.users['${tender_owner}'].lot_data.lot_id} value.amount 100
92 144
93   -Можливість змінити бюджет нового лоту до 100
  145 +
  146 +Можливість змінити бюджет другого лоту до 8000
94 147 [Tags] ${USERS.users['${tender_owner}'].broker}: Можливість оголосити тендер
95 148 ... tender_owner
96 149 ... ${USERS.users['${tender_owner}'].broker}
97 150 [Teardown] Оновити LAST_MODIFICATION_DATE
98   - ${tender_data}= Get Variable Value ${USERS.users['${tender_owner}'].tender_data}
99   - Set To Dictionary ${USERS.users['${tender_owner}'].lotresponses['resp'].data.value} amount 8000
100   - ${fixlotto100resp}= Викликати для учасника ${tender_owner} Змінити лот ${tender_data} ${USERS.users['${tender_owner}'].lotresponses['resp']}
101   - Set To Dictionary ${USERS.users['${tender_owner}'].lotresponses} fixlotto100resp ${fixlotto100resp}
102   - log ${fixlotto100resp}
103   -
  151 + Run As ${tender_owner} Змінити лот ${TENDER['TENDER_UAID']} ${USERS.users['${tender_owner}'].lot_data.lot_id} value.amount 8000
104 152
105 153 #####
106 154 #Предмети закупівлі лоту
107 155
108   -Можливість додати позицію закупівлі в тендер
  156 +Можливість добавити предмет закупівлі до другого лоту
109 157 [Tags] ${USERS.users['${tender_owner}'].broker}: Можливість оголосити тендер
110 158 ... tender_owner
111 159 ... ${USERS.users['${tender_owner}'].broker}
112 160 [Teardown] Оновити LAST_MODIFICATION_DATE
113   - Викликати для учасника ${tender_owner} Додати предмети закупівлі ${TENDER['TENDER_UAID']} 1
114   -
115   -Можливість добавити предмет закупівлі до лоту
116   - [Tags] ${USERS.users['${tender_owner}'].broker}: Можливість оголосити тендер
117   - ... tender_owner
118   - ... ${USERS.users['${tender_owner}'].broker}
119   - [Teardown] Оновити LAST_MODIFICATION_DATE
120   - ${items}= Get Variable Value ${USERS.users['${tender_owner}'].tender_data.data['items']}
121   - Log ${items}
122   - ${lot_id}= Get Variable Value ${USERS.users['${tender_owner}'].lotresponses['resp'].data.id}
123   - Set To Dictionary ${items[-1]} relatedLot ${lot_id}
124   - Log ${items[-1]}
125   - Викликати для учасника ${tender_owner} Внести зміни в тендер ${TENDER['TENDER_UAID']} items ${items}
  161 + ${item}= Підготовка даних для створення предмету закупівлі
  162 + Run As ${tender_owner} Додати предмет закупівлі в лот ${TENDER['TENDER_UAID']} ${USERS.users['${tender_owner}'].lot_data.lot_id} ${item}
126 163
127 164 Неможливість видалення лоту з прив’язаними предметами закупівлі
128 165 [Documentation]
... ... @@ -130,126 +167,47 @@ ${complaint_id} 1
130 167 [Tags] ${USERS.users['${tender_owner}'].broker}: Можливість оголосити тендер
131 168 ... tender_owner
132 169 ... ${USERS.users['${tender_owner}'].broker}
133   - ${tender_data}= Get Variable Value ${USERS.users['${tender_owner}'].tender_data}
134   - ${lot}= Get Variable Value ${USERS.users['${tender_owner}'].lotresponses['resp']}
135   - Require Failure ${tender_owner} Видалити лот ${tender_data} ${lot}
136   -
137   -Можливість видалити позиції закупівлі тендера
138   - [Tags] ${USERS.users['${tender_owner}'].broker}: Можливість оголосити тендер
139   - ... tender_owner
140   - ... ${USERS.users['${tender_owner}'].broker}
141   - [Teardown] Оновити LAST_MODIFICATION_DATE
142   - ${items}= Get Variable Value ${USERS.users['${tender_owner}'].tender_data.data['items']}
143   - Log ${items}
144   - ${resp}= Викликати для учасника ${tender_owner} Внести зміни в тендер ${TENDER['TENDER_UAID']} items ${items[:-1]}
145   - Log ${resp}
146   -
147   -Можливість додати тендерну документацію лоту
148   - [Tags] ${USERS.users['${tender_owner}'].broker}: Можливість завантажити документ
149   - ... tender_owner
150   - ... ${USERS.users['${tender_owner}'].broker}
151   - [Documentation] Закупівельник ${USERS.users['${tender_owner}'].broker} завантажує документацію до оголошеної закупівлі
152   - [Teardown] Оновити LAST_MODIFICATION_DATE
153   - ${filepath}= create_fake_doc
154   - ${lot_id}= Get Variable Value ${USERS.users['${tender_owner}'].lotresponses['resp'].data.id}
155   - ${doc_upload_reply}= Викликати для учасника ${tender_owner} Завантажити документ в лот ${filepath} ${TENDER['TENDER_UAID']} ${lot_id}
156   - ${file_upload_process_data} = Create Dictionary filepath=${filepath} doc_upload_reply=${doc_upload_reply}
157   - log ${file_upload_process_data}
158   - Set To Dictionary ${USERS.users['${tender_owner}']} file_upload_process_data ${file_upload_process_data}
159   - Log ${lot_id}
160   - Log ${USERS.users['${tender_owner}']}
  170 + ${lot_id}= Get Variable Value ${USERS.users['${tender_owner}'].lot_data.lot_id}
  171 + Require Failure ${tender_owner} Видалити лот ${TENDER['TENDER_UAID']} ${lot_id}
161 172
162 173
163 174 #######
164 175 #Запитання до лоту
165 176
166   -Можливість задати питання
  177 +Можливість задати питання до лоту
167 178 [Tags] ${USERS.users['${provider}'].broker}: Можливість задати запитання
168 179 ... provider
169 180 ... ${USERS.users['${provider}'].broker}
170 181 [Setup] Дочекатись синхронізації з майданчиком ${provider}
171 182 [Teardown] Оновити LAST_MODIFICATION_DATE
  183 + ${lot_id}= Get Variable Value ${USERS.users['${tender_owner}'].lot_data.lot_id}
172 184 ${question}= Підготовка даних для запитання
173   - ${question_resp}= Викликати для учасника ${provider} Задати питання ${TENDER['TENDER_UAID']} ${question}
  185 + ${question_resp}= Run As ${provider} Задати питання до лоту ${TENDER['TENDER_UAID']} ${lot_id} ${question}
174 186 ${now}= Get Current TZdate
175 187 ${question.data.date}= Set variable ${now}
176   - ${question_id}= get_id_from_field ${question.data.description}
  188 + ${question_id}= get_id_from_object ${question.data}
177 189 ${question_data}= Create Dictionary question=${question} question_resp=${question_resp} question_id=${question_id}
178 190 ${question_data}= munch_dict arg=${question_data}
179   - Set To Dictionary ${USERS.users['${provider}']} question_data ${question_data}
  191 + Set To Dictionary ${USERS.users['${provider}']} question_data=${question_data}
180 192
181 193
182   -Можливість відповісти на запитання
  194 +Можливість відповісти на запитання до лоту
183 195 [Tags] ${USERS.users['${tender_owner}'].broker}: Можливість відповісти на запитання
184 196 ... tender_owner
185 197 ... ${USERS.users['${tender_owner}'].broker}
186 198 [Setup] Дочекатись синхронізації з майданчиком ${tender_owner}
187 199 [Teardown] Оновити LAST_MODIFICATION_DATE
188 200 ${answer}= Підготовка даних для відповіді на запитання
189   - ${answer_resp}= Викликати для учасника ${tender_owner}
  201 + ${answer_resp}= Run As ${tender_owner}
190 202 ... Відповісти на питання ${TENDER['TENDER_UAID']}
191 203 ... ${USERS.users['${provider}']['question_data']['question_resp']} ${answer}
192 204 ... question_id=${USERS.users['${provider}'].question_data.question_id}
193 205 ${now}= Get Current TZdate
194 206 ${answer.data.date}= Set variable ${now}
195 207 ${answer_data}= Create Dictionary answer=${answer} answer_resp=${answer_resp}
196   - Set To Dictionary ${USERS.users['${provider}']} answer_data ${answer_data}
  208 + Set To Dictionary ${USERS.users['${provider}']} answer_data=${answer_data}
197 209
198 210 ######
199   -#Cкарга на лот
200   -#
201   -#
202   -##### Дочекатися скарг на лот
203   -#
204   -#
205   -#Можливість подати скаргу на лот
206   -# [Tags] ${USERS.users['${provider}'].broker}: Можливість подати скаргу на умови
207   -# [Documentation] Користувач ${USERS.users['${provider}'].broker} намагається подати скаргу на умови оголошеної закупівлі
208   -# Викликати для учасника ${provider} Подати скаргу ${TENDER['TENDER_UAID']} ${COMPLAINTS[${complaint_id}]}
209   -# ${LAST_MODIFICATION_DATE}= Get Current Date
210   -# Set Global Variable ${LAST_MODIFICATION_DATE}
211   -#
212   -#Можливість побачити скаргу користувачем
213   -# [Tags] ${USERS.users['${provider}'].broker}: Відображення основних даних оголошеного тендера
214   -# Викликати для учасника ${provider} Порівняти скаргу ${TENDER['TENDER_UAID']} ${COMPLAINTS[${complaint_id}]}
215   -#
216   -#Можливість побачити скаргу анонімом
217   -# [Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних оголошеного тендера
218   -# Викликати для учасника ${viewer} Порівняти скаргу ${TENDER['TENDER_UAID']} ${COMPLAINTS[${complaint_id}]}
219   -#
220   -#Можливість відхилити скаргу на лот
221   -# [Tags] ${USERS.users['${tender_owner}'].broker}: Можливість відхилити скаргу на умови
222   -# Set To Dictionary ${COMPLAINTS[0].data} status declined
223   -# Викликати для учасника ${tender_owner} Обробити скаргу ${TENDER['TENDER_UAID']} 0 ${COMPLAINTS[${complaint_id}]}
224   -# log many ${COMPLAINTS[${complaint_id}]}
225   -# викликати для учасника ${viewer} Оновити сторінку з тендером ${TENDER['TENDER_UAID']}
226   -#
227   -#Можливість відкинути скаргу на лот
228   -# [Tags] ${USERS.users['${tender_owner}'].broker}: Можливість відкинути скаргу на умови
229   -# Викликати для учасника ${provider} Подати скаргу ${TENDER['TENDER_UAID']} ${COMPLAINTS[${complaint_id}]}
230   -# ${LAST_MODIFICATION_DATE}= Get Current Date
231   -# Set Global Variable ${LAST_MODIFICATION_DATE}
232   -# Викликати для учасника ${viewer} Оновити сторінку з тендером ${TENDER['TENDER_UAID']}
233   -# Set To Dictionary ${COMPLAINTS[0].data} status invalid
234   -# Викликати для учасника ${tender_owner} Обробити скаргу ${TENDER['TENDER_UAID']} 1 ${COMPLAINTS[${complaint_id}]}
235   -# log many ${COMPLAINTS[${complaint_id}]}
236   -# ${LAST_MODIFICATION_DATE}= Get Current Date
237   -# Set Global Variable ${LAST_MODIFICATION_DATE}
238   -# Викликати для учасника ${viewer} Оновити сторінку з тендером ${TENDER['TENDER_UAID']}
239   -#
240   -#Можливість задовільнити скаргу на лот
241   -# [Tags] ${USERS.users['${provider}'].broker}: Можливість відповісти на запитання
242   -# Викликати для учасника ${provider} Подати скаргу ${TENDER['TENDER_UAID']} ${COMPLAINTS[${complaint_id}]}
243   -# ${LAST_MODIFICATION_DATE}= Get Current Date
244   -# Set Global Variable ${LAST_MODIFICATION_DATE}
245   -# Викликати для учасника ${viewer} Оновити сторінку з тендером ${TENDER['TENDER_UAID']}
246   -# Set To Dictionary ${COMPLAINTS[0].data} status resolved
247   -# Викликати для учасника ${tender_owner} Обробити скаргу ${TENDER['TENDER_UAID']} 2 ${COMPLAINTS[${complaint_id}]}
248   -# log many ${COMPLAINTS[${complaint_id}]}
249   -# ${LAST_MODIFICATION_DATE}= Get Current Date
250   -# Set Global Variable ${LAST_MODIFICATION_DATE}
251   -#
252   -######
253 211 #Подання пропозицій
254 212
255 213 Відображення початку періоду прийому пропозицій оголошеного тендера
... ... @@ -279,14 +237,10 @@ ${complaint_id} 1
279 237 ... provider
280 238 ... ${USERS.users['${provider}'].broker}
281 239 [Setup] Дочекатись синхронізації з майданчиком ${provider}
282   - ${bid}= test lots bid data
283   - Log ${bid}
284   - ${bidresponses}= Create Dictionary
285   - Set To Dictionary ${bidresponses} bid ${bid}
286   - Set To Dictionary ${USERS.users['${provider}']} bidresponses ${bidresponses}
287   - ${bid_before_bidperiod_resp}= Require Failure ${provider} Подати цінову пропозицію ${TENDER['TENDER_UAID']} ${bid}
288   - Set To Dictionary ${USERS.users['${provider}'].bidresponses} bid_before_bidperiod_resp ${bid_before_bidperiod_resp}
289   - log ${USERS.users['${provider}']}
  240 + @{lots_ids}= Отримати ідентифікатори об’єктів ${provider} lots
  241 + ${bid}= Підготувати дані для подання пропозиції
  242 + ${bid_before_bidperiod_resp}= Require Failure ${provider} Подати цінову пропозицію на лоти ${TENDER['TENDER_UAID']} ${bid} ${lots_ids}
  243 + log ${bid_before_bidperiod_resp}
290 244
291 245 Неможливість подати цінову пропозицію без прив’язки до лоту
292 246 [Documentation]
... ... @@ -297,34 +251,27 @@ ${complaint_id} 1
297 251 [Setup] Дочекатись синхронізації з майданчиком ${provider}
298 252 Дочекатись дати початку прийому пропозицій ${provider}
299 253 ${bid}= Підготувати дані для подання пропозиції
300   - Log ${bid}
301   - ${bidresponses}= Create Dictionary
302   - Set To Dictionary ${bidresponses} bid ${bid}
303   - Set To Dictionary ${USERS.users['${provider}']} bidresponses ${bidresponses}
304 254 ${no_lot_bid_resp}= Require Failure ${provider} Подати цінову пропозицію ${TENDER['TENDER_UAID']} ${bid}
305   - Set To Dictionary ${USERS.users['${provider}'].bidresponses} no_lot_bid_resp ${no_lot_bid_resp}
306   - log ${USERS.users['${provider}']}
  255 + log ${no_lot_bid_resp}
307 256
308 257 Можливість подати цінову пропозицію першим учасником
309 258 [Tags] ${USERS.users['${provider}'].broker}: Можливість подати цінову пропозицію
310 259 ... provider
311 260 ... ${USERS.users['${provider}'].broker}
312 261 [Teardown] Оновити LAST_MODIFICATION_DATE
313   - ${bid}= test lots bid data
314   - Log ${bid}
315   - ${bidresponses}= Create Dictionary
316   - Set To Dictionary ${bidresponses} bid ${bid}
317   - Set To Dictionary ${USERS.users['${provider}']} bidresponses ${bidresponses}
318   - ${resp}= Викликати для учасника ${provider} Подати цінову пропозицію ${TENDER['TENDER_UAID']} ${bid}
319   - Set To Dictionary ${USERS.users['${provider}'].bidresponses} resp ${resp}
320   - log ${USERS.users['${provider}']}
  262 + @{lots_ids}= Отримати ідентифікатори об’єктів ${provider} lots
  263 + ${bid}= Підготувати дані для подання пропозиції
  264 + ${bidresponses}= Create Dictionary bid=${bid}
  265 + Set To Dictionary ${USERS.users['${provider}']} bidresponses=${bidresponses}
  266 + ${resp}= Run As ${provider} Подати цінову пропозицію на лоти ${TENDER['TENDER_UAID']} ${bid} ${lots_ids}
  267 + Set To Dictionary ${USERS.users['${provider}'].bidresponses} resp=${resp}
321 268
322 269 Можливість скасувати цінову пропозицію
323 270 [Tags] ${USERS.users['${provider}'].broker}: Можливість скасувати цінову пропозицію
324 271 ... provider
325 272 ... ${USERS.users['${provider}'].broker}
326 273 [Teardown] Оновити LAST_MODIFICATION_DATE
327   - ${canceledbidresp}= Викликати для учасника ${provider} Скасувати цінову пропозицію ${TENDER['TENDER_UAID']} ${USERS.users['${provider}'].bidresponses['resp']}
  274 + ${canceledbidresp}= Run As ${provider} Скасувати цінову пропозицію ${TENDER['TENDER_UAID']} ${USERS.users['${provider}'].bidresponses['resp']}
328 275 Log ${canceledbidresp}
329 276
330 277 Можливість подати повторно цінову пропозицію першим учасником
... ... @@ -333,22 +280,19 @@ ${complaint_id} 1
333 280 ... ${USERS.users['${provider}'].broker}
334 281 [Teardown] Оновити LAST_MODIFICATION_DATE
335 282 Дочекатись дати початку прийому пропозицій ${provider}
336   - ${bid}= test lots bid data
337   - Log ${bid}
338   - ${bidresponses}= Create Dictionary
339   - Set To Dictionary ${bidresponses} bid ${bid}
340   - Set To Dictionary ${USERS.users['${provider}']} bidresponses ${bidresponses}
341   - ${resp}= Викликати для учасника ${provider} Подати цінову пропозицію ${TENDER['TENDER_UAID']} ${bid}
342   - Set To Dictionary ${USERS.users['${provider}'].bidresponses} resp ${resp}
343   - log ${USERS.users['${provider}'].bidresponses}
  283 + @{lots_ids}= Отримати ідентифікатори об’єктів ${provider} lots
  284 + ${bid}= Підготувати дані для подання пропозиції
  285 + ${bidresponses}= Create Dictionary bid=${bid}
  286 + Set To Dictionary ${USERS.users['${provider}']} bidresponses=${bidresponses}
  287 + ${resp}= Run As ${provider} Подати цінову пропозицію на лоти ${TENDER['TENDER_UAID']} ${bid} ${lots_ids}
  288 + Set To Dictionary ${USERS.users['${provider}'].bidresponses} resp=${resp}
344 289
345 290 Можливість змінити повторну цінову пропозицію до 2000
346 291 [Tags] ${USERS.users['${provider}'].broker}: Можливість змінити цінову пропозицію
347 292 ... provider
348 293 ... ${USERS.users['${provider}'].broker}
349 294 [Teardown] Оновити LAST_MODIFICATION_DATE
350   - ${fixbidto2000resp}= Викликати для учасника ${provider} Змінити цінову пропозицію ${TENDER['TENDER_UAID']} lotValues.0.value.amount 2000
351   - Set To Dictionary ${USERS.users['${provider}'].bidresponses} fixbidto2000resp ${fixbidto2000resp}
  295 + ${fixbidto2000resp}= Run As ${provider} Змінити цінову пропозицію ${TENDER['TENDER_UAID']} lotValues.0.value.amount 2000
352 296 log ${fixbidto2000resp}
353 297
354 298 Можливість змінити повторну цінову пропозицію до 10
... ... @@ -356,8 +300,7 @@ ${complaint_id} 1
356 300 ... provider
357 301 ... ${USERS.users['${provider}'].broker}
358 302 [Teardown] Оновити LAST_MODIFICATION_DATE
359   - ${fixbidto10resp}= Викликати для учасника ${provider} Змінити цінову пропозицію ${TENDER['TENDER_UAID']} lotValues.0.value.amount 10
360   - Set To Dictionary ${USERS.users['${provider}'].bidresponses} fixbidto10resp ${fixbidto10resp}
  303 + ${fixbidto10resp}= Run As ${provider} Змінити цінову пропозицію ${TENDER['TENDER_UAID']} lotValues.0.value.amount 10
361 304 log ${fixbidto10resp}
362 305
363 306 Можливість подати цінову пропозицію другим учасником
... ... @@ -367,15 +310,12 @@ ${complaint_id} 1
367 310 [Setup] Дочекатись синхронізації з майданчиком ${provider1}
368 311 [Teardown] Оновити LAST_MODIFICATION_DATE
369 312 Дочекатись дати початку прийому пропозицій ${provider1}
370   - ${bid}= test lots bid data
371   - Log ${bid}
372   - ${bidresponses}= Create Dictionary
373   - Set To Dictionary ${bidresponses} bid ${bid}
374   - Set To Dictionary ${USERS.users['${provider1}']} bidresponses ${bidresponses}
375   - ${resp}= Викликати для учасника ${provider1} Подати цінову пропозицію ${TENDER['TENDER_UAID']} ${bid}
376   - Set To Dictionary ${USERS.users['${provider1}'].bidresponses} resp ${resp}
377   - log ${resp}
378   - log ${USERS.users['${provider1}'].bidresponses}
  313 + @{lots_ids}= Отримати ідентифікатори об’єктів ${provider1} lots
  314 + ${bid}= Підготувати дані для подання пропозиції
  315 + ${bidresponses}= Create Dictionary bid=${bid}
  316 + Set To Dictionary ${USERS.users['${provider1}']} bidresponses=${bidresponses}
  317 + ${resp}= Run As ${provider1} Подати цінову пропозицію на лоти ${TENDER['TENDER_UAID']} ${bid} ${lots_ids}
  318 + Set To Dictionary ${USERS.users['${provider1}'].bidresponses} resp=${resp}
379 319
380 320 Неможливість побачити цінові пропозиції учасників під час прийому пропозицій
381 321 [Tags] ${USERS.users['${viewer}'].broker}: Можливість подати цінову пропозицію
... ... @@ -393,7 +333,6 @@ ${complaint_id} 1
393 333 [Setup] Дочекатись синхронізації з майданчиком ${provider1}
394 334 Дочекатись дати закінчення прийому пропозицій ${provider1}
395 335 ${failfixbidto2000resp}= Require Failure ${provider1} Змінити цінову пропозицію ${TENDER['TENDER_UAID']} lotValues.0.value.amount 2000
396   - Set To Dictionary ${USERS.users['${provider1}'].bidresponses} failfixbidto2000resp ${failfixbidto2000resp}
397 336 log ${failfixbidto2000resp}
398 337
399 338 Неможливість змінити цінову пропозицію до 1 після закінчення прийому пропозицій
... ... @@ -403,7 +342,6 @@ ${complaint_id} 1
403 342 ... provider1
404 343 ... ${USERS.users['${provider1}'].broker}
405 344 ${failfixbidto1resp}= Require Failure ${provider1} Змінити цінову пропозицію ${TENDER['TENDER_UAID']} lotValues.0.value.amount 1
406   - Set To Dictionary ${USERS.users['${provider1}'].bidresponses} failfixbidto1resp ${failfixbidto1resp}
407 345 log ${failfixbidto1resp}
408 346
409 347 Неможливість скасувати цінову пропозицію
... ... @@ -413,3 +351,4 @@ ${complaint_id} 1
413 351 ... provider1
414 352 ... ${USERS.users['${provider1}'].broker}
415 353 ${biddingresponse}= Require Failure ${provider1} Скасувати цінову пропозицію ${TENDER['TENDER_UAID']} ${USERS.users['${provider1}'].bidresponses['resp']}
  354 + log ${biddingresponse}
... ...
... ... @@ -391,8 +391,11 @@ def munch_dict(arg=None, data=False):
391 391 return munchify(arg)
392 392
393 393
394   -def get_id_from_field(field):
395   - return re.match(r'(^[filq]-[0-9a-fA-F]{8}): ', field).group(1)
  394 +def get_id_from_object(obj):
  395 + obj_id = re.match(r'(^[filq]-[0-9a-fA-F]{8}): ', obj['title'])
  396 + if not obj_id:
  397 + obj_id = re.match(r'(^[filq]-[0-9a-fA-F]{8}): ', obj['description'])
  398 + return obj_id.group(1)
396 399
397 400
398 401 def get_object_type_by_id(object_id):
... ... @@ -404,7 +407,7 @@ def get_object_index_by_id(data, object_id):
404 407 if not data:
405 408 return 0
406 409 for index, element in enumerate(data):
407   - element_id = get_id_from_field(element['description'])
  410 + element_id = get_id_from_object(element)
408 411 if element_id == object_id:
409 412 break
410 413 else:
... ...
... ... @@ -328,7 +328,7 @@ ${mode} single
328 328 ${question_resp}= Викликати для учасника ${provider} Задати питання ${TENDER['TENDER_UAID']} ${question}
329 329 ${now}= Get Current TZdate
330 330 ${question.data.date}= Set variable ${now}
331   - ${question_id}= get_id_from_field ${question.data.description}
  331 + ${question_id}= get_id_from_object ${question.data}
332 332 ${question_data}= Create Dictionary question=${question} question_resp=${question_resp} question_id=${question_id}
333 333 ${question_data}= munch_dict arg=${question_data}
334 334 Set To Dictionary ${USERS.users['${provider}']} question_data=${question_data}
... ...
Please register or login to post a comment