Commit d1af3f16a933b7ddb17b0a5910d599bc402a9daa
Committed by
GitHub
Merge pull request #456 from OrysiaDrabych/defense
OpenUA_defense procedure
Showing
10 changed files
with
193 additions
and
19 deletions
| ... | ... | @@ -14,9 +14,12 @@ Resource base_keywords.robot |
| 14 | 14 | Require Failure ${tender_owner} Внести зміни в тендер ${TENDER['TENDER_UAID']} description description |
| 15 | 15 | |
| 16 | 16 | |
| 17 | -Можливість продовжити період подання пропозиції на 7 днів | |
| 18 | - ${endDate}= add_minutes_to_date ${USERS.users['${tender_owner}'].tender_data.data.tenderPeriod.endDate} 7 | |
| 17 | +Можливість продовжити період подання пропозиції на ${number_of_days} днів | |
| 18 | + ${period_intervals}= compute_intrs ${BROKERS} ${used_brokers} | |
| 19 | + ${number_of_minutes}= get_number_of_minutes ${number_of_days} ${period_intervals.${MODE}.accelerator} | |
| 20 | + ${endDate}= add_minutes_to_date ${USERS.users['${tender_owner}'].tender_data.data.tenderPeriod.endDate} ${number_of_minutes} | |
| 19 | 21 | Можливість змінити поле tenderPeriod.endDate тендера на ${endDate} |
| 22 | + Remove From Dictionary ${USERS.users['${tender_owner}'].tender_data.data.tenderPeriod} endDate | |
| 20 | 23 | |
| 21 | 24 | ############################################################################################## |
| 22 | 25 | # BIDDING |
| ... | ... | @@ -31,7 +34,7 @@ Resource base_keywords.robot |
| 31 | 34 | |
| 32 | 35 | Можливість підтвердити цінову пропозицію учасником ${username} |
| 33 | 36 | ${status}= Run Keyword IF '${MODE}'=='openeu' Set Variable pending |
| 34 | - ... ELSE IF '${MODE}'=='openua' Set Variable active | |
| 37 | + ... ELSE IF '${MODE}'=='openua' or '${MODE}'=='openua_defense' Set Variable active | |
| 35 | 38 | Run As ${username} Змінити цінову пропозицію ${TENDER['TENDER_UAID']} status ${status} |
| 36 | 39 | |
| 37 | 40 | ############################################################################################## | ... | ... |
| ... | ... | @@ -683,10 +683,10 @@ Resource resource.robot |
| 683 | 683 | Set To Dictionary ${USERS.users['${provider}']} claim_data ${claim_data} |
| 684 | 684 | |
| 685 | 685 | |
| 686 | -Можливість створити вимогу про виправлення умов закупівлі із документацією | |
| 686 | +Можливість створити вимогу про виправлення умов закупівлі із документацією користувачем ${username} | |
| 687 | 687 | ${claim}= Підготувати дані для подання вимоги |
| 688 | 688 | ${file_path} ${file_name} ${file_content}= create_fake_doc |
| 689 | - ${complaintID}= Run As ${provider} | |
| 689 | + ${complaintID}= Run As ${username} | |
| 690 | 690 | ... Створити вимогу про виправлення умов закупівлі |
| 691 | 691 | ... ${TENDER['TENDER_UAID']} |
| 692 | 692 | ... ${claim} |
| ... | ... | @@ -699,7 +699,7 @@ Resource resource.robot |
| 699 | 699 | ... doc_id=${doc_id} |
| 700 | 700 | ... doc_content=${file_content} |
| 701 | 701 | ${claim_data}= munch_dict arg=${claim_data} |
| 702 | - Set To Dictionary ${USERS.users['${provider}']} tender_claim_data ${claim_data} | |
| 702 | + Set To Dictionary ${USERS.users['${username}']} tender_claim_data ${claim_data} | |
| 703 | 703 | Remove File ${file_path} |
| 704 | 704 | |
| 705 | 705 | ... | ... |
| ... | ... | @@ -64,7 +64,7 @@ ${award_index} ${0} |
| 64 | 64 | ... critical |
| 65 | 65 | [Setup] Дочекатись синхронізації з майданчиком ${provider} |
| 66 | 66 | [Teardown] Оновити LAST_MODIFICATION_DATE |
| 67 | - Можливість створити вимогу про виправлення умов закупівлі із документацією | |
| 67 | + Можливість створити вимогу про виправлення умов закупівлі із документацією користувачем ${provider} | |
| 68 | 68 | |
| 69 | 69 | |
| 70 | 70 | Відображення опису вимоги |
| ... | ... | @@ -262,7 +262,7 @@ ${award_index} ${0} |
| 262 | 262 | ... tender_complaint |
| 263 | 263 | ... critical |
| 264 | 264 | [Teardown] Оновити LAST_MODIFICATION_DATE |
| 265 | - Можливість створити вимогу про виправлення умов закупівлі із документацією | |
| 265 | + Можливість створити вимогу про виправлення умов закупівлі із документацією користувачем ${provider} | |
| 266 | 266 | Можливість скасувати вимогу про виправлення умов закупівлі |
| 267 | 267 | |
| 268 | 268 | |
| ... | ... | @@ -298,7 +298,7 @@ ${award_index} ${0} |
| 298 | 298 | ... tender_complaint |
| 299 | 299 | ... critical |
| 300 | 300 | [Teardown] Оновити LAST_MODIFICATION_DATE |
| 301 | - Можливість створити вимогу про виправлення умов закупівлі із документацією | |
| 301 | + Можливість створити вимогу про виправлення умов закупівлі із документацією користувачем ${provider} | |
| 302 | 302 | Дочекатись синхронізації з майданчиком ${tender_owner} |
| 303 | 303 | Можливість відповісти на вимогу про виправлення умов закупівлі |
| 304 | 304 | Дочекатись синхронізації з майданчиком ${provider} |
| ... | ... | @@ -340,7 +340,7 @@ ${award_index} ${0} |
| 340 | 340 | ... tender_complaint |
| 341 | 341 | ... critical |
| 342 | 342 | [Teardown] Оновити LAST_MODIFICATION_DATE |
| 343 | - Можливість створити вимогу про виправлення умов закупівлі із документацією | |
| 343 | + Можливість створити вимогу про виправлення умов закупівлі із документацією користувачем ${provider} | |
| 344 | 344 | Дочекатись синхронізації з майданчиком ${tender_owner} |
| 345 | 345 | Можливість відповісти на вимогу про виправлення умов закупівлі |
| 346 | 346 | Дочекатись синхронізації з майданчиком ${provider} | ... | ... |
| ... | ... | @@ -7,7 +7,7 @@ Default: |
| 7 | 7 | # |
| 8 | 8 | # Each field is a mode name |
| 9 | 9 | # Current modes are: |
| 10 | - # single, multi, limited, openua, openeu | |
| 10 | + # single, multi, limited, openua, openeu, openua_defense | |
| 11 | 11 | # |
| 12 | 12 | # See `prepare_test_tender_data()` |
| 13 | 13 | # in `service_keywords.py` for more details |
| ... | ... | @@ -32,12 +32,15 @@ Default: |
| 32 | 32 | openua: |
| 33 | 33 | accelerator: 1440 |
| 34 | 34 | tender: [0, 15] |
| 35 | - # Please remember that openUA and openEU procedures | |
| 35 | + # Please remember that openUA, openEU and openUA_defense procedures | |
| 36 | 36 | # forbid anyone to set or modify enquiryPeriod |
| 37 | 37 | # (it is set automatically) |
| 38 | 38 | openeu: |
| 39 | 39 | accelerator: 1440 |
| 40 | 40 | tender: [0, 30] |
| 41 | + openua_defense: | |
| 42 | + accelerator: 1440 | |
| 43 | + tender: [0, 6] | |
| 41 | 44 | open_competitive_dialogue: |
| 42 | 45 | accelerator: 1440 |
| 43 | 46 | tender: [0, 30] |
| ... | ... | @@ -52,6 +55,8 @@ Quinta: |
| 52 | 55 | tender: [1, 30] |
| 53 | 56 | openeu: |
| 54 | 57 | tender: [1, 35] |
| 58 | + openua_defense: | |
| 59 | + tender: [0, 30] | |
| 55 | 60 | open_competitive_dialogue: |
| 56 | 61 | accelerator: 1440 |
| 57 | 62 | tender: [0, 30] | ... | ... |
| ... | ... | @@ -50,6 +50,8 @@ def subtraction(value1, value2): |
| 50 | 50 | def create_fake_value_amount(): |
| 51 | 51 | return fake.random_int(min=1) |
| 52 | 52 | |
| 53 | +def get_number_of_minutes(days, accelerator): | |
| 54 | + return 1440 * int(days) / accelerator | |
| 53 | 55 | |
| 54 | 56 | def field_with_id(prefix, sentence): |
| 55 | 57 | return u"{}-{}: {}".format(prefix, fake.uuid4()[:8], sentence) |
| ... | ... | @@ -466,6 +468,16 @@ def test_tender_data_openua(params, submissionMethodDetails): |
| 466 | 468 | return data |
| 467 | 469 | |
| 468 | 470 | |
| 471 | +def test_tender_data_openua_defense(params, submissionMethodDetails): | |
| 472 | + """We should not provide any values for `enquiryPeriod` when creating | |
| 473 | + an openUA, openEU or openUA_defense procedure. That field should not be present at all. | |
| 474 | + Therefore, we pass a nondefault list of periods to `test_tender_data()`.""" | |
| 475 | + data = test_tender_data(params, ('tender',), submissionMethodDetails) | |
| 476 | + data['procurementMethodType'] = 'aboveThresholdUA.defense' | |
| 477 | + data['procuringEntity']['kind'] = 'defense' | |
| 478 | + return data | |
| 479 | + | |
| 480 | + | |
| 469 | 481 | def test_tender_data_openeu(params, submissionMethodDetails): |
| 470 | 482 | # We should not provide any values for `enquiryPeriod` when creating |
| 471 | 483 | # an openUA or openEU procedure. That field should not be present at all. | ... | ... |
| ... | ... | @@ -761,6 +761,20 @@ Require Failure |
| 761 | 761 | ... ${next_status} |
| 762 | 762 | |
| 763 | 763 | |
| 764 | +Дочекатись дати закінчення періоду уточнень | |
| 765 | + [Arguments] ${username} | |
| 766 | + Дочекатись дати ${USERS.users['${username}'].tender_data.data.enquiryPeriod.endDate} | |
| 767 | + Оновити LAST_MODIFICATION_DATE | |
| 768 | + Дочекатись синхронізації з майданчиком ${username} | |
| 769 | + | |
| 770 | + | |
| 771 | +Дочекатись дати закінчення періоду відповідей на запитання | |
| 772 | + [Arguments] ${username} | |
| 773 | + Дочекатись дати ${USERS.users['${username}'].tender_data.data.enquiryPeriod.clarificationsUntil} | |
| 774 | + Оновити LAST_MODIFICATION_DATE | |
| 775 | + Дочекатись синхронізації з майданчиком ${username} | |
| 776 | + | |
| 777 | + | |
| 764 | 778 | Звірити статус тендера |
| 765 | 779 | [Arguments] ${username} ${tender_uaid} ${left} |
| 766 | 780 | ${right}= Run as ${username} Отримати інформацію із тендера ${tender_uaid} status | ... | ... |
| ... | ... | @@ -943,7 +943,7 @@ ${ITEM_MEAT} ${True} |
| 943 | 943 | ... create_tender_claim |
| 944 | 944 | [Setup] Дочекатись синхронізації з майданчиком ${provider} |
| 945 | 945 | [Teardown] Оновити LAST_MODIFICATION_DATE |
| 946 | - Можливість створити вимогу про виправлення умов закупівлі із документацією | |
| 946 | + Можливість створити вимогу про виправлення умов закупівлі із документацією користувачем ${provider} | |
| 947 | 947 | |
| 948 | 948 | |
| 949 | 949 | Відображення опису вимоги про виправлення умов закупівлі |
| ... | ... | @@ -1454,6 +1454,66 @@ ${ITEM_MEAT} ${True} |
| 1454 | 1454 | Можливість завантажити eligibility_documents документ до пропозиції учасником ${provider} |
| 1455 | 1455 | |
| 1456 | 1456 | |
| 1457 | +Неможливість задати запитання на тендер після завершення періоду уточнень | |
| 1458 | + [Tags] ${USERS.users['${provider}'].broker}: Задання запитання | |
| 1459 | + ... provider | |
| 1460 | + ... ${USERS.users['${provider}'].broker} | |
| 1461 | + ... ask_question_after_enquiry_period | |
| 1462 | + [Setup] Дочекатись дати закінчення періоду уточнень ${provider} | |
| 1463 | + Run Keyword And Expect Error * Можливість задати запитання на тендер користувачем ${provider} | |
| 1464 | + | |
| 1465 | + | |
| 1466 | +Неможливість подати вимогу про виправлення умов закупівлі після закінчення періоду подання скарг | |
| 1467 | + [Tags] ${USERS.users['${provider}'].broker}: Процес оскарження | |
| 1468 | + ... provider | |
| 1469 | + ... ${USERS.users['${provider}'].broker} | |
| 1470 | + ... create_tender_complaint_after_complaint_period | |
| 1471 | + [Setup] Дочекатись дати закінчення періоду подання скарг ${provider} | |
| 1472 | + Run Keyword And Expect Error * Можливість створити вимогу про виправлення умов закупівлі із документацією користувачем ${provider} | |
| 1473 | + | |
| 1474 | + | |
| 1475 | +Неможливість відповісти на запитання до тендера після завершення періоду відповідей | |
| 1476 | + [Tags] ${USERS.users['${tender_owner}'].broker}: Відповідь на запитання | |
| 1477 | + ... tender_owner | |
| 1478 | + ... ${USERS.users['${tender_owner}'].broker} | |
| 1479 | + ... answer_question_after_clarifications_period | |
| 1480 | + [Setup] Дочекатись дати закінчення періоду відповідей на запитання ${tender_owner} | |
| 1481 | + Run Keyword And Expect Error * Можливість відповісти на запитання на тендер | |
| 1482 | + | |
| 1483 | + | |
| 1484 | +Неможливість редагувати однопредметний тендер менше ніж за 2 дні до завершення періоду подання пропозицій | |
| 1485 | + [Tags] ${USERS.users['${tender_owner}'].broker}: Можливість редагувати тендер | |
| 1486 | + ... tender_owner | |
| 1487 | + ... ${USERS.users['${tender_owner}'].broker} | |
| 1488 | + ... modify_tender_in_tendering_period | |
| 1489 | + ${new_description}= create_fake_sentence | |
| 1490 | + Run Keyword And Expect Error * Можливість змінити поле description тендера на ${new_description} | |
| 1491 | + | |
| 1492 | + | |
| 1493 | +Можливість відповісти на запитання до тендера після продовження періоду прийому пропозицій | |
| 1494 | + [Tags] ${USERS.users['${tender_owner}'].broker}: Відповідь на запитання | |
| 1495 | + ... tender_owner | |
| 1496 | + ... ${USERS.users['${tender_owner}'].broker} | |
| 1497 | + ... answer_question_after_clarifications_period | |
| 1498 | + ... extend_enquiry_period | |
| 1499 | + [Setup] Дочекатись синхронізації з майданчиком ${tender_owner} | |
| 1500 | + [Teardown] Оновити LAST_MODIFICATION_DATE | |
| 1501 | + Можливість продовжити період подання пропозиції на 3 днів | |
| 1502 | + Можливість відповісти на запитання на тендер | |
| 1503 | + | |
| 1504 | + | |
| 1505 | +Можливість редагувати тендер після продовження періоду прийому пропозицій | |
| 1506 | + [Tags] ${USERS.users['${tender_owner}'].broker}: Можливість редагувати тендер | |
| 1507 | + ... tender_owner | |
| 1508 | + ... ${USERS.users['${tender_owner}'].broker} | |
| 1509 | + ... modify_tender_in_tendering_period | |
| 1510 | + [Setup] Дочекатись синхронізації з майданчиком ${tender_owner} | |
| 1511 | + [Teardown] Оновити LAST_MODIFICATION_DATE | |
| 1512 | + ${new_description}= create_fake_sentence | |
| 1513 | + Можливість змінити поле description тендера на ${new_description} | |
| 1514 | + Remove From Dictionary ${USERS.users['${tender_owner}'].tender_data.data} description | |
| 1515 | + | |
| 1516 | + | |
| 1457 | 1517 | Можливість редагувати однопредметний тендер більше ніж за 7 днів до завершення періоду подання пропозицій |
| 1458 | 1518 | [Tags] ${USERS.users['${tender_owner}'].broker}: Можливість редагувати тендер |
| 1459 | 1519 | ... tender_owner |
| ... | ... | @@ -1540,12 +1600,12 @@ ${ITEM_MEAT} ${True} |
| 1540 | 1600 | ############################################################################################## |
| 1541 | 1601 | |
| 1542 | 1602 | Неможливість завантажити документ першим учасником після закінчення прийому пропозицій |
| 1543 | - [Tags] ${USERS.users['${provider1}'].broker}: Подання пропозиції | |
| 1603 | + [Tags] ${USERS.users['${provider}'].broker}: Подання пропозиції | |
| 1544 | 1604 | ... provider |
| 1545 | - ... ${USERS.users['${provider1}'].broker} | |
| 1605 | + ... ${USERS.users['${provider}'].broker} | |
| 1546 | 1606 | ... add_bid_doc_after_tendering_period_by_provider |
| 1547 | 1607 | ... non-critical |
| 1548 | - [Setup] Дочекатись дати закінчення прийому пропозицій ${viewer} ${TENDER['TENDER_UAID']} | |
| 1608 | + [Setup] Дочекатись дати закінчення прийому пропозицій ${provider} ${TENDER['TENDER_UAID']} | |
| 1549 | 1609 | Run Keyword And Expect Error * Можливість завантажити документ в пропозицію користувачем ${provider} |
| 1550 | 1610 | |
| 1551 | 1611 | ... | ... |
| ... | ... | @@ -212,10 +212,11 @@ ${award_index} ${0} |
| 212 | 212 | ############################################################################################## |
| 213 | 213 | |
| 214 | 214 | Можливість дочекатися перевірки переможців по ЄДРПОУ |
| 215 | - [Tags] ${USERS.users['${viewer}'].broker}: Перевірка користувача по ЄДРПОУ | |
| 215 | + [Tags] ${USERS.users['${tender_owner}'].broker}: Перевірка користувача по ЄДРПОУ | |
| 216 | 216 | ... tender_owner |
| 217 | 217 | ... ${USERS.users['${tender_owner}'].broker} |
| 218 | 218 | ... qualifications_check_by_edrpou |
| 219 | + [Setup] Дочекатись дати початку періоду кваліфікації ${tender_owner} ${TENDER['TENDER_UAID']} | |
| 219 | 220 | Дочекатися перевірки кваліфікацій ${tender_owner} ${TENDER['TENDER_UAID']} |
| 220 | 221 | |
| 221 | 222 | ... | ... |
| ... | ... | @@ -47,14 +47,16 @@ from .initial_data import ( |
| 47 | 47 | test_tender_data_openeu, |
| 48 | 48 | test_tender_data_openua, |
| 49 | 49 | test_tender_data_planning, |
| 50 | + test_tender_data_openua_defense, | |
| 50 | 51 | create_fake_title, |
| 51 | 52 | create_fake_value_amount, |
| 52 | 53 | test_change_document_data, |
| 53 | 54 | convert_amount, |
| 55 | + get_number_of_minutes, | |
| 54 | 56 | ) |
| 55 | 57 | from barbecue import chef |
| 56 | 58 | from restkit import request |
| 57 | -# End of non-pointless imports | |
| 59 | +# End of non-pointless import | |
| 58 | 60 | import os |
| 59 | 61 | import re |
| 60 | 62 | |
| ... | ... | @@ -315,6 +317,9 @@ def prepare_test_tender_data(procedure_intervals, |
| 315 | 317 | elif mode == 'openua': |
| 316 | 318 | return munchify({'data': test_tender_data_openua( |
| 317 | 319 | tender_parameters, submissionMethodDetails)}) |
| 320 | + elif mode == 'openua_defense': | |
| 321 | + return munchify({'data': test_tender_data_openua_defense( | |
| 322 | + tender_parameters, submissionMethodDetails)}) | |
| 318 | 323 | elif mode == 'open_competitive_dialogue': |
| 319 | 324 | return munchify({'data': test_tender_data_competitive_dialogue( |
| 320 | 325 | tender_parameters, submissionMethodDetails)}) |
| ... | ... | @@ -511,7 +516,13 @@ def get_object_by_id(data, given_object_id, slice_element, object_id): |
| 511 | 516 | |
| 512 | 517 | def generate_test_bid_data(tender_data): |
| 513 | 518 | bid = test_bid_data() |
| 514 | - if tender_data.get('procurementMethodType', '')[:-2] in ('aboveThreshold', 'competitiveDialogue'): | |
| 519 | + if tender_data.get('procurementMethodType', '') in ( | |
| 520 | + 'aboveThresholdUA', | |
| 521 | + 'aboveThresholdUA.defense', | |
| 522 | + 'aboveThresholdEU', | |
| 523 | + 'competitiveDialogueUA' | |
| 524 | + 'competitiveDialogueEU' | |
| 525 | + ): | |
| 515 | 526 | bid.data.selfEligible = True |
| 516 | 527 | bid.data.selfQualified = True |
| 517 | 528 | if 'lots' in tender_data: | ... | ... |
| 1 | +-v MODE:openua_defense | |
| 2 | + | |
| 3 | +-v NUMBER_OF_ITEMS:1 | |
| 4 | +-v NUMBER_OF_LOTS:1 | |
| 5 | + | |
| 6 | +-v TENDER_MEAT:True | |
| 7 | +-v ITEM_MEAT:True | |
| 8 | +-v LOT_MEAT:True | |
| 9 | + | |
| 10 | + | |
| 11 | +-i create_tender | |
| 12 | +-i find_tender | |
| 13 | +-i tender_view | |
| 14 | +-i meat_view | |
| 15 | +-i lot_view | |
| 16 | +-i open_tender_view | |
| 17 | + | |
| 18 | +-i extend_tendering_period | |
| 19 | +-i add_tender_doc | |
| 20 | +-i add_lot_doc | |
| 21 | +-i modify_lot_value_amount | |
| 22 | +-i add_lot | |
| 23 | + -i delete_lot | |
| 24 | +-i add_item | |
| 25 | + -i delete_item | |
| 26 | +-i add_tender_meat | |
| 27 | + -i delete_tender_meat | |
| 28 | +-i add_lot_meat | |
| 29 | + -i delete_lot_meat | |
| 30 | +-i add_item_meat | |
| 31 | + -i delete_item_meat | |
| 32 | + | |
| 33 | +-i ask_question_to_tender | |
| 34 | +-i ask_question_to_item | |
| 35 | + -i answer_question_to_item | |
| 36 | +-i ask_question_to_lot | |
| 37 | + -i answer_question_to_lot | |
| 38 | +-i modify_tender_after_questions | |
| 39 | +-i modify_lot_after_questions | |
| 40 | + | |
| 41 | +-i create_tender_claim | |
| 42 | + -i answer_tender_claim | |
| 43 | + -i resolve_tender_claim | |
| 44 | +-i modify_tender_after_claim | |
| 45 | + | |
| 46 | +-i create_lot_claim | |
| 47 | + -i answer_lot_claim | |
| 48 | + -i resolve_lot_claim | |
| 49 | +-i modify_lot_after_claim | |
| 50 | + | |
| 51 | +-i make_bid_without_related_lot | |
| 52 | +-i make_bid_without_parameters | |
| 53 | +-i make_bid_by_provider | |
| 54 | + -i modify_bid_by_provider | |
| 55 | + -i add_doc_to_bid_by_provider | |
| 56 | +-i ask_question_after_enquiry_period | |
| 57 | +-i create_tender_complaint_after_complaint_period | |
| 58 | +-i answer_question_after_clarifications_period | |
| 59 | +-i modify_tender_in_tendering_period | |
| 60 | + -i open_confirm_first_bid | |
| 61 | +-i bid_view_in_tendering_period | |
| 62 | + | |
| 63 | +-i add_bid_doc_after_tendering_period_by_provider | |
| 64 | + | |
| 65 | +-i qualification_add_doc_to_first_award | |
| 66 | +-i qualification_approve_first_award | |
| 67 | + | |
| 68 | +-i contract_sign | |
| \ No newline at end of file | ... | ... |
Please
register
or
login
to post a comment