Showing
10 changed files
with
278 additions
and
5 deletions
| @@ -82,4 +82,8 @@ Resource base_keywords.robot | @@ -82,4 +82,8 @@ Resource base_keywords.robot | ||
| 82 | 82 | ||
| 83 | 83 | ||
| 84 | Можливість перевести тендер на статус очікування обробки мостом | 84 | Можливість перевести тендер на статус очікування обробки мостом |
| 85 | - Run As ${tender_owner} Перевести тендер на статус очікування обробки мостом ${TENDER['TENDER_UAID']} | ||
| 85 | + Run As ${tender_owner} Перевести тендер на статус очікування обробки мостом ${TENDER['TENDER_UAID']} | ||
| 86 | + | ||
| 87 | + | ||
| 88 | +Можливість активувати другий етап | ||
| 89 | + Run As ${tender_owner} активувати другий етап ${TENDER['TENDER_UAID']} |
| @@ -39,6 +39,14 @@ Suite Teardown Test Suite Teardown | @@ -39,6 +39,14 @@ Suite Teardown Test Suite Teardown | ||
| 39 | Дочекатись дати початку аукціону ${viewer} | 39 | Дочекатись дати початку аукціону ${viewer} |
| 40 | 40 | ||
| 41 | 41 | ||
| 42 | +Можливість дочекатися початку аукціону на другому етапі | ||
| 43 | + [Tags] ${USERS.users['${viewer}'].broker}: Процес аукціону | ||
| 44 | + ... viewer | ||
| 45 | + ... ${USERS.users['${viewer}'].broker} | ||
| 46 | + ... auction_second_stage | ||
| 47 | + Дочекатись дати початку аукціону ${viewer} | ||
| 48 | + | ||
| 49 | + | ||
| 42 | Можливість вичитати посилання на аукціон для глядача | 50 | Можливість вичитати посилання на аукціон для глядача |
| 43 | [Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних аукціону | 51 | [Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних аукціону |
| 44 | ... viewer | 52 | ... viewer |
| @@ -47,6 +55,14 @@ Suite Teardown Test Suite Teardown | @@ -47,6 +55,14 @@ Suite Teardown Test Suite Teardown | ||
| 47 | Можливість вичитати посилання на аукціон для ${viewer} | 55 | Можливість вичитати посилання на аукціон для ${viewer} |
| 48 | 56 | ||
| 49 | 57 | ||
| 58 | +Можливість вичитати посилання на аукціон для глядача на другому етапі | ||
| 59 | + [Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних аукціону | ||
| 60 | + ... viewer | ||
| 61 | + ... ${USERS.users['${viewer}'].broker} | ||
| 62 | + ... auction_second_stage | ||
| 63 | + Можливість вичитати посилання на аукціон для ${viewer} | ||
| 64 | + | ||
| 65 | + | ||
| 50 | Можливість дочекатися завершення аукціону | 66 | Можливість дочекатися завершення аукціону |
| 51 | [Tags] ${USERS.users['${viewer}'].broker}: Процес аукціону | 67 | [Tags] ${USERS.users['${viewer}'].broker}: Процес аукціону |
| 52 | ... viewer | 68 | ... viewer |
| @@ -56,6 +72,15 @@ Suite Teardown Test Suite Teardown | @@ -56,6 +72,15 @@ Suite Teardown Test Suite Teardown | ||
| 56 | Дочекатись дати закінчення аукціону користувачем ${viewer} | 72 | Дочекатись дати закінчення аукціону користувачем ${viewer} |
| 57 | 73 | ||
| 58 | 74 | ||
| 75 | +Можливість дочекатися завершення аукціону на другому етапі | ||
| 76 | + [Tags] ${USERS.users['${viewer}'].broker}: Процес аукціону | ||
| 77 | + ... viewer | ||
| 78 | + ... ${USERS.users['${viewer}'].broker} | ||
| 79 | + ... auction_second_stage | ||
| 80 | + [Teardown] Оновити LAST_MODIFICATION_DATE | ||
| 81 | + Дочекатись дати закінчення аукціону користувачем ${viewer} | ||
| 82 | + | ||
| 83 | + | ||
| 59 | Відображення дати завершення аукціону | 84 | Відображення дати завершення аукціону |
| 60 | [Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних аукціону | 85 | [Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних аукціону |
| 61 | ... viewer | 86 | ... viewer |
| @@ -35,6 +35,16 @@ Resource resource.robot | @@ -35,6 +35,16 @@ Resource resource.robot | ||
| 35 | Run as ${username} Пошук тендера по ідентифікатору ${TENDER['TENDER_UAID']} | 35 | Run as ${username} Пошук тендера по ідентифікатору ${TENDER['TENDER_UAID']} |
| 36 | 36 | ||
| 37 | 37 | ||
| 38 | +Можливість знайти тендер по ідентифікатору ${ident} для користувача ${username} | ||
| 39 | + Дочекатись синхронізації з майданчиком ${username} | ||
| 40 | + Run as ${username} Пошук тендера по ідентифікатору ${ident} | ||
| 41 | + | ||
| 42 | + | ||
| 43 | +Можливість знайти тендер по ід ${ident} для користувача ${username} | ||
| 44 | + Дочекатись синхронізації з майданчиком ${username} | ||
| 45 | + Run as ${username} Пошук тендера по ід ${ident} | ||
| 46 | + | ||
| 47 | + | ||
| 38 | Можливість змінити поле ${field_name} тендера на ${field_value} | 48 | Можливість змінити поле ${field_name} тендера на ${field_value} |
| 39 | Run As ${tender_owner} Внести зміни в тендер ${TENDER['TENDER_UAID']} ${field_name} ${field_value} | 49 | Run As ${tender_owner} Внести зміни в тендер ${TENDER['TENDER_UAID']} ${field_name} ${field_value} |
| 40 | 50 | ||
| @@ -79,7 +89,19 @@ Resource resource.robot | @@ -79,7 +89,19 @@ Resource resource.robot | ||
| 79 | Звірити поле тендера ${username} ${TENDER['TENDER_UAID']} ${USERS.users['${tender_owner}'].initial_data} ${field} | 89 | Звірити поле тендера ${username} ${TENDER['TENDER_UAID']} ${USERS.users['${tender_owner}'].initial_data} ${field} |
| 80 | 90 | ||
| 81 | 91 | ||
| 82 | -Звірити відображення вмісту документа ${doc_id} із ${left} для користувача ${username} | 92 | +Оновити тендер ідентифікатор для всіх користувачей користувача ${username} ${tender_uaid} |
| 93 | + Дочекатись синхронізації з майданчиком ${username} | ||
| 94 | + Run as ${username} Пошук тендера по ідентифікатору ${tender_uaid} | ||
| 95 | + | ||
| 96 | + | ||
| 97 | +Отримати токен другого етапу та зберегти | ||
| 98 | + ${tender_uaid}= Отрмати новий токен ${tender_owner} ${USERS.users['${tender_owner}'].tender_data.data.stage2TenderID} | ||
| 99 | + Set to dictionary ${TENDER} TENDER_UAID=${tender_uaid} | ||
| 100 | + :FOR ${username} IN ${tender_owner} ${provider} ${provider1} ${viewer} | ||
| 101 | + \ Оновити тендер ідентифікатор для всіх користувачей користувача ${username} ${tender_uaid} | ||
| 102 | + | ||
| 103 | + | ||
| 104 | +Звірити відображення вмісту документа ${doc_id} з ${left} для користувача ${username} | ||
| 83 | ${file_name}= Run as ${username} Отримати документ ${TENDER['TENDER_UAID']} ${doc_id} | 105 | ${file_name}= Run as ${username} Отримати документ ${TENDER['TENDER_UAID']} ${doc_id} |
| 84 | ${right}= Get File ${OUTPUT_DIR}${/}${file_name} | 106 | ${right}= Get File ${OUTPUT_DIR}${/}${file_name} |
| 85 | Порівняти об'єкти ${left} ${right} | 107 | Порівняти об'єкти ${left} ${right} |
| @@ -837,6 +859,21 @@ Resource resource.robot | @@ -837,6 +859,21 @@ Resource resource.robot | ||
| 837 | Set To Dictionary ${USERS.users['${username}'].bidresponses} resp=${resp} | 859 | Set To Dictionary ${USERS.users['${username}'].bidresponses} resp=${resp} |
| 838 | 860 | ||
| 839 | 861 | ||
| 862 | +Можливість подати цінову пропозицію на другий етап ${index} користувачем ${username} | ||
| 863 | + ${bid}= Підготувати дані для подання пропозиції для другого етапу ${username} ${index} | ||
| 864 | + ${bidresponses}= Create Dictionary bid=${bid} | ||
| 865 | + Set To Dictionary ${USERS.users['${username}']} bidresponses=${bidresponses} | ||
| 866 | + ${lots}= Get Variable Value ${USERS.users['${username}'].tender_data.data.lots} ${None} | ||
| 867 | + ${lots_ids}= Run Keyword IF ${lots} | ||
| 868 | + ... Отримати ідентифікатори об’єктів ${username} lots | ||
| 869 | + ... ELSE Set Variable ${None} | ||
| 870 | + ${features}= Get Variable Value ${USERS.users['${username}'].tender_data.data.features} ${None} | ||
| 871 | + ${features_ids}= Run Keyword IF ${features} | ||
| 872 | + ... Отримати ідентифікатори об’єктів ${username} features | ||
| 873 | + ... ELSE Set Variable ${None} | ||
| 874 | + ${resp}= Run As ${username} Подати цінову пропозицію ${TENDER['TENDER_UAID']} ${bid} ${lots_ids} ${features_ids} | ||
| 875 | + Set To Dictionary ${USERS.users['${username}'].bidresponses} resp=${resp} | ||
| 876 | + | ||
| 840 | Неможливість подати цінову пропозицію без прив’язки до лоту користувачем ${username} | 877 | Неможливість подати цінову пропозицію без прив’язки до лоту користувачем ${username} |
| 841 | ${bid}= Підготувати дані для подання пропозиції ${username} | 878 | ${bid}= Підготувати дані для подання пропозиції ${username} |
| 842 | ${values}= Get Variable Value ${bid.data.lotValues[0]} | 879 | ${values}= Get Variable Value ${bid.data.lotValues[0]} |
| @@ -84,6 +84,12 @@ Library openprocurement_client_helper.py | @@ -84,6 +84,12 @@ Library openprocurement_client_helper.py | ||
| 84 | Log ${USERS.users['${username}'].tender_data} | 84 | Log ${USERS.users['${username}'].tender_data} |
| 85 | [return] ${tender.data.tenderID} | 85 | [return] ${tender.data.tenderID} |
| 86 | 86 | ||
| 87 | +Пошук тендера по ід | ||
| 88 | + [Arguments] ${username} ${tender_id} | ||
| 89 | + ${tender}= Call Method ${USERS.users['${username}'].client} get_tender ${tender_id} | ||
| 90 | + Set To Dictionary ${USERS.users['${username}']} second_stage_data=${tender} | ||
| 91 | + Log ${tender} | ||
| 92 | + [return] ${tender} | ||
| 87 | 93 | ||
| 88 | Пошук тендера по ідентифікатору | 94 | Пошук тендера по ідентифікатору |
| 89 | [Arguments] ${username} ${tender_uaid} | 95 | [Arguments] ${username} ${tender_uaid} |
| @@ -95,6 +101,16 @@ Library openprocurement_client_helper.py | @@ -95,6 +101,16 @@ Library openprocurement_client_helper.py | ||
| 95 | Log ${tender} | 101 | Log ${tender} |
| 96 | [return] ${tender} | 102 | [return] ${tender} |
| 97 | 103 | ||
| 104 | +Отрмати новий токен | ||
| 105 | + [Arguments] ${username} ${tender_id} | ||
| 106 | + ${response}= Call Method ${USERS.users['${username}'].client} credentials ${tender_id} ${USERS.users['${username}'].access_token} | ||
| 107 | + ${tender}= set_access_key ${response} ${response.access.token} | ||
| 108 | + Set To Dictionary ${USERS.users['${username}']} access_token=${response.access.token} | ||
| 109 | + Set To Dictionary ${USERS.users['${username}']} tender_data=${response} | ||
| 110 | + Log ${tender.data.tenderID} | ||
| 111 | + Set To Dictionary ${TENDER} TENDER_UAID=${response.data.tenderID} | ||
| 112 | + Log ${TENDER['TENDER_UAID']} | ||
| 113 | + [return] ${TENDER['TENDER_UAID']} | ||
| 98 | 114 | ||
| 99 | Оновити сторінку з тендером | 115 | Оновити сторінку з тендером |
| 100 | [Arguments] ${username} ${tender_uaid} | 116 | [Arguments] ${username} ${tender_uaid} |
| @@ -1037,3 +1053,20 @@ Library openprocurement_client_helper.py | @@ -1037,3 +1053,20 @@ Library openprocurement_client_helper.py | ||
| 1037 | ${reply}= Call Method ${USERS.users['${username}'].client} patch_tender ${tender} | 1053 | ${reply}= Call Method ${USERS.users['${username}'].client} patch_tender ${tender} |
| 1038 | Log ${reply} | 1054 | Log ${reply} |
| 1039 | [Return] ${reply} | 1055 | [Return] ${reply} |
| 1056 | + | ||
| 1057 | + | ||
| 1058 | +Активувати другий етап | ||
| 1059 | + [Documentation] | ||
| 1060 | + ... [Arguments] Username and tender uaid | ||
| 1061 | + ... | ||
| 1062 | + ... [Description] Find tender using uaid and call patch_tender | ||
| 1063 | + ... | ||
| 1064 | + ... [Return] Reply of API | ||
| 1065 | + [Arguments] ${username} ${tender_uaid} | ||
| 1066 | + ${internal_id}= openprocurement_client.Отримати internal id по UAid ${username} ${tender_uaid} | ||
| 1067 | + ${tender}= create_data_dict data.id ${internal_id} | ||
| 1068 | + ${tender}= set_access_key ${tender} ${USERS.users['${username}'].access_token} | ||
| 1069 | + set_to_object ${tender} data.status active.tendering | ||
| 1070 | + ${reply}= Call Method ${USERS.users['${username}'].client} patch_tender ${tender} | ||
| 1071 | + Log ${reply} | ||
| 1072 | + [Return] ${reply} |
| @@ -57,3 +57,33 @@ Suite Teardown Test Suite Teardown | @@ -57,3 +57,33 @@ Suite Teardown Test Suite Teardown | ||
| 57 | [Setup] Дочекатись синхронізації з майданчиком ${viewer} | 57 | [Setup] Дочекатись синхронізації з майданчиком ${viewer} |
| 58 | Run As ${viewer} Оновити сторінку з тендером ${TENDER['TENDER_UAID']} | 58 | Run As ${viewer} Оновити сторінку з тендером ${TENDER['TENDER_UAID']} |
| 59 | Звірити поле тендера із значенням ${viewer} ${TENDER['TENDER_UAID']} active contracts[-1].status | 59 | Звірити поле тендера із значенням ${viewer} ${TENDER['TENDER_UAID']} active contracts[-1].status |
| 60 | + | ||
| 61 | + | ||
| 62 | + | ||
| 63 | +Дочекатися закічення stand still періоду на другому етапі | ||
| 64 | + [Tags] ${USERS.users['${tender_owner}'].broker}: Процес укладання угоди | ||
| 65 | + ... tender_owner | ||
| 66 | + ... ${USERS.users['${tender_owner}'].broker} | ||
| 67 | + ... contract_sign_second_stage | ||
| 68 | + ${standstillEnd}= Get Variable Value ${USERS.users['${tender_owner}'].tender_data.data.awards[-1].complaintPeriod.endDate} | ||
| 69 | + Дочекатись дати ${standstillEnd} | ||
| 70 | + | ||
| 71 | + | ||
| 72 | +Можливість укласти угоду для закупівлі на другому етапі | ||
| 73 | + [Tags] ${USERS.users['${tender_owner}'].broker}: Процес укладання угоди | ||
| 74 | + ... tender_owner | ||
| 75 | + ... ${USERS.users['${tender_owner}'].broker} | ||
| 76 | + ... contract_sign_second_stage | ||
| 77 | + [Teardown] Оновити LAST_MODIFICATION_DATE | ||
| 78 | + Run As ${tender_owner} Підтвердити підписання контракту ${TENDER['TENDER_UAID']} -1 | ||
| 79 | + | ||
| 80 | + | ||
| 81 | +Відображення статусу підписаної угоди з постачальником закупівлі на другому етапі | ||
| 82 | + [Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних угоди | ||
| 83 | + ... viewer | ||
| 84 | + ... ${USERS.users['${viewer}'].broker} | ||
| 85 | + ... contract_sign_second_stage | ||
| 86 | + [Setup] Дочекатись синхронізації з майданчиком ${viewer} | ||
| 87 | + Run As ${viewer} Оновити сторінку з тендером ${TENDER['TENDER_UAID']} | ||
| 88 | + Звірити поле тендера із значенням ${viewer} ${TENDER['TENDER_UAID']} active contracts[-1].status | ||
| 89 | + |
| @@ -254,6 +254,11 @@ Get Broker Property By Username | @@ -254,6 +254,11 @@ Get Broker Property By Username | ||
| 254 | [Return] ${bid} | 254 | [Return] ${bid} |
| 255 | 255 | ||
| 256 | 256 | ||
| 257 | +Підготувати дані для подання пропозиції для другого етапу | ||
| 258 | + [Arguments] ${username} ${index}=0 | ||
| 259 | + ${bid}= generate_test_bid_data_second_stage ${USERS.users['${username}'].tender_data.data} ${index} | ||
| 260 | + [Return] ${bid} | ||
| 261 | + | ||
| 257 | Підготувати дані про постачальника | 262 | Підготувати дані про постачальника |
| 258 | [Arguments] ${username} | 263 | [Arguments] ${username} |
| 259 | ${supplier_data}= test_supplier_data | 264 | ${supplier_data}= test_supplier_data |
| @@ -1657,3 +1657,87 @@ ${ITEM_MEAT} ${True} | @@ -1657,3 +1657,87 @@ ${ITEM_MEAT} ${True} | ||
| 1657 | Дочекатися створення нового етапу мостом ${tender_owner} ${TENDER['TENDER_UAID']} | 1657 | Дочекатися створення нового етапу мостом ${tender_owner} ${TENDER['TENDER_UAID']} |
| 1658 | Звірити статус тендера ${tender_owner} ${TENDER['TENDER_UAID']} complete | 1658 | Звірити статус тендера ${tender_owner} ${TENDER['TENDER_UAID']} complete |
| 1659 | 1659 | ||
| 1660 | + | ||
| 1661 | +Отрмати дргуий етап | ||
| 1662 | + [Tags] ${USERS.user['${tender_owner}'].broker}: Отримати id нового тендеру | ||
| 1663 | + ... tender_owner | ||
| 1664 | + ... ${USERS.users['${tender_owner}'].broker} | ||
| 1665 | + ... get_second_stage | ||
| 1666 | + Отримати дані із поля stage2TenderID тендера для усіх користувачів | ||
| 1667 | + Можливість знайти тендер по ід ${USERS.users['${tender_owner}'].tender_data.data.stage2TenderID} для користувача ${tender_owner} | ||
| 1668 | + | ||
| 1669 | + | ||
| 1670 | +Порівняти другий етап з перший | ||
| 1671 | + [Tags] ${USERS.user['${tender_owner}'].broker}: Порівняти перший та другий етап | ||
| 1672 | + ... tender_owner | ||
| 1673 | + ... ${USERS.users['${tender_owner}'].broker} | ||
| 1674 | + ... compare_stages | ||
| 1675 | + Звірити відображення поля title тендера із ${USERS.users['${tender_owner}'].second_stage_data.data.title} для користувача ${tender_owner} | ||
| 1676 | + Звірити відображення поля minimalStep тендера із ${USERS.users['${tender_owner}'].second_stage_data.data.minimalStep} для користувача ${tender_owner} | ||
| 1677 | + Звірити відображення поля value тендера із ${USERS.users['${tender_owner}'].second_stage_data.data.value} для користувача ${tender_owner} | ||
| 1678 | + Звірити відображення поля procuringEntity тендера із ${USERS.users['${tender_owner}'].second_stage_data.data.procuringEntity} для користувача ${tender_owner} | ||
| 1679 | + | ||
| 1680 | + | ||
| 1681 | +Отримати токен другог етапу | ||
| 1682 | + [Tags] ${USERS.user['${tender_owner}'].broker}: Отримати токен для другог етапу | ||
| 1683 | + ... tender_owner | ||
| 1684 | + ... ${USERS.users['${tender_owner}'].broker} | ||
| 1685 | + ... get_token_second_stage | ||
| 1686 | + Отримати токен другого етапу та зберегти | ||
| 1687 | + Log ${TENDER} | ||
| 1688 | + | ||
| 1689 | + | ||
| 1690 | +Можливість активувати другий етап | ||
| 1691 | + [Tags] ${USERS.users['${viewer}'].broker}: Активувати тендер | ||
| 1692 | + ... tender_owner | ||
| 1693 | + ... ${USERS.users['${tender_owner}'].broker} | ||
| 1694 | + ... activate_second_stage | ||
| 1695 | + Можливість активувати другий етап | ||
| 1696 | + | ||
| 1697 | + | ||
| 1698 | +Можливість подати пропозицію першим учасником на другому етапі | ||
| 1699 | + [Tags] ${USERS.users['${provider}'].broker}: Подання пропозиції | ||
| 1700 | + ... provider | ||
| 1701 | + ... ${USERS.users['${provider}'].broker} | ||
| 1702 | + ... make_bid_by_provider_second_stage | ||
| 1703 | + [Setup] Дочекатись дати початку прийому пропозицій ${provider} ${TENDER['TENDER_UAID']} | ||
| 1704 | + [Teardown] Оновити LAST_MODIFICATION_DATE | ||
| 1705 | + Можливість подати цінову пропозицію на другий етап 1 користувачем ${provider1} | ||
| 1706 | + | ||
| 1707 | + | ||
| 1708 | +Можливість подати пропозицію другим учасником на другому етапі | ||
| 1709 | + [Tags] ${USERS.users['${provider1}'].broker}: Подання пропозиції на другий етап | ||
| 1710 | + ... provider1 | ||
| 1711 | + ... ${USERS.users['${provider1}'].broker} | ||
| 1712 | + ... make_bid_by_provider1_second_stage | ||
| 1713 | + [Teardown] Оновити LAST_MODIFICATION_DATE | ||
| 1714 | + Можливість подати цінову пропозицію на другий етап 1 користувачем ${provider1} | ||
| 1715 | + | ||
| 1716 | + | ||
| 1717 | +Можливість підтвердити першу пропозицію кваліфікації на другому етапі | ||
| 1718 | + [Tags] ${USERS.users['${tender_owner}'].broker}: Кваліфікація на другому етапі | ||
| 1719 | + ... tender_owner | ||
| 1720 | + ... ${USERS.users['${tender_owner}'].broker} | ||
| 1721 | + ... pre-qualification_approve_first_bid_second_stage | ||
| 1722 | + [Setup] Дочекатись дати початку періоду прекваліфікації ${tender_owner} ${TENDER['TENDER_UAID']} | ||
| 1723 | + [Teardown] Оновити LAST_MODIFICATION_DATE | ||
| 1724 | + Можливість підтвердити 0 пропозицію кваліфікації | ||
| 1725 | + | ||
| 1726 | + | ||
| 1727 | +Можливість підтвердити другу пропозицію кваліфікації на другогму етапі | ||
| 1728 | + [Tags] ${USERS.users['${tender_owner}'].broker}: Кваліфікація на другому етапі | ||
| 1729 | + ... tender_owner | ||
| 1730 | + ... ${USERS.users['${tender_owner}'].broker} | ||
| 1731 | + ... pre-qualification_approve_second_bid_second_stage | ||
| 1732 | + [Teardown] Оновити LAST_MODIFICATION_DATE | ||
| 1733 | + Можливість підтвердити -1 пропозицію кваліфікації | ||
| 1734 | + | ||
| 1735 | + | ||
| 1736 | +Можливість затвердити остаточне рішення кваліфікації на другому етапі | ||
| 1737 | + [Tags] ${USERS.users['${tender_owner}'].broker}: Кваліфікація на другому етапі | ||
| 1738 | + ... tender_owner | ||
| 1739 | + ... ${USERS.users['${tender_owner}'].broker} | ||
| 1740 | + ... pre-qualification_approve_qualifications_second_stage | ||
| 1741 | + [Setup] Дочекатись синхронізації з майданчиком ${tender_owner} | ||
| 1742 | + [Teardown] Оновити LAST_MODIFICATION_DATE | ||
| 1743 | + Можливість затвердити остаточне рішення кваліфікації |
| @@ -229,6 +229,14 @@ ${award_index} ${0} | @@ -229,6 +229,14 @@ ${award_index} ${0} | ||
| 229 | Run As ${tender_owner} Підтвердити постачальника ${TENDER['TENDER_UAID']} 0 | 229 | Run As ${tender_owner} Підтвердити постачальника ${TENDER['TENDER_UAID']} 0 |
| 230 | 230 | ||
| 231 | 231 | ||
| 232 | +Можливість підтвердити постачальника на другому етапі | ||
| 233 | + [Tags] ${USERS.users['${tender_owner}'].broker}: Процес кваліфікації | ||
| 234 | + ... tender_owner | ||
| 235 | + ... ${USERS.users['${tender_owner}'].broker} | ||
| 236 | + ... qualification_approve_first_award_second_stage | ||
| 237 | + Run As ${tender_owner} Підтвердити постачальника ${TENDER['TENDER_UAID']} 0 | ||
| 238 | + | ||
| 239 | + | ||
| 232 | Можливість скасувати рішення кваліфікації | 240 | Можливість скасувати рішення кваліфікації |
| 233 | [Tags] ${USERS.users['${tender_owner}'].broker}: Процес кваліфікації | 241 | [Tags] ${USERS.users['${tender_owner}'].broker}: Процес кваліфікації |
| 234 | ... tender_owner | 242 | ... tender_owner |
| @@ -328,7 +328,7 @@ def get_from_object(obj, attribute): | @@ -328,7 +328,7 @@ def get_from_object(obj, attribute): | ||
| 328 | def set_to_object(obj, attribute, value): | 328 | def set_to_object(obj, attribute, value): |
| 329 | # Search the list index in path to value | 329 | # Search the list index in path to value |
| 330 | list_index = re.search('\d+', attribute) | 330 | list_index = re.search('\d+', attribute) |
| 331 | - if list_index: | 331 | + if list_index and attribute != 'stage2TenderID': |
| 332 | list_index = list_index.group(0) | 332 | list_index = list_index.group(0) |
| 333 | parent, child = attribute.split('[' + list_index + '].')[:2] | 333 | parent, child = attribute.split('[' + list_index + '].')[:2] |
| 334 | # Split attribute to path to lits (parent) and path to value in list element (child) | 334 | # Split attribute to path to lits (parent) and path to value in list element (child) |
| @@ -462,8 +462,33 @@ def generate_test_bid_data(tender_data): | @@ -462,8 +462,33 @@ def generate_test_bid_data(tender_data): | ||
| 462 | return bid | 462 | return bid |
| 463 | 463 | ||
| 464 | 464 | ||
| 465 | -def mult_and_round(*args, **kwargs): | ||
| 466 | - return round(reduce(operator.mul, args), kwargs.get('precision', 2)) | 465 | +def generate_test_bid_data_second_stage(tender_data, index='0'): |
| 466 | + bid = test_bid_data() | ||
| 467 | + if index.isdigit(): | ||
| 468 | + index = int(index) | ||
| 469 | + else: | ||
| 470 | + index = 0 | ||
| 471 | + bid['data']['tenderers'][0]['identifier']['id'] = tender_data['shortlistedFirms'][index]['identifier']['id'] | ||
| 472 | + bid['data']['tenderers'][0]['identifier']['scheme'] = tender_data['shortlistedFirms'][index]['identifier']['scheme'] | ||
| 473 | + bid['data']['tenderers'][0]['identifier']['legalName'] = tender_data['shortlistedFirms'][index]['identifier']['legalName'] | ||
| 474 | + | ||
| 475 | + if 'aboveThreshold' in tender_data.get('procurementMethodType', '') or 'competitiveDialogue' in tender_data.get('procurementMethodType', ''): | ||
| 476 | + bid.data.selfEligible = True | ||
| 477 | + bid.data.selfQualified = True | ||
| 478 | + if 'lots' in tender_data: | ||
| 479 | + bid.data.lotValues = [] | ||
| 480 | + for lot in tender_data['lots']: | ||
| 481 | + value = test_bid_value(lot['value']['amount']) | ||
| 482 | + value['relatedLot'] = lot.get('id', '') | ||
| 483 | + bid.data.lotValues.append(value) | ||
| 484 | + else: | ||
| 485 | + bid.data.update(test_bid_value(tender_data['value']['amount'])) | ||
| 486 | + if 'features' in tender_data: | ||
| 487 | + bid.data.parameters = [] | ||
| 488 | + for feature in tender_data['features']: | ||
| 489 | + parameter = {"value": fake.random_element(elements=(0.05, 0.01, 0)), "code": feature.get('code', '')} | ||
| 490 | + bid.data.parameters.append(parameter) | ||
| 491 | + return bid | ||
| 467 | 492 | ||
| 468 | 493 | ||
| 469 | # GUI Frontends common | 494 | # GUI Frontends common |
| @@ -33,3 +33,25 @@ | @@ -33,3 +33,25 @@ | ||
| 33 | -i stage2_pending_status_view | 33 | -i stage2_pending_status_view |
| 34 | 34 | ||
| 35 | -i wait_bridge_for_work | 35 | -i wait_bridge_for_work |
| 36 | + | ||
| 37 | +-i get_second_stage | ||
| 38 | + | ||
| 39 | +-i compare_stages | ||
| 40 | + | ||
| 41 | +-i get_token_second_stage | ||
| 42 | + | ||
| 43 | +-i activate_second_stage | ||
| 44 | + | ||
| 45 | +-i make_bid_by_provider_second_stage | ||
| 46 | +-i make_bid_by_provider1_second_stage | ||
| 47 | + | ||
| 48 | +-i pre-qualification_approve_first_bid_second_stage | ||
| 49 | +-i pre-qualification_approve_second_bid_second_stage | ||
| 50 | + | ||
| 51 | +-i pre-qualification_approve_qualifications_second_stage | ||
| 52 | + | ||
| 53 | +-i auction_second_stage | ||
| 54 | + | ||
| 55 | +-i qualification_approve_first_award_second_stage | ||
| 56 | + | ||
| 57 | +-i contract_sign_second_stage |
Please
register
or
login
to post a comment