Commit f89d6ef3705d57533ae174d1665af91db4c13467

Authored by selurvedu
2 parents 5f486df4 5357a449

Merge pull request #137 from Leits/lots

Update lots test
... ... @@ -143,8 +143,8 @@ Library openprocurement_client_helper.py
143 143 Подати цінову пропозицію
144 144 [Arguments] ${username} ${tender_uaid} ${bid}
145 145 ${tender}= openprocurement_client.Пошук тендера по ідентифікатору ${username} ${tender_uaid}
146   - ${lots}= Get Variable Value ${tender.data.lots}
147   - ${bid}= Run Keyword If ${lots} test_lots_bid_data
  146 + ${lots}= Run Keyword If "${mode}" == "single" Get Variable Value ${tender.data.lots}
  147 + ${bid}= Run Keyword If ${lots} test_bid_data multiLot
148 148 ... ELSE Set Variable ${bid}
149 149 Run Keyword If ${lots}
150 150 ... Run Keywords
... ... @@ -160,7 +160,7 @@ Library openprocurement_client_helper.py
160 160 Змінити цінову пропозицію
161 161 [Arguments] ${username} ${tender_uaid} ${fieldname} ${fieldvalue}
162 162 ${tender}= openprocurement_client.Пошук тендера по ідентифікатору ${username} ${tender_uaid}
163   - ${lots}= Get Variable Value ${tender.data.lots}
  163 + ${lots}= Run Keyword If "${mode}" == "single" Get Variable Value ${tender.data.lots}
164 164 ${fieldname}= Run Keyword If ${lots} Set Variable lotValues.0.${fieldname}
165 165 ... ELSE Set Variable ${fieldname}
166 166 ${bid}= openprocurement_client.Отримати пропозицію ${username} ${tender_uaid}
... ... @@ -238,7 +238,7 @@ Library openprocurement_client_helper.py
238 238 Отримати посилання на аукціон для глядача
239 239 [Arguments] ${username} ${tender_uaid}
240 240 ${tender}= openprocurement_client.Пошук тендера по ідентифікатору ${username} ${tender_uaid}
241   - ${lots}= Get Variable Value ${tender.data.lots}
  241 + ${lots}= Run Keyword If "${mode}" == "single" Get Variable Value ${tender.data.lots}
242 242 ${auctionUrl}= Run Keyword If ${lots} Set Variable ${tender.data.lots[0].auctionUrl}
243 243 ... ELSE Set Variable ${tender.data.auctionUrl}
244 244 [return] ${auctionUrl}
... ... @@ -247,7 +247,7 @@ Library openprocurement_client_helper.py
247 247 Отримати посилання на аукціон для учасника
248 248 [Arguments] ${username} ${tender_uaid}
249 249 ${bid}= openprocurement_client.Отримати пропозицію ${username} ${tender_uaid}
250   - ${lots}= Get Variable Value ${bid.data.lotValues}
  250 + ${lots}= Run Keyword If "${mode}" == "single" Get Variable Value ${bid.data.lotValues}
251 251 ${participationUrl}= Run Keyword If ${lots} Set Variable ${bid.data.lotValues[0].participationUrl}
252 252 ... ELSE Set Variable ${bid.data.participationUrl}
253 253 [return] ${participationUrl}
... ... @@ -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
... ... @@ -437,7 +427,7 @@ def test_complaint_reply_data():
437 427 })
438 428
439 429
440   -def test_bid_data(above_threshold=False):
  430 +def test_bid_data(mode):
441 431 bid = munchify({
442 432 "data": {
443 433 "tenderers": [
... ... @@ -461,23 +451,25 @@ def test_bid_data(above_threshold=False):
461 451 },
462 452 "name": fake.company()
463 453 }
464   - ],
465   - "value": {
466   - "currency": "UAH",
467   - "amount": 500,
468   - "valueAddedTaxIncluded": True
469   - }
  454 + ]
470 455 }
471 456 })
472   - if above_threshold:
  457 + if 'open' in mode:
473 458 bid.data['selfEligible'] = True
474 459 bid.data['selfQualified'] = True
  460 + if mode == 'multiLot':
  461 + bid.data.lotValues = list()
  462 + for _ in range(2):
  463 + bid.data.lotValues.append(test_bid_value())
  464 + else:
  465 + bid.data.update(test_bid_value())
  466 + if mode == 'meat':
  467 + bid.update(test_bid_params())
