Commit 5568bd1c2eb653f0df7d6d861cd23c408d24ed0e
Merge pull request #28 from Leits/master
Add tests for MEAT and multilot tenders
Showing
10 changed files
with
773 additions
and
14 deletions
... | ... | @@ -35,6 +35,7 @@ gh = git://github.com/ |
35 | 35 | gh_push = git@github.com: |
36 | 36 | |
37 | 37 | [sources] |
38 | +barbecue = git ${remotes:gh}openprocurement/barbecue.git | |
38 | 39 | openprocurement_client = git ${remotes:gh}openprocurement/openprocurement.client.python.git |
39 | 40 | robot_tests.broker.etender = git ${remotes:gh}openprocurement/robot_tests.broker.etender.git |
40 | 41 | robot_tests.broker.privatmarket = git ${remotes:gh}openprocurement/robot_tests.broker.privatmarket.git | ... | ... |
... | ... | @@ -121,10 +121,9 @@ Library openprocurement_client_helper.py |
121 | 121 | ${internalid}= Отримати internal id по UAid ${ARGUMENTS[0]} ${ARGUMENTS[1]} |
122 | 122 | Отримати тендер ${ARGUMENTS[0]} ${internalid} |
123 | 123 | @{items}= Get From Object ${TENDER_DATA.data} items |
124 | - ${item}= get variable value ${items[1]} | |
125 | - Run Keyword And Continue On Failure Remove From Dictionary ${item} id | |
126 | 124 | Log Many @{items} |
127 | 125 | :FOR ${INDEX} IN RANGE ${ARGUMENTS[2]} |
126 | + \ ${item}= test_item_data | |
128 | 127 | \ Append To List ${items} ${item} |
129 | 128 | Log Many @{items} |
130 | 129 | Set_To_Object ${TENDER_DATA.data} items ${items} |
... | ... | @@ -349,3 +348,57 @@ Library openprocurement_client_helper.py |
349 | 348 | ${contents} ${filename}= Call Method ${USERS.users['${ARGUMENTS[0]}'].client} get_file ${tender} ${ARGUMENTS[2]} ${token} |
350 | 349 | log ${filename} |
351 | 350 | [return] ${contents} ${filename} |
351 | + | |
352 | + | |
353 | +Створити лот | |
354 | + [Documentation] | |
355 | + ... ${ARGUMENTS[0]} == username | |
356 | + ... ${ARGUMENTS[1]} == tender | |
357 | + ... ${ARGUMENTS[2]} == lot | |
358 | + [Arguments] @{ARGUMENTS} | |
359 | + log many @{ARGUMENTS} | |
360 | + ${tender}= set_access_key ${ARGUMENTS[1]} ${USERS.users['${ARGUMENTS[0]}'].access_token} | |
361 | + ${tender_lot}= Call Method ${USERS.users['${ARGUMENTS[0]}'].client} create_lot ${tender} ${ARGUMENTS[2]} | |
362 | + Log ${tender_lot} | |
363 | + [return] ${tender_lot} | |
364 | + | |
365 | +Змінити лот | |
366 | + [Documentation] | |
367 | + ... ${ARGUMENTS[0]} == username | |
368 | + ... ${ARGUMENTS[1]} == tender | |
369 | + ... ${ARGUMENTS[2]} == lot | |
370 | + [Arguments] @{ARGUMENTS} | |
371 | + log many @{ARGUMENTS} | |
372 | + ${tender}= set_access_key ${ARGUMENTS[1]} ${USERS.users['${ARGUMENTS[0]}'].access_token} | |
373 | + ${tender_lot}= Call Method ${USERS.users['${ARGUMENTS[0]}'].client} patch_lot ${tender} ${ARGUMENTS[2]} | |
374 | + Log ${tender_lot} | |
375 | + [return] ${tender_lot} | |
376 | + | |
377 | +Завантажити документ в лот | |
378 | + [Documentation] | |
379 | + ... ${ARGUMENTS[0]} == username | |
380 | + ... ${ARGUMENTS[1]} == filepath | |
381 | + ... ${ARGUMENTS[2]} == tenderUAID | |
382 | + ... ${ARGUMENTS[3]} == lot_id | |
383 | + [Arguments] @{ARGUMENTS} | |
384 | + log many @{ARGUMENTS} | |
385 | + ${tenderID}= openprocurement_client.Отримати internal id по UAid ${ARGUMENTS[0]} ${ARGUMENTS[2]} | |
386 | + ${tender}= Call Method ${USERS.users['${ARGUMENTS[0]}'].client} get_tender ${tenderID} | |
387 | + ${tender}= set_access_key ${tender} ${USERS.users['${ARGUMENTS[0]}'].access_token} | |
388 | + ${doc}= Завантажити документ ${ARGUMENTS[0]} ${ARGUMENTS[1]} ${ARGUMENTS[2]} | |
389 | + ${lot_doc}= test_lot_document_data ${doc} ${ARGUMENTS[3]} | |
390 | + ${reply}= Call Method ${USERS.users['${ARGUMENTS[0]}'].client} patch_document ${tender} ${lot_doc} | |
391 | + Log object data ${reply} reply | |
392 | + [return] ${reply} | |
393 | + | |
394 | +Видалити лот | |
395 | + [Documentation] | |
396 | + ... ${ARGUMENTS[0]} == username | |
397 | + ... ${ARGUMENTS[1]} == tender | |
398 | + ... ${ARGUMENTS[2]} == lot | |
399 | + [Arguments] @{ARGUMENTS} | |
400 | + log many @{ARGUMENTS} | |
401 | + ${tender}= set_access_key ${ARGUMENTS[1]} ${USERS.users['${ARGUMENTS[0]}'].access_token} | |
402 | + ${tender_lot}= Call Method ${USERS.users['${ARGUMENTS[0]}'].client} delete_lot ${tender} ${ARGUMENTS[2]} | |
403 | + Log ${tender_lot} | |
404 | + [return] ${tender_lot} | ... | ... |
... | ... | @@ -112,7 +112,7 @@ def test_tender_data(intervals): |
112 | 112 | return t_data |
113 | 113 | |
114 | 114 | |
115 | -def test_tender_data_multiple_lots(intervals): | |
115 | +def test_tender_data_multiple_items(intervals): | |
116 | 116 | now = get_now() |
117 | 117 | t_data = test_tender_data(intervals) |
118 | 118 | t_data.update({ |
... | ... | @@ -282,6 +282,83 @@ def test_tender_data_multiple_lots(intervals): |
282 | 282 | return t_data |
283 | 283 | |
284 | 284 | |
285 | +def test_tender_data_multiple_lots(t_data): | |
286 | + for i in range(3): | |
287 | + t_data['data']['items'][i]['relatedLot'] = "3c8f387879de4c38957402dbdb8b31af" | |
288 | + t_data['data']['items'][3]['relatedLot'] = "bcac8d2ceb5f4227b841a2211f5cb646" | |
289 | + t_data['data']['lots'] = [ | |
290 | + { | |
291 | + "id": "3c8f387879de4c38957402dbdb8b31af", | |
292 | + "title": "Lot #1: Kyiv stationery", | |
293 | + "description": "Items for Kyiv office", | |
294 | + "value": {"currency": "UAH", "amount": 34000.0, "valueAddedTaxIncluded": "true"}, | |
295 | + "minimalStep": {"currency": "UAH", "amount": 30.0, "valueAddedTaxIncluded": "true"}, | |
296 | + "status": "active" | |
297 | + }, { | |
298 | + "id": "bcac8d2ceb5f4227b841a2211f5cb646", | |
299 | + "title": "Lot #2: Lviv stationery", | |
300 | + "description": "Items for Lviv office", | |
301 | + "value": {"currency": "UAH", "amount": 9000.0, "valueAddedTaxIncluded": "true"}, | |
302 | + "minimalStep": {"currency": "UAH", "amount": 35.0, "valueAddedTaxIncluded": "true"}, | |
303 | + "status": "active" | |
304 | + } | |
305 | + ] | |
306 | + return t_data | |
307 | + | |
308 | + | |
309 | +def test_meat_tender_data(tender): | |
310 | + item_id = "edd0032574bf4402877ad5f362df225a" | |
311 | + tender.data['items'][0].id = item_id | |
312 | + tender.data.features = [ | |
313 | + { | |
314 | + "code": "ee3e24bc17234a41bd3e3a04cc28e9c6", | |
315 | + "featureOf": "tenderer", | |
316 | + "title": "Термін оплати", | |
317 | + "description": "Умови відстрочки платежу після поставки товару", | |
318 | + "enum": [ | |
319 | + { | |
320 | + "value": 0.15, | |
321 | + "title": "180 днів та більше" | |
322 | + }, | |
323 | + { | |
324 | + "value": 0.1, | |
325 | + "title": "90-179 днів", | |
326 | + }, | |
327 | + { | |
328 | + "value": 0.05, | |
329 | + "title": "30-89 днів" | |
330 | + }, | |
331 | + { | |
332 | + "value": 0, | |
333 | + "title": "Менше 30 днів" | |
334 | + } | |
335 | + ] | |
336 | + }, | |
337 | + { | |
338 | + "code": "48cfd91612c04125ab406374d7cc8d93", | |
339 | + "featureOf": "item", | |
340 | + "relatedItem": item_id, | |
341 | + "title": "Сорт", | |
342 | + "description": "Сорт продукції", | |
343 | + "enum": [ | |
344 | + { | |
345 | + "value": 0.05, | |
346 | + "title": "Вищий" | |
347 | + }, | |
348 | + { | |
349 | + "value": 0.01, | |
350 | + "title": "Перший", | |
351 | + }, | |
352 | + { | |
353 | + "value": 0, | |
354 | + "title": "Другий" | |
355 | + } | |
356 | + ] | |
357 | + } | |
358 | + ] | |
359 | + return tender | |
360 | + | |
361 | + | |
285 | 362 | def test_question_data(): |
286 | 363 | return munchify({ |
287 | 364 | "data": { |
... | ... | @@ -390,6 +467,93 @@ def test_bid_data(): |
390 | 467 | }) |
391 | 468 | |
392 | 469 | |
470 | +def test_bid_data_meat_tender(): | |
471 | + return munchify({ | |
472 | + "data": { | |
473 | + "tenderers": [ | |
474 | + { | |
475 | + "address": { | |
476 | + "countryName": "Україна", | |
477 | + "locality": "м. Вінниця", | |
478 | + "postalCode": "21100", | |
479 | + "region": "м. Вінниця", | |
480 | + "streetAddress": fake.street_address() | |
481 | + }, | |
482 | + "contactPoint": { | |
483 | + "name": fake.name(), | |
484 | + "telephone": fake.phone_number() | |
485 | + }, | |
486 | + "identifier": { | |
487 | + "scheme": u"UA-EDR", | |
488 | + "id": u"{:08d}".format(fake.pyint()), | |
489 | + }, | |
490 | + "name": fake.company() | |
491 | + } | |
492 | + ], | |
493 | + "parameters": [ | |
494 | + { | |
495 | + "code": "ee3e24bc17234a41bd3e3a04cc28e9c6", | |
496 | + "value": fake.random_element(elements=(0.15, 0.1, 0.05, 0)) | |
497 | + }, | |
498 | + { | |
499 | + "code": "48cfd91612c04125ab406374d7cc8d93", | |
500 | + "value": fake.random_element(elements=(0.05, 0.01, 0)) | |
501 | + } | |
502 | + ], | |
503 | + "value": { | |
504 | + "amount": 500 | |
505 | + } | |
506 | + } | |
507 | + }) | |
508 | + | |
509 | + | |
510 | +def test_lots_bid_data(): | |
511 | + return munchify({ | |
512 | + "data": { | |
513 | + "tenderers": [ | |
514 | + { | |
515 | + "address": { | |
516 | + "countryName": "Україна", | |
517 | + "locality": "м. Вінниця", | |
518 | + "postalCode": "21100", | |
519 | + "region": "м. Вінниця", | |
520 | + "streetAddress": fake.street_address() | |
521 | + }, | |
522 | + "contactPoint": { | |
523 | + "name": fake.name(), | |
524 | + "telephone": fake.phone_number() | |
525 | + }, | |
526 | + "identifier": { | |
527 | + "scheme": u"UA-EDR", | |
528 | + "id": u"{:08d}".format(fake.pyint()), | |
529 | + }, | |
530 | + "name": fake.company() | |
531 | + } | |
532 | + ], | |
533 | + "lotValues": [ | |
534 | + { | |
535 | + "value": { | |
536 | + "currency": "UAH", | |
537 | + "amount": 1000 + fake.pyfloat(left_digits=3, right_digits=0, positive=True), | |
538 | + "valueAddedTaxIncluded": "true" | |
539 | + }, | |
540 | + "relatedLot": "3c8f387879de4c38957402dbdb8b31af", | |
541 | + "date": "2015-11-01T12:43:12.482645+02:00" | |
542 | + }, | |
543 | + { | |
544 | + "value": { | |
545 | + "currency": "UAH", | |
546 | + "amount": 1000 + fake.pyfloat(left_digits=3, right_digits=0, positive=True), | |
547 | + "valueAddedTaxIncluded": "true" | |
548 | + }, | |
549 | + "relatedLot": "bcac8d2ceb5f4227b841a2211f5cb646", | |
550 | + "date": "2015-11-01T12:43:12.482645+02:00" | |
551 | + } | |
552 | + ] | |
553 | + } | |
554 | + }) | |
555 | + | |
556 | + | |
393 | 557 | def auction_bid(): |
394 | 558 | return munchify({ |
395 | 559 | "data": { |
... | ... | @@ -404,3 +568,135 @@ def auction_bid(): |
404 | 568 | |
405 | 569 | def test_award_data(): |
406 | 570 | return munchify({'data': {}}) |
571 | + | |
572 | + | |
573 | +def test_item_data(): | |
574 | + now = get_now() | |
575 | + return { | |
576 | + "description": fake.catch_phrase(), | |
577 | + "deliveryDate": { | |
578 | + "endDate": (now + timedelta(days=5)).isoformat() | |
579 | + }, | |
580 | + "deliveryLocation": { | |
581 | + "latitude": 49.8500, | |
582 | + "longitude": 24.0167 | |
583 | + }, | |
584 | + "deliveryAddress": { | |
585 | + "countryName": u"Україна", | |
586 | + "countryName_ru": u"Украина", | |
587 | + "countryName_en": "Ukraine", | |
588 | + "postalCode": fake.postalcode(), | |
589 | + "region": u"м. Київ", | |
590 | + "locality": u"м. Київ", | |
591 | + "streetAddress": fake.street_address() | |
592 | + }, | |
593 | + "classification": { | |
594 | + "scheme": u"CPV", | |
595 | + "id": u"44617100-9", | |
596 | + "description": u"Картонки", | |
597 | + "description_ru": u"Большие картонные коробки", | |
598 | + "description_en": u"Cartons" | |
599 | + }, | |
600 | + "additionalClassifications": [ | |
601 | + { | |
602 | + "scheme": u"ДКПП", | |
603 | + "id": u"17.21.1", | |
604 | + "description": u"Папір і картон гофровані, паперова й картонна тара" | |
605 | + } | |
606 | + ], | |
607 | + "unit": { | |
608 | + "name": u"кілограм", | |
609 | + "name_ru": u"килограмм", | |
610 | + "name_en": "kilogram", | |
611 | + "code": u"KGM" | |
612 | + }, | |
613 | + "quantity": fake.pyint() | |
614 | + } | |
615 | + | |
616 | + | |
617 | +def test_invalid_features_data(): | |
618 | + return [ | |
619 | + { | |
620 | + "code": "ee3e24bc17234a41bd3e3a04cc28e9c6", | |
621 | + "featureOf": "tenderer", | |
622 | + "title": "Термін оплати", | |
623 | + "description": "Умови відстрочки платежу після поставки товару", | |
624 | + "enum": [ | |
625 | + { | |
626 | + "value": 0.35, | |
627 | + "title": "180 днів та більше" | |
628 | + }, | |
629 | + { | |
630 | + "value": 0.1, | |
631 | + "title": "90-179 днів", | |
632 | + }, | |
633 | + { | |
634 | + "value": 0.05, | |
635 | + "title": "30-89 днів" | |
636 | + }, | |
637 | + { | |
638 | + "value": 0, | |
639 | + "title": "Менше 30 днів" | |
640 | + } | |
641 | + ] | |
642 | + }, | |
643 | + { | |
644 | + "code": "48cfd91612c04125ab406374d7cc8d93", | |
645 | + "featureOf": "item", | |
646 | + "relatedItem": "edd0032574bf4402877ad5f362df225a", | |
647 | + "title": "Сорт", | |
648 | + "description": "Сорт продукції", | |
649 | + "enum": [ | |
650 | + { | |
651 | + "value": 0.35, | |
652 | + "title": "Вищий" | |
653 | + }, | |
654 | + { | |
655 | + "value": 0.01, | |
656 | + "title": "Перший", | |
657 | + }, | |
658 | + { | |
659 | + "value": 0, | |
660 | + "title": "Другий" | |
661 | + } | |
662 | + ] | |
663 | + } | |
664 | + ] | |
665 | + | |
666 | + | |
667 | +def test_lot_data(): | |
668 | + return munchify( | |
669 | + {'data': | |
670 | + { | |
671 | + "description": fake.sentence(nb_words=10, variable_nb_words=True), | |
672 | + "title": fake.sentence(nb_words=6, variable_nb_words=True), | |
673 | + "value": { | |
674 | + "currency": "UAH", | |
675 | + "amount": fake.pyfloat(left_digits=4, right_digits=1, positive=True), | |
676 | + "valueAddedTaxIncluded": "true" | |
677 | + }, | |
678 | + "minimalStep": { | |
679 | + "currency": "UAH", | |
680 | + "amount": 30.0, | |
681 | + "valueAddedTaxIncluded": "true" | |
682 | + }, | |
683 | + "status": "active" | |
684 | + }}) | |
685 | + | |
686 | + | |
687 | +def test_lot_document_data(document, lot_id="3c8f387879de4c38957402dbdb8b31af"): | |
688 | + lot_document = {"documentOf": "lot", "relatedItem": lot_id} | |
689 | + lot_document.update(document.data) | |
690 | + return munchify({"data": lot_document}) | |
691 | + | |
692 | + | |
693 | +def test_lot_question_data(question, lot_id="3c8f387879de4c38957402dbdb8b31af"): | |
694 | + lot_question = {"questionOf": "lot", "relatedItem": lot_id} | |
695 | + lot_question.update(question.data) | |
696 | + return munchify({"data": lot_question}) | |
697 | + | |
698 | + | |
699 | +def test_lot_complaint_data(complaint, lot_id="3c8f387879de4c38957402dbdb8b31af"): | |
700 | + lot_complaint = {"complaintOf": "lot", "relatedItem": lot_id} | |
701 | + lot_complaint.update(complaint.data) | |
702 | + return munchify({"data": lot_complaint}) | ... | ... |
... | ... | @@ -71,7 +71,8 @@ Get Broker Property By Username |
71 | 71 | Підготовка початкових даних |
72 | 72 | @{QUESTIONS}= Create list |
73 | 73 | ${question}= test question data |
74 | - Append to list ${QUESTIONS} ${question} | |
74 | + ${question_lot}= test_lot_question_data ${question} | |
75 | + Append to list ${QUESTIONS} ${question} ${question_lot} | |
75 | 76 | Set Global Variable @{QUESTIONS} |
76 | 77 | @{ANSWERS}= Create list |
77 | 78 | ${answer}= test_question_answer_data |
... | ... | @@ -79,7 +80,8 @@ Get Broker Property By Username |
79 | 80 | Set Global Variable @{ANSWERS} |
80 | 81 | @{COMPLAINTS}= Create list |
81 | 82 | ${complaint}= test_complaint_data |
82 | - Append to list ${COMPLAINTS} ${complaint} | |
83 | + ${complaint_lot}= test_lot_complaint_data ${complaint} | |
84 | + Append to list ${COMPLAINTS} ${complaint} ${complaint_lot} | |
83 | 85 | Set Global Variable @{COMPLAINTS} |
84 | 86 | @{REPLIES}= Create list |
85 | 87 | ${reply}= test_complaint_reply_data | ... | ... |
op_robot_tests/tests_files/meatTender.robot
0 → 100644
1 | +*** Settings *** | |
2 | +Library op_robot_tests.tests_files.service_keywords | |
3 | +Library String | |
4 | +Library Collections | |
5 | +Library Selenium2Library | |
6 | +Library DebugLibrary | |
7 | +Resource keywords.robot | |
8 | +Resource resource.robot | |
9 | +Suite Setup TestSuiteSetup | |
10 | +Suite Teardown Close all browsers | |
11 | + | |
12 | +*** Variables *** | |
13 | +${mode} single | |
14 | + | |
15 | +${role} viewer | |
16 | +${broker} Quinta | |
17 | + | |
18 | +*** Test Cases *** | |
19 | +Можливість оголосити однопредметний тендер з неціновим показником | |
20 | + [Tags] ${USERS.users['${tender_owner}'].broker}: Можливість оголосити тендер | |
21 | + [Documentation] Створення закупівлі замовником, обовязково має повертати UAID закупівлі (номер тендера), | |
22 | + ${base_tender_data}= Підготовка початкових даних | |
23 | + ${tender_data}= test_meat_tender_data ${base_tender_data} | |
24 | + ${TENDER_UAID}= Викликати для учасника ${tender_owner} Створити тендер ${tender_data} | |
25 | + ${LAST_MODIFICATION_DATE}= Get Current Date | |
26 | + Set To Dictionary ${TENDER} TENDER_UAID ${TENDER_UAID} | |
27 | + Set To Dictionary ${TENDER} LAST_MODIFICATION_DATE ${LAST_MODIFICATION_DATE} | |
28 | + log ${TENDER} | |
29 | + | |
30 | +Пошук однопредметного тендера по ідентифікатору | |
31 | + [Tags] ${USERS.users['${viewer}'].broker}: Пошук тендера по ідентифікатору | |
32 | + Дочекатись синхронізації з майданчиком ${viewer} | |
33 | + Викликати для учасника ${viewer} Пошук тендера по ідентифікатору ${TENDER['TENDER_UAID']} | |
34 | + | |
35 | +Неможливість перевищити ліміт для нецінових критеріїв | |
36 | + [Tags] ${USERS.users['${tender_owner}'].broker}: Можливість оголосити тендер | |
37 | + ${invalid_features}= test_invalid_features_data | |
38 | + ${fail}= Викликати для учасника ${tender_owner} Внести зміни в тендер shouldfail ${TENDER['TENDER_UAID']} features ${invalid_features} | |
39 | + Log ${fail} | |
40 | + | |
41 | +###### | |
42 | +#Подання пропозицій | |
43 | + | |
44 | +Неможливість подати цінову пропозицію без нецінового показника | |
45 | + [Tags] ${USERS.users['${provider}'].broker}: Можливість подати цінову пропозицію | |
46 | + Дочекатись дати початку прийому пропозицій | |
47 | + sleep 90 | |
48 | + ${bid}= test bid data | |
49 | + Log ${bid} | |
50 | + ${biddingresponse0}= Викликати для учасника ${provider} Подати цінову пропозицію shouldfail ${TENDER['TENDER_UAID']} ${bid} | |
51 | + log ${biddingresponse0} | |
52 | + | |
53 | +Подати цінову пропозицію з неціновим показником | |
54 | + [Tags] ${USERS.users['${provider}'].broker}: Можливість подати цінову пропозицію | |
55 | + ${bid}= test bid data meat tender | |
56 | + Log ${bid} | |
57 | + ${resp}= Викликати для учасника ${provider} Подати цінову пропозицію ${TENDER['TENDER_UAID']} ${bid} | |
58 | + ${biddingresponse0}= Create Dictionary | |
59 | + Set To Dictionary ${biddingresponse0} resp ${resp} | |
60 | + Set To Dictionary ${USERS.users['${provider}']} biddingresponse0 ${biddingresponse0} | |
61 | + log ${resp} | |
62 | + | |
63 | +Можливість змінити неціновий показник повторної цінової пропозиції до 0 | |
64 | + [Tags] ${USERS.users['${provider}'].broker}: Можливість змінити цінову пропозицію | |
65 | + Set To Dictionary ${USERS.users['${provider}'].biddingresponse0['resp'].data.parameters[0]} value 0 | |
66 | + Log ${USERS.users['${provider}'].biddingresponse0['resp'].data.parameters[0]} | |
67 | + ${fixbidparamsto0resp}= Викликати для учасника ${provider} Змінити цінову пропозицію ${TENDER['TENDER_UAID']} ${USERS.users['${provider}'].biddingresponse0['resp']} | |
68 | + Set To Dictionary ${USERS.users['${provider}'].biddingresponse0} fixbidparamsto0resp ${fixbidparamsto0resp} | |
69 | + log ${fixbidparamsto0resp} | |
70 | + | |
71 | +Можливість змінити неціновий показник повторної цінової пропозиції до 0.15 | |
72 | + [Tags] ${USERS.users['${provider}'].broker}: Можливість змінити цінову пропозицію | |
73 | + Set To Dictionary ${USERS.users['${provider}'].biddingresponse0['resp'].data.parameters[0]} value 0.15 | |
74 | + Log ${USERS.users['${provider}'].biddingresponse0['resp'].data.parameters[0]} | |
75 | + ${fixbidparamsto015resp}= Викликати для учасника ${provider} Змінити цінову пропозицію ${TENDER['TENDER_UAID']} ${USERS.users['${provider}'].biddingresponse0['resp']} | |
76 | + Set To Dictionary ${USERS.users['${provider}'].biddingresponse0} fixbidparamsto015resp ${fixbidparamsto015resp} | |
77 | + log ${fixbidparamsto015resp} | |
78 | + | |
79 | +Подати цінову пропозицію з неціновим показником другим учасником | |
80 | + [Tags] ${USERS.users['${provider1}'].broker}: Можливість подати цінову пропозицію | |
81 | + Дочекатись дати початку прийому пропозицій | |
82 | + ${bid}= test bid data meat tender | |
83 | + Log ${bid} | |
84 | + ${bidresponses}= Create Dictionary | |
85 | + ${resp}= Викликати для учасника ${provider1} Подати цінову пропозицію ${TENDER['TENDER_UAID']} ${bid} | |
86 | + Set To Dictionary ${bidresponses} resp ${resp} | |
87 | + Set To Dictionary ${USERS.users['${provider1}']} bidresponses ${bidresponses} | |
88 | + log ${resp} | |
89 | + log ${USERS.users['${provider1}'].bidresponses} | |
90 | + | |
91 | +###### | |
92 | +#Аукціон | |
93 | + | |
94 | +Очікування аукціону | |
95 | + Дочекатись синхронізації з майданчиком ${tender_owner} | |
96 | + ${tender_data}= Викликати для учасника ${tender_owner} Пошук тендера по ідентифікатору ${TENDER['TENDER_UAID']} | |
97 | + log ${tender_data.data.auctionPeriod.startDate} | |
98 | + Дочекатись дати початку аукціону | |
99 | + sleep 1500 | |
100 | + | |
101 | +Завершення аукціону | |
102 | + Дочекатись синхронізації з майданчиком ${tender_owner} | |
103 | + ${tender_data}= Викликати для учасника ${tender_owner} Пошук тендера по ідентифікатору ${TENDER['TENDER_UAID']} | |
104 | + ${result}= chef ${tender_data.data.bids} ${tender_data.data.features} | |
105 | + Log Many ${result[0]} ${tender_data.data.awards[0]} | |
106 | + Log Many ${result[0].id} ${tender_data.data.awards[0].bid_id} | |
107 | + Should Be Equal ${result[0].id} ${tender_data.data.awards[0].bid_id} | ... | ... |
... | ... | @@ -113,4 +113,4 @@ ${broker} Quinta |
113 | 113 | |
114 | 114 | Можливість видалити позиції закупівлі тендера |
115 | 115 | [Tags] ${USERS.users['${tender_owner}'].broker}: Можливість оголосити тендер |
116 | - Викликати для учасника ${tender_owner} Додати предмети закупівлі ${TENDER['TENDER_UAID']} 2 | |
116 | + Викликати для учасника ${tender_owner} Відняти предмети закупівлі ${TENDER['TENDER_UAID']} 2 | ... | ... |
1 | +*** Settings *** | |
2 | +Library op_robot_tests.tests_files.service_keywords | |
3 | +Library String | |
4 | +Library Collections | |
5 | +Library Selenium2Library | |
6 | +Library DebugLibrary | |
7 | +Resource keywords.robot | |
8 | +Resource resource.robot | |
9 | +Suite Setup TestSuiteSetup | |
10 | +Suite Teardown Close all browsers | |
11 | + | |
12 | +*** Variables *** | |
13 | +${mode} multi | |
14 | + | |
15 | +${role} viewer | |
16 | +${broker} Quinta | |
17 | + | |
18 | +${question_id} 1 | |
19 | +${complaint_id} 1 | |
20 | + | |
21 | +*** Test Cases *** | |
22 | +Можливість оголосити мультилотовий тендер | |
23 | + [Tags] ${USERS.users['${tender_owner}'].broker}: Можливість оголосити мультилотовий тендер | |
24 | + ${tender_data}= Підготовка початкових даних | |
25 | + ${tender_data}= test_tender_data_multiple_lots ${tender_data} | |
26 | + ${TENDER_UAID}= Викликати для учасника ${tender_owner} Створити тендер ${tender_data} | |
27 | + ${LAST_MODIFICATION_DATE}= Get Current Date | |
28 | + Set To Dictionary ${TENDER} TENDER_UAID ${TENDER_UAID} | |
29 | + Set To Dictionary ${TENDER} LAST_MODIFICATION_DATE ${LAST_MODIFICATION_DATE} | |
30 | + log ${TENDER} | |
31 | + | |
32 | +Пошук мультилотового тендера по ідентифікатору | |
33 | + [Tags] ${USERS.users['${viewer}'].broker}: Пошук тендера по ідентифікатору | |
34 | + Дочекатись синхронізації з майданчиком ${viewer} | |
35 | + Викликати для учасника ${viewer} Пошук тендера по ідентифікатору ${TENDER['TENDER_UAID']} | |
36 | + | |
37 | +Отримання тендера | |
38 | + Дочекатись синхронізації з майданчиком ${tender_owner} | |
39 | + Викликати для учасника ${tender_owner} Пошук тендера по ідентифікатору ${TENDER['TENDER_UAID']} | |
40 | + | |
41 | +####### | |
42 | +#Операції з лотом | |
43 | + | |
44 | +Створення лоту | |
45 | + ${tender_data}= Get Variable Value ${USERS.users['${tender_owner}'].tender_data} | |
46 | + ${lot}= test lot data | |
47 | + ${lotcreate}= Викликати для учасника ${tender_owner} Створити лот ${tender_data} ${lot} | |
48 | + ${lotresponses}= Create Dictionary | |
49 | + Set To Dictionary ${lotresponses} resp0 ${lotcreate} | |
50 | + Set To Dictionary ${USERS.users['${tender_owner}']} lotresponses ${lotresponses} | |
51 | + log ${lotcreate} | |
52 | + | |
53 | +Можливість видалення лоту | |
54 | + ${tender_data}= Get Variable Value ${USERS.users['${tender_owner}'].tender_data} | |
55 | + ${lot}= Get Variable Value ${USERS.users['${tender_owner}'].lotresponses['resp0']} | |
56 | + ${lotdelete}= Викликати для учасника ${tender_owner} Видалити лот ${tender_data} ${lot} | |
57 | + Log ${lotdelete} | |
58 | + | |
59 | +Повторне створення лоту | |
60 | + ${tender_data}= Get Variable Value ${USERS.users['${tender_owner}'].tender_data} | |
61 | + ${lot}= test lot data | |
62 | + ${lotcreate}= Викликати для учасника ${tender_owner} Створити лот ${tender_data} ${lot} | |
63 | + ${lotresponses}= Create Dictionary | |
64 | + Set To Dictionary ${lotresponses} resp ${lotcreate} | |
65 | + Set To Dictionary ${USERS.users['${tender_owner}']} lotresponses ${lotresponses} | |
66 | + log ${lotcreate} | |
67 | + | |
68 | +Можливість змінити цінову пропозицію у новому лоті до 8000 | |
69 | + ${tender_data}= Get Variable Value ${USERS.users['${tender_owner}'].tender_data} | |
70 | + Set To Dictionary ${USERS.users['${tender_owner}'].lotresponses['resp'].data.value} amount 8000 | |
71 | + ${fixlotto8000resp}= Викликати для учасника ${tender_owner} Змінити лот ${tender_data} ${USERS.users['${tender_owner}'].lotresponses['resp']} | |
72 | + Set To Dictionary ${USERS.users['${tender_owner}'].lotresponses} fixlotto8000resp ${fixlotto8000resp} | |
73 | + log ${fixlotto8000resp} | |
74 | + | |
75 | +Можливість змінити цінову пропозицію у новому лоті до 100 | |
76 | + ${tender_data}= Get Variable Value ${USERS.users['${tender_owner}'].tender_data} | |
77 | + Set To Dictionary ${USERS.users['${tender_owner}'].lotresponses['resp'].data.value} amount 8000 | |
78 | + ${fixlotto100resp}= Викликати для учасника ${tender_owner} Змінити лот ${tender_data} ${USERS.users['${tender_owner}'].lotresponses['resp']} | |
79 | + Set To Dictionary ${USERS.users['${tender_owner}'].lotresponses} fixlotto100resp ${fixlotto100resp} | |
80 | + log ${fixlotto100resp} | |
81 | + | |
82 | + | |
83 | +##### | |
84 | +#Предмети закупівлі лоту | |
85 | + | |
86 | +Можливість додати позицію закупівлі в тендер | |
87 | + [Tags] ${USERS.users['${tender_owner}'].broker}: Можливість оголосити тендер | |
88 | + Викликати для учасника ${tender_owner} Додати предмети закупівлі ${TENDER['TENDER_UAID']} 1 | |
89 | + | |
90 | +Добавити предмет закупівлі до лоту | |
91 | + Log ${tender_data.data['items']} | |
92 | + ${items}= Get Variable Value ${tender_data.data['items']} | |
93 | + ${lot_id}= Get Variable Value ${USERS.users['${tender_owner}'].lotresponses['resp'].data.id} | |
94 | + Set To Dictionary ${items[-1]} relatedLot ${lot_id} | |
95 | + Log ${items[-1]} | |
96 | + Викликати для учасника ${tender_owner} Внести зміни в тендер ${TENDER['TENDER_UAID']} items ${items} | |
97 | + | |
98 | +Неможливість видалення лоту з прив’язаними предметами закупівлі | |
99 | + ${tender_data}= Get Variable Value ${USERS.users['${tender_owner}'].tender_data} | |
100 | + ${lot}= Get Variable Value ${USERS.users['${tender_owner}'].lotresponses['resp']} | |
101 | + Викликати для учасника ${tender_owner} Видалити лот shouldfail ${tender_data} ${lot} | |
102 | + | |
103 | +Можливість видалити позиції закупівлі тендера | |
104 | + ${items}= Get Variable Value ${tender_data.data['items']} | |
105 | + Log ${tender_data.data} | |
106 | + Викликати для учасника ${tender_owner} Внести зміни в тендер ${TENDER['TENDER_UAID']} items ${items[:-1]} | |
107 | + Log ${tender_data.data} | |
108 | + | |
109 | +Можливість додати тендерну документацію лоту | |
110 | + [Tags] ${USERS.users['${tender_owner}'].broker}: Можливість завантажити документ | |
111 | + [Documentation] Закупівельник ${USERS.users['${tender_owner}'].broker} завантажує документацію до оголошеної закупівлі | |
112 | + ${filepath}= create_fake_doc | |
113 | + ${lot_id}= Get Variable Value ${USERS.users['${tender_owner}'].lotresponses['resp'].data.id} | |
114 | + ${doc_upload_reply}= Викликати для учасника ${tender_owner} Завантажити документ в лот ${filepath} ${TENDER['TENDER_UAID']} ${lot_id} | |
115 | + ${file_upload_process_data} = Create Dictionary filepath=${filepath} doc_upload_reply=${doc_upload_reply} | |
116 | + log ${file_upload_process_data} | |
117 | + Set To Dictionary ${USERS.users['${tender_owner}']} file_upload_process_data ${file_upload_process_data} | |
118 | + Log ${lot_id} | |
119 | + Log ${USERS.users['${tender_owner}']} | |
120 | + | |
121 | + | |
122 | +####### | |
123 | +#Запитання до лоту | |
124 | + | |
125 | +Задати питання | |
126 | + [Tags] ${USERS.users['${provider}'].broker}: Можливість задати запитання | |
127 | + ${question}= Викликати для учасника ${provider} Задати питання ${TENDER['TENDER_UAID']} ${QUESTIONS[${question_id}]} | |
128 | + log ${question} | |
129 | + ${now}= Get Current Date | |
130 | + Set To Dictionary ${QUESTIONS[${question_id}].data} date ${now} | |
131 | + | |
132 | +Відповісти на запитання | |
133 | + [Tags] ${USERS.users['${tender_owner}'].broker}: Можливість відповісти на запитання | |
134 | + Викликати для учасника ${tender_owner} Відповісти на питання ${TENDER['TENDER_UAID']} 0 ${ANSWERS[0]} | |
135 | + ${now}= Get Current Date | |
136 | + Set To Dictionary ${ANSWERS[${question_id}-1].data} date ${now} | |
137 | + | |
138 | + | |
139 | +###### | |
140 | +#Cкарга на лот | |
141 | +# | |
142 | +# | |
143 | +##### Дочекатися скарг на лот | |
144 | +# | |
145 | +# | |
146 | +#Можливість подати скаргу на лот | |
147 | +# [Tags] ${USERS.users['${provider}'].broker}: Можливість подати скаргу на умови | |
148 | +# [Documentation] Користувач ${USERS.users['${provider}'].broker} намагається подати скаргу на умови оголошеної закупівлі | |
149 | +# Викликати для учасника ${provider} Подати скаргу ${TENDER['TENDER_UAID']} ${COMPLAINTS[${complaint_id}]} | |
150 | +# ${LAST_MODIFICATION_DATE}= Get Current Date | |
151 | +# Set Global Variable ${LAST_MODIFICATION_DATE} | |
152 | +# | |
153 | +#Можливість побачити скаргу користувачем | |
154 | +# [Tags] ${USERS.users['${provider}'].broker}: Відображення основних даних оголошеного тендера | |
155 | +# Викликати для учасника ${provider} Порівняти скаргу ${TENDER['TENDER_UAID']} ${COMPLAINTS[${complaint_id}]} | |
156 | +# | |
157 | +#Можливість побачити скаргу анонімом | |
158 | +# [Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних оголошеного тендера | |
159 | +# Викликати для учасника ${viewer} Порівняти скаргу ${TENDER['TENDER_UAID']} ${COMPLAINTS[${complaint_id}]} | |
160 | +# | |
161 | +#Можливість відхилити скаргу на лот | |
162 | +# [Tags] ${USERS.users['${tender_owner}'].broker}: Можливість відхилити скаргу на умови | |
163 | +# Set To Dictionary ${COMPLAINTS[0].data} status declined | |
164 | +# Викликати для учасника ${tender_owner} Обробити скаргу ${TENDER['TENDER_UAID']} 0 ${COMPLAINTS[${complaint_id}]} | |
165 | +# log many ${COMPLAINTS[${complaint_id}]} | |
166 | +# викликати для учасника ${viewer} Оновити сторінку з тендером ${TENDER['TENDER_UAID']} | |
167 | +# | |
168 | +#Можливість відкинути скаргу на лот | |
169 | +# [Tags] ${USERS.users['${tender_owner}'].broker}: Можливість відкинути скаргу на умови | |
170 | +# Викликати для учасника ${provider} Подати скаргу ${TENDER['TENDER_UAID']} ${COMPLAINTS[${complaint_id}]} | |
171 | +# ${LAST_MODIFICATION_DATE}= Get Current Date | |
172 | +# Set Global Variable ${LAST_MODIFICATION_DATE} | |
173 | +# Викликати для учасника ${viewer} Оновити сторінку з тендером ${TENDER['TENDER_UAID']} | |
174 | +# Set To Dictionary ${COMPLAINTS[0].data} status invalid | |
175 | +# Викликати для учасника ${tender_owner} Обробити скаргу ${TENDER['TENDER_UAID']} 1 ${COMPLAINTS[${complaint_id}]} | |
176 | +# log many ${COMPLAINTS[${complaint_id}]} | |
177 | +# ${LAST_MODIFICATION_DATE}= Get Current Date | |
178 | +# Set Global Variable ${LAST_MODIFICATION_DATE} | |
179 | +# Викликати для учасника ${viewer} Оновити сторінку з тендером ${TENDER['TENDER_UAID']} | |
180 | +# | |
181 | +#Можливість задовільнити скаргу на лот | |
182 | +# [Tags] ${USERS.users['${provider}'].broker}: Можливість відповісти на запитання | |
183 | +# Викликати для учасника ${provider} Подати скаргу ${TENDER['TENDER_UAID']} ${COMPLAINTS[${complaint_id}]} | |
184 | +# ${LAST_MODIFICATION_DATE}= Get Current Date | |
185 | +# Set Global Variable ${LAST_MODIFICATION_DATE} | |
186 | +# Викликати для учасника ${viewer} Оновити сторінку з тендером ${TENDER['TENDER_UAID']} | |
187 | +# Set To Dictionary ${COMPLAINTS[0].data} status resolved | |
188 | +# Викликати для учасника ${tender_owner} Обробити скаргу ${TENDER['TENDER_UAID']} 2 ${COMPLAINTS[${complaint_id}]} | |
189 | +# log many ${COMPLAINTS[${complaint_id}]} | |
190 | +# ${LAST_MODIFICATION_DATE}= Get Current Date | |
191 | +# Set Global Variable ${LAST_MODIFICATION_DATE} | |
192 | +# | |
193 | +###### | |
194 | +#Подання пропозицій | |
195 | + | |
196 | +Неможливість подати цінову пропозицію до початку періоду подачі пропозицій | |
197 | + [Tags] ${USERS.users['${provider}'].broker}: Можливість подати цінову пропозицію | |
198 | + ${bid}= test lots bid data | |
199 | + Log ${bid} | |
200 | + ${bidresponses}= Create Dictionary | |
201 | + ${bid_before_bidperiod_resp}= Викликати для учасника ${provider} Подати цінову пропозицію shouldfail ${TENDER['TENDER_UAID']} ${bid} | |
202 | + Set To Dictionary ${bidresponses} bid_before_bidperiod_resp ${bid_before_bidperiod_resp} | |
203 | + Set To Dictionary ${USERS.users['${provider}']} bidresponses ${bidresponses} | |
204 | + log ${USERS.users['${provider}']} | |
205 | + | |
206 | +Неможливість подати цінову пропозицію без прив’язки до лоту | |
207 | + [Tags] ${USERS.users['${provider}'].broker}: Можливість подати цінову пропозицію | |
208 | + Дочекатись дати початку прийому пропозицій | |
209 | + ${bid}= test bid data | |
210 | + Log ${bid} | |
211 | + ${bidresponses}= Create Dictionary | |
212 | + ${no_lot_bid_resp}= Викликати для учасника ${provider} Подати цінову пропозицію shouldfail ${TENDER['TENDER_UAID']} ${bid} | |
213 | + Set To Dictionary ${bidresponses} no_lot_bid_resp ${no_lot_bid_resp} | |
214 | + Set To Dictionary ${USERS.users['${provider}']} bidresponses ${bidresponses} | |
215 | + log ${USERS.users['${provider}']} | |
216 | + | |
217 | +Подати цінову пропозицію першим учасником | |
218 | + [Tags] ${USERS.users['${provider}'].broker}: Можливість подати цінову пропозицію | |
219 | + ${bid}= test lots bid data | |
220 | + Log ${bid} | |
221 | + ${biddingresponse0}= Викликати для учасника ${provider} Подати цінову пропозицію ${TENDER['TENDER_UAID']} ${bid} | |
222 | + Set Global Variable ${biddingresponse0} | |
223 | + log ${biddingresponse0} | |
224 | + | |
225 | +Можливість скасувати цінову пропозицію | |
226 | + [Tags] ${USERS.users['${provider}'].broker}: Можливість скасувати цінову пропозицію | |
227 | + ${biddingresponse_0}= Викликати для учасника ${provider} Скасувати цінову пропозицію ${TENDER['TENDER_UAID']} ${biddingresponse0} | |
228 | + | |
229 | +Подати повторно цінову пропозицію першим учасником | |
230 | + [Tags] ${USERS.users['${provider}'].broker}: Можливість подати цінову пропозицію | |
231 | + Дочекатись дати початку прийому пропозицій | |
232 | + ${bid}= test lots bid data | |
233 | + Log ${bid} | |
234 | + ${resp}= Викликати для учасника ${provider} Подати цінову пропозицію ${TENDER['TENDER_UAID']} ${bid} | |
235 | + Set To Dictionary ${USERS.users['${provider}'].bidresponses} resp ${resp} | |
236 | + log ${resp} | |
237 | + log ${USERS.users['${provider}'].bidresponses} | |
238 | + | |
239 | +Можливість змінити повторну цінову пропозицію до 2000 | |
240 | + [Tags] ${USERS.users['${provider}'].broker}: Можливість змінити цінову пропозицію | |
241 | + Set To Dictionary ${USERS.users['${provider}'].bidresponses['resp'].data.lotValues[0].value} amount 2000 | |
242 | + Log ${USERS.users['${provider}'].bidresponses['resp'].data.lotValues[0].value} | |
243 | + ${fixbidto50000resp}= Викликати для учасника ${provider} Змінити цінову пропозицію ${TENDER['TENDER_UAID']} ${USERS.users['${provider}'].bidresponses['resp']} | |
244 | + Set To Dictionary ${USERS.users['${provider}'].bidresponses} fixbidto50000resp ${fixbidto50000resp} | |
245 | + log ${fixbidto50000resp} | |
246 | + | |
247 | +Можливість змінити повторну цінову пропозицію до 100 | |
248 | + [Tags] ${USERS.users['${provider}'].broker}: Можливість змінити цінову пропозицію | |
249 | + Set To Dictionary ${USERS.users['${provider}'].bidresponses['resp'].data.lotValues[0].value} amount 100 | |
250 | + Log ${USERS.users['${provider}'].bidresponses['fixbidto50000resp'].data.lotValues[0].value} | |
251 | + ${fixbidto10resp}= Викликати для учасника ${provider} Змінити цінову пропозицію ${TENDER['TENDER_UAID']} ${USERS.users['${provider}'].bidresponses['resp']} | |
252 | + Set To Dictionary ${USERS.users['${provider}'].bidresponses} fixbidto10resp ${fixbidto10resp} | |
253 | + log ${fixbidto10resp} | |
254 | + | |
255 | +Подати цінову пропозицію другим учасником | |
256 | + [Tags] ${USERS.users['${provider1}'].broker}: Можливість подати цінову пропозицію | |
257 | + Дочекатись дати початку прийому пропозицій | |
258 | + ${bid}= test lots bid data | |
259 | + Log ${bid} | |
260 | + ${bidresponses}= Create Dictionary | |
261 | + ${resp}= Викликати для учасника ${provider1} Подати цінову пропозицію ${TENDER['TENDER_UAID']} ${bid} | |
262 | + Set To Dictionary ${bidresponses} resp ${resp} | |
263 | + Set To Dictionary ${USERS.users['${provider1}']} bidresponses ${bidresponses} | |
264 | + log ${resp} | |
265 | + log ${USERS.users['${provider1}'].bidresponses} | |
266 | + | |
267 | +Неможливість побачити цінові пропозиції учасників під час прийому пропозицій | |
268 | + [Tags] ${USERS.users['${viewer}'].broker}: Можливість подати цінову пропозицію | |
269 | + ${bids}= Викликати для учасника ${viewer} Отримати інформацію із тендера bids | |
270 | + Should Be Equal ${bids} ${None} | |
271 | + | |
272 | +Неможливість змінити цінову пропозицію до 50000 після закінчення прийому пропозицій | |
273 | + [Tags] ${USERS.users['${provider1}'].broker}: Неможливість змінити цінову пропозицію до 50000 після закінчення прийому пропозицій | |
274 | + Дочекатись дати закінчення прийому пропозицій | |
275 | + Set To Dictionary ${USERS.users['${provider1}'].bidresponses['resp'].data.lotValues[0].value} amount 50000 | |
276 | + Log ${USERS.users['${provider1}'].bidresponses['resp'].data.lotValues[0].value} | |
277 | + ${failfixbidto50000resp}= Викликати для учасника ${provider1} Змінити цінову пропозицію shouldfail ${TENDER['TENDER_UAID']} ${USERS.users['${provider1}'].bidresponses['resp']} | |
278 | + Set To Dictionary ${USERS.users['${provider1}'].bidresponses} failfixbidto50000resp ${failfixbidto50000resp} | |
279 | + log ${failfixbidto50000resp} | |
280 | + | |
281 | +Неможливість змінити цінову пропозицію до 1 після закінчення прийому пропозицій | |
282 | + [Tags] ${USERS.users['${provider1}'].broker}: Неможливість змінити цінову пропозицію до 1 після закінчення прийому пропозицій | |
283 | + Set To Dictionary ${USERS.users['${provider1}'].bidresponses['resp'].data.lotValues[0].value} amount 1 | |
284 | + Log ${USERS.users['${provider1}'].bidresponses['resp'].data.lotValues[0].value} | |
285 | + ${failfixbidto1resp}= Викликати для учасника ${provider1} Змінити цінову пропозицію shouldfail ${TENDER['TENDER_UAID']} ${USERS.users['${provider1}'].bidresponses['resp']} | |
286 | + Set To Dictionary ${USERS.users['${provider1}'].bidresponses} failfixbidto1resp ${failfixbidto1resp} | |
287 | + log ${failfixbidto1resp} | |
288 | + | |
289 | +Неможливість скасувати цінову пропозицію | |
290 | + [Tags] ${USERS.users['${provider1}'].broker}: Можливість скасувати цінову пропозицію | |
291 | + ${biddingresponse}= Викликати для учасника ${provider1} Скасувати цінову пропозицію shouldfail ${TENDER['TENDER_UAID']} ${USERS.users['${provider1}'].bidresponses['resp']} | |
292 | + | |
293 | +Отримання тендера після закінчення прийому пропозицій | |
294 | + Дочекатись синхронізації з майданчиком ${viewer} | |
295 | + Викликати для учасника ${viewer} Пошук тендера по ідентифікатору ${TENDER['TENDER_UAID']} | ... | ... |
... | ... | @@ -14,13 +14,17 @@ from robot.output.loggerhelper import Message |
14 | 14 | # can access them by simply importing library "service_keywords". |
15 | 15 | # Please ignore the warning given by Flake8 or other linter. |
16 | 16 | from .initial_data import ( |
17 | - auction_bid, create_fake_doc, | |
18 | - test_award_data, test_bid_data, test_complaint_data, | |
19 | - test_complaint_reply_data, test_question_answer_data, | |
20 | - test_question_data, test_tender_data, test_tender_data_multiple_lots | |
17 | + auction_bid, create_fake_doc, test_award_data, test_bid_data, | |
18 | + test_bid_data_meat_tender, test_complaint_data, test_complaint_reply_data, | |
19 | + test_invalid_features_data, test_item_data, test_lot_complaint_data, | |
20 | + test_lot_data, test_lot_document_data, test_lot_question_data, | |
21 | + test_lots_bid_data, test_meat_tender_data, test_question_answer_data, | |
22 | + test_question_data, test_tender_data, test_tender_data_multiple_items, | |
23 | + test_tender_data_multiple_lots | |
21 | 24 | ) |
22 | 25 | from .local_time import get_now, TZ |
23 | 26 | import os |
27 | +from barbecue import chef | |
24 | 28 | |
25 | 29 | |
26 | 30 | def get_current_tzdate(): |
... | ... | @@ -101,7 +105,7 @@ def prepare_test_tender_data(period_intervals, mode): |
101 | 105 | if mode == 'single': |
102 | 106 | return munchify({'data': test_tender_data(period_intervals)}) |
103 | 107 | elif mode == 'multi': |
104 | - return munchify({'data': test_tender_data_multiple_lots(period_intervals)}) | |
108 | + return munchify({'data': test_tender_data_multiple_items(period_intervals)}) | |
105 | 109 | raise ValueError('Invalid mode for test_tender_data') |
106 | 110 | |
107 | 111 | ... | ... |
Please
register
or
login
to post a comment