475 468 return bid
476 469
477 470
478   -def test_bid_data_meat_tender():
479   - bid = test_bid_data()
480   - bid.data.update({
  471 +def test_bid_params():
  472 + return munchify({
481 473 "parameters": [
482 474 {
483 475 "code": "ee3e24bc17234a41bd3e3a04cc28e9c6",
... ... @@ -489,35 +481,15 @@ def test_bid_data_meat_tender():
489 481 }
490 482 ]
491 483 })
492   - return bid
493   -
494 484
495   -def test_lots_bid_data():
496   - bid = test_bid_data()
497   - del bid.data.value
498   - bid.data.update({
499   - "lotValues": [
500   - {
501   - "value": {
502   - "currency": "UAH",
503   - "amount": fake.random_int(max=1999),
504   - "valueAddedTaxIncluded": True
505   - },
506   - "relatedLot": "3c8f387879de4c38957402dbdb8b31af",
507   - "date": "2015-11-01T12:43:12.482645+02:00"
508   - },
509   - {
  485 +def test_bid_value():
  486 + return munchify({
510 487 "value": {
511 488 "currency": "UAH",
512 489 "amount": fake.random_int(max=1999),
513 490 "valueAddedTaxIncluded": True
514   - },
515   - "relatedLot": "bcac8d2ceb5f4227b841a2211f5cb646",
516   - "date": "2015-11-01T12:43:12.482645+02:00"
517   - }
518   - ]
519   - })
520   - return bid
  491 + }
  492 + })
521 493
522 494
523 495 def test_supplier_data():
... ... @@ -562,7 +534,7 @@ def test_award_data():
562 534 def test_item_data():
563 535 now = get_now()
564 536 return munchify({
565   - "description": description_with_id('i', fake.catch_phrase()),
  537 + "description": field_with_id('i', fake.catch_phrase()),
566 538 "deliveryDate": {
567 539 "endDate": (now + timedelta(days=5)).isoformat()
568 540 },
... ... @@ -644,8 +616,8 @@ def test_invalid_features_data():
644 616 def test_lot_data():
645 617 return munchify(
646 618 {
647   - "description": description_with_id('l', fake.sentence(nb_words=10, variable_nb_words=True)),
648   - "title": fake.sentence(nb_words=6, variable_nb_words=True),
  619 + "description": fake.sentence(nb_words=10, variable_nb_words=True),
  620 + "title": field_with_id('l', fake.sentence(nb_words=6, variable_nb_words=True)),
649 621 "value": {
650 622 "currency": "UAH",
651 623 "amount": 2000 + fake.pyfloat(left_digits=4, right_digits=1, positive=True),
... ... @@ -660,22 +632,19 @@ def test_lot_data():
660 632 })
661 633
662 634
663   -def test_lot_document_data(document, lot_id="3c8f387879de4c38957402dbdb8b31af"):
664   - lot_document = {"documentOf": "lot", "relatedItem": lot_id}
665   - lot_document.update(document.data)
666   - return munchify({"data": lot_document})
  635 +def test_lot_document_data(document, lot_id):
  636 + document.data.update({"documentOf": "lot", "relatedItem": lot_id})
  637 + return munchify(document)
667 638
668 639
669   -def test_lot_question_data(question, lot_id="3c8f387879de4c38957402dbdb8b31af"):
670   - lot_question = {"questionOf": "lot", "relatedItem": lot_id}
671   - lot_question.update(question.data)
672   - return munchify({"data": lot_question})
  640 +def test_lot_question_data(question, lot_id):
  641 + question.data.update({"questionOf": "lot", "relatedItem": lot_id})
  642 + return munchify(question)
673 643
674 644
675   -def test_lot_complaint_data(complaint, lot_id="3c8f387879de4c38957402dbdb8b31af"):
676   - lot_complaint = {"complaintOf": "lot", "relatedItem": lot_id}
677   - lot_complaint.update(complaint.data)
678   - return munchify({"data": lot_complaint})
  645 +def test_lot_complaint_data(complaint, lot_id):
  646 + complaint.data.update({"complaintOf": "lot", "relatedItem": lot_id})
  647 + return munchify(complaint)
679 648
680 649
681 650 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
... ... @@ -216,8 +220,7 @@ Get Broker Property By Username
216 220
217 221
218 222 Підготовка даних для запитання
219   - [Arguments] ${lot}=${False}
220   - ${question}= test_question_data ${lot}
  223 + ${question}= test_question_data
221 224 [Return] ${question}
222 225
223 226
... ... @@ -227,8 +230,7 @@ Get Broker Property By Username
227 230
228 231
229 232 Підготувати дані для подання пропозиції
230   - [Arguments] ${aboveThreshold}=${False}
231   - ${supplier_data}= test_bid_data ${aboveThreshold}
  233 + ${supplier_data}= test_bid_data ${mode}
232 234 [Return] ${supplier_data}
233 235
234 236
... ... @@ -448,13 +450,26 @@ Get Broker Property By Username
448 450 Отримати дані із об’єкта тендера
449 451 [Arguments] ${username} ${object_id} ${field_name}
450 452 ${object_type}= get_object_type_by_id ${object_id}
451   - ${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}
452 457 ${field}= Отримати шлях до поля об’єкта ${username} ${field_name} ${object_id}
453 458 ${field_value}= Run Keyword IF '${status}'=='PASS' Set Variable ${value}
454 459 ... ELSE Run As ${username} Отримати інформацію із тендера ${field}
455 460 [return] ${field_value}
456 461
457 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 +
458 473 Викликати для учасника
459 474 [Arguments] ${username} ${command} @{arguments}
460 475 Run keyword unless '${WARN_RUN_AS}' == '${True}'
... ...
... ... @@ -76,7 +76,7 @@ ${mode} meat
76 76 [Setup] Дочекатись синхронізації з майданчиком ${provider}
77 77 Дочекатись дати початку прийому пропозицій ${provider}
78 78 sleep 90
79   - ${bid}= test bid data
  79 + ${bid}= test bid data single
80 80 Log ${bid}
81 81 ${failbid}= Require Failure ${provider} Подати цінову пропозицію ${TENDER['TENDER_UAID']} ${bid}
82 82 log ${failbid}
... ... @@ -87,7 +87,7 @@ ${mode} meat
87 87 ... provider
88 88 ... ${USERS.users['${provider}'].broker}
89 89 [Teardown] Оновити LAST_MODIFICATION_DATE
90   - ${bid}= test bid data meat tender
  90 + ${bid}= Підготувати дані для подання пропозиції
91 91 Log ${bid}
92 92 ${bidresponses}= Create Dictionary
93 93 Set To Dictionary ${bidresponses} bid ${bid}
... ... @@ -124,7 +124,7 @@ ${mode} meat
124 124 [Setup] Дочекатись синхронізації з майданчиком ${provider1}
125 125 [Teardown] Оновити LAST_MODIFICATION_DATE
126 126 Дочекатись дати початку прийому пропозицій ${provider1}
127   - ${bid}= test bid data meat tender
  127 + ${bid}= Підготувати дані для подання пропозиції
128 128 Log ${bid}
129 129 ${bidresponses}= Create Dictionary
130 130 Set To Dictionary ${bidresponses} bid ${bid}
... ...
... ... @@ -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}
81 121
82   -Можливість змінити бюджет нового лоту до 8000
  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}
  129 +
  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
  144 +
92 145
93   -Можливість змінити бюджет нового лоту до 100
  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]
... ... @@ -296,35 +250,28 @@ ${complaint_id} 1
296 250 ... ${USERS.users['${provider}'].broker}
297 251 [Setup] Дочекатись синхронізації з майданчиком ${provider}
298 252 Дочекатись дати початку прийому пропозицій ${provider}
299   - ${bid}= test bid data
300   - Log ${bid}
301   - ${bidresponses}= Create Dictionary
302   - Set To Dictionary ${bidresponses} bid ${bid}
303   - Set To Dictionary ${USERS.users['${provider}']} bidresponses ${bidresponses}
  253 + ${bid}= Підготувати дані для подання пропозиції
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}
... ...
... ... @@ -106,7 +106,7 @@ ${mode} openeu
106 106 ... provider
107 107 ... ${USERS.users['${provider}'].broker}
108 108 [Teardown] Оновити LAST_MODIFICATION_DATE
109   - ${bid}= Підготувати дані для подання пропозиції aboveThreshold=${True}
  109 + ${bid}= Підготувати дані для подання пропозиції
110 110 Log ${bid}
111 111 ${bidresponses}= Create Dictionary
112 112 Set To Dictionary ${bidresponses} bid ${bid}
... ... @@ -176,7 +176,7 @@ ${mode} openeu
176 176 ... provider1
177 177 ... ${USERS.users['${provider1}'].broker}
178 178 [Teardown] Оновити LAST_MODIFICATION_DATE
179   - ${bid}= Підготувати дані для подання пропозиції aboveThreshold=${True}
  179 + ${bid}= Підготувати дані для подання пропозиції
180 180 Log ${bid}
181 181 ${bidresponses}= Create Dictionary
182 182 Set To Dictionary ${bidresponses} bid ${bid}
... ... @@ -226,7 +226,7 @@ Cкасувати цінову пропозицію другого учасни
226 226 ... provider1
227 227 ... ${USERS.users['${provider1}'].broker}
228 228 [Teardown] Оновити LAST_MODIFICATION_DATE
229   - ${bid}= Підготувати дані для подання пропозиції aboveThreshold=${True}
  229 + ${bid}= Підготувати дані для подання пропозиції
230 230 Log ${bid}
231 231 ${bidresponses}= Create Dictionary
232 232 Set To Dictionary ${bidresponses} bid ${bid}
... ... @@ -348,7 +348,7 @@ Cкасувати цінову пропозицію другого учасни
348 348 ... provider1
349 349 ... ${USERS.users['${provider1}'].broker}
350 350 [Teardown] Оновити LAST_MODIFICATION_DATE
351   - ${bid}= Підготувати дані для подання пропозиції aboveThreshold=${True}
  351 + ${bid}= Підготувати дані для подання пропозиції
352 352 Log ${bid}
353 353 ${bidresponses}= Create Dictionary
354 354 Set To Dictionary ${bidresponses} bid ${bid}
... ...
... ... @@ -98,7 +98,7 @@ ${mode} openua
98 98 ... provider
99 99 ... ${USERS.users['${provider}'].broker}
100 100 [Teardown] Оновити LAST_MODIFICATION_DATE
101   - ${bid}= Підготувати дані для подання пропозиції aboveThreshold=${True}
  101 + ${bid}= Підготувати дані для подання пропозиції
102 102 Log ${bid}
103 103 ${bidresponses}= Create Dictionary
104 104 Set To Dictionary ${bidresponses} bid ${bid}
... ... @@ -112,7 +112,7 @@ ${mode} openua
112 112 ... provider1
113 113 ... ${USERS.users['${provider1}'].broker}
114 114 [Teardown] Оновити LAST_MODIFICATION_DATE
115   - ${bid}= Підготувати дані для подання пропозиції aboveThreshold=${True}
  115 + ${bid}= Підготувати дані для подання пропозиції
116 116 Log ${bid}
117 117 ${bidresponses}= Create Dictionary
118 118 Set To Dictionary ${bidresponses} bid ${bid}
... ... @@ -162,7 +162,7 @@ Cкасувати цінову пропозицію другого учасни
162 162 ... provider1
163 163 ... ${USERS.users['${provider1}'].broker}
164 164 [Teardown] Оновити LAST_MODIFICATION_DATE
165   - ${bid}= Підготувати дані для подання пропозиції aboveThreshold=${True}
  165 + ${bid}= Підготувати дані для подання пропозиції
166 166 Log ${bid}
167 167 ${bidresponses}= Create Dictionary
168 168 Set To Dictionary ${bidresponses} bid ${bid}
... ... @@ -287,7 +287,7 @@ Cкасувати цінову пропозицію другого учасни
287 287 ... provider1
288 288 ... ${USERS.users['${provider1}'].broker}
289 289 [Teardown] Оновити LAST_MODIFICATION_DATE
290   - ${bid}= Підготувати дані для подання пропозиції aboveThreshold=${True}
  290 + ${bid}= Підготувати дані для подання пропозиції
291 291 Log ${bid}
292 292 ${bidresponses}= Create Dictionary
293 293 Set To Dictionary ${bidresponses} bid ${bid}
... ...
... ... @@ -20,7 +20,6 @@ from .initial_data import (
20 20 create_fake_sentence,
21 21 test_award_data,
22 22 test_bid_data,
23   - test_bid_data_meat_tender,
24 23 test_cancel_claim_data,
25 24 test_cancel_tender_data,
26 25 test_change_cancellation_document_field_data,
... ... @@ -38,7 +37,6 @@ from .initial_data import (
38 37 test_lot_data,
39 38 test_lot_document_data,
40 39 test_lot_question_data,
41   - test_lots_bid_data,
42 40 test_question_answer_data,
43 41 test_question_data,
44 42 test_submit_claim_data,
... ... @@ -383,8 +381,11 @@ def munch_dict(arg=None, data=False):
383 381 return munchify(arg)
384 382
385 383
386   -def get_id_from_field(field):
387   - return re.match(r'(^[filq]-[0-9a-fA-F]{8}): ', field).group(1)
  384 +def get_id_from_object(obj):
  385 + obj_id = re.match(r'(^[filq]-[0-9a-fA-F]{8}): ', obj['title'])
  386 + if not obj_id:
  387 + obj_id = re.match(r'(^[filq]-[0-9a-fA-F]{8}): ', obj['description'])
  388 + return obj_id.group(1)
388 389
389 390
390 391 def get_object_type_by_id(object_id):
... ... @@ -396,7 +397,7 @@ def get_object_index_by_id(data, object_id):
396 397 if not data:
397 398 return 0
398 399 for index, element in enumerate(data):
399   - element_id = get_id_from_field(element['description'])
  400 + element_id = get_id_from_object(element)
400 401 if element_id == object_id:
401 402 break
402 403 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