Commit 0a9746f1e315ee836f9782d958be412e94da3b41
Committed by
GitHub
Merge pull request #252 from ProzorroUKR/24_hours
24 hours
Showing
9 changed files
with
274 additions
and
3 deletions
... | ... | @@ -2023,6 +2023,21 @@ ${ERROR_PLAN_MESSAGE}= Calling method 'get_plan' failed: ResourceGone: {"status |
2023 | 2023 | Run As ${username} Подати цінову пропозицію ${TENDER['TENDER_UAID']} ${bid} ${lots_ids} ${features_ids} |
2024 | 2024 | |
2025 | 2025 | |
2026 | +Можливість подати цінову пропозицію на суму ${amount} користувачем ${username} | |
2027 | + ${bid}= Підготувати дані для подання пропозиції | |
2028 | + ${bidresponses}= Create Dictionary bid=${bid} | |
2029 | + Set To Dictionary ${USERS.users['${username}']} bidresponses=${bidresponses} | |
2030 | + Set To Dictionary ${USERS.users['${username}'].bidresponses.bid.data.lotValues[0].value} amount=${amount} | |
2031 | + ${lots}= Get Variable Value ${USERS.users['${tender_owner}'].initial_data.data.lots} ${None} | |
2032 | + ${lots_ids}= Run Keyword IF ${lots} | |
2033 | + ... Отримати ідентифікатори об’єктів ${username} lots | |
2034 | + ... ELSE Set Variable ${None} | |
2035 | + ${features}= Get Variable Value ${USERS.users['${tender_owner}'].initial_data.data.features} ${None} | |
2036 | + ${features_ids}= Run Keyword IF ${features} | |
2037 | + ... Отримати ідентифікатори об’єктів ${username} features | |
2038 | + ... ELSE Set Variable ${None} | |
2039 | + Run As ${username} Подати цінову пропозицію ${TENDER['TENDER_UAID']} ${bid} ${lots_ids} ${features_ids} | |
2040 | + | |
2026 | 2041 | Можливість подати цінову пропозицію на другому етапі рамкової угоди користувачем |
2027 | 2042 | [Arguments] ${username} ${index}=${0} |
2028 | 2043 | ${bid}= Підготувати дані для подання пропозиції другого етапу рамкової угоди ${index} |
... | ... | @@ -2085,6 +2100,18 @@ ${ERROR_PLAN_MESSAGE}= Calling method 'get_plan' failed: ResourceGone: {"status |
2085 | 2100 | Remove File ${file_path} |
2086 | 2101 | |
2087 | 2102 | |
2103 | +Можливість завантажити документ для усунення невідповідності в пропозиції в ${object} ${object_index} користувачем ${username} | |
2104 | + ${file_path} ${file_name} ${file_content}= create_fake_doc | |
2105 | + ${doc_id}= get_id_from_string ${file_name} | |
2106 | + ${bid_document_data}= Create Dictionary | |
2107 | + ... doc_name=${file_name} | |
2108 | + ... doc_content=${file_content} | |
2109 | + ... doc_id=${doc_id} | |
2110 | + Run As ${username} Завантажити документ в ставку для усунення невідповідності в пропозиції ${file_path} ${TENDER['TENDER_UAID']} ${object} ${object_index} | |
2111 | + Set To Dictionary ${USERS.users['${username}']} bid_document=${bid_document_data} | |
2112 | + Remove File ${file_path} | |
2113 | + | |
2114 | + | |
2088 | 2115 | Можливість змінити документацію цінової пропозиції користувачем ${username} |
2089 | 2116 | ${file_path} ${file_name} ${file_content}= create_fake_doc |
2090 | 2117 | ${doc_id}= get_id_from_string ${file_name} |
... | ... | @@ -2096,6 +2123,18 @@ ${ERROR_PLAN_MESSAGE}= Calling method 'get_plan' failed: ResourceGone: {"status |
2096 | 2123 | Set To Dictionary ${USERS.users['${username}']} bid_document_modified=${bid_document_modified_data} |
2097 | 2124 | Remove File ${file_path} |
2098 | 2125 | |
2126 | + | |
2127 | +Можливість змінити документацію цінової пропозиції при усуненні невідповідності користувачем ${username} | |
2128 | + ${file_path} ${file_name} ${file_content}= create_fake_doc | |
2129 | + ${doc_id}= get_id_from_string ${file_name} | |
2130 | + ${bid_document_modified_data}= Create Dictionary | |
2131 | + ... doc_name=${file_name} | |
2132 | + ... doc_content=${file_content} | |
2133 | + ... doc_id=${doc_id} | |
2134 | + Run As ${username} Змінити документ в ставці при усуненні невідповідності ${TENDER['TENDER_UAID']} ${file_path} ${USERS.users['${username}']['bid_document']['doc_id']} | |
2135 | + Set To Dictionary ${USERS.users['${username}']} bid_document_modified=${bid_document_modified_data} | |
2136 | + Remove File ${file_path} | |
2137 | + | |
2099 | 2138 | ############################################################################################## |
2100 | 2139 | # Cancellations |
2101 | 2140 | ############################################################################################## |
... | ... | @@ -2171,6 +2210,16 @@ ${ERROR_PLAN_MESSAGE}= Calling method 'get_plan' failed: ResourceGone: {"status |
2171 | 2210 | ... ${0} |
2172 | 2211 | Run Keyword And Ignore Error Remove From Dictionary ${USERS.users['${viewer}'].tender_data.data.contracts[0]} status |
2173 | 2212 | |
2213 | + | |
2214 | +Повідомлення в ${object} про невіповідність пропозиції ${object_index} | |
2215 | + ${24h_data}= Підготувати дані для повідомлення про невідповідність пропозиції | |
2216 | + Run as ${tender_owner} Створити повідомлення по невідповідність | |
2217 | + ... ${TENDER['TENDER_UAID']} | |
2218 | + ... ${object} | |
2219 | + ... ${object_index} | |
2220 | + ... ${24h_data} | |
2221 | + | |
2222 | + | |
2174 | 2223 | ############################################################################################## |
2175 | 2224 | # Pre-Qualifications |
2176 | 2225 | ############################################################################################## | ... | ... |
... | ... | @@ -1663,7 +1663,28 @@ Library openprocurement_client.utils |
1663 | 1663 | ... filepath=${path} |
1664 | 1664 | ... upload_response=${response} |
1665 | 1665 | Log object data ${uploaded_file} |
1666 | - [return] ${uploaded_file} | |
1666 | + [Return] ${uploaded_file} | |
1667 | + | |
1668 | + | |
1669 | +Завантажити документ в ставку для усунення невідповідності в пропозиції | |
1670 | + [Arguments] ${username} ${path} ${tender_uaid} ${object} ${object_index} ${doc_name}=documents ${doc_type}=${None} | |
1671 | + ${tender}= openprocurement_client.Пошук тендера по ідентифікатору ${username} ${tender_uaid} | |
1672 | + ${bid_id}= run keyword if '${object}' == 'awards' set variable ${tender.data.awards[${object_index}].bid_id} | |
1673 | + ... ELSE set variable ${tender.data.qualifications[${object_index}].bidID} | |
1674 | + #${bid_id}= openprocurement_client.Отримати інформацію із пропозиції ${username} ${tender_uaid} id | |
1675 | + ${tender}= set_access_key ${tender} ${USERS.users['${username}']['access_token']} | |
1676 | + ${response}= Call Method ${USERS.users['${username}'].client} upload_bid_document | |
1677 | + ... ${path} | |
1678 | + ... ${tender.data.id} | |
1679 | + ... ${bid_id} | |
1680 | + ... doc_type=${doc_type} | |
1681 | + ... access_token=${tender.access.token} | |
1682 | + ... subitem_name=${doc_name} | |
1683 | + ${uploaded_file} = Create Dictionary | |
1684 | + ... filepath=${path} | |
1685 | + ... upload_response=${response} | |
1686 | + Log object data ${uploaded_file} | |
1687 | + [Return] ${uploaded_file} | |
1667 | 1688 | |
1668 | 1689 | |
1669 | 1690 | Змінити документ в ставці |
... | ... | @@ -1683,7 +1704,27 @@ Library openprocurement_client.utils |
1683 | 1704 | ... filepath=${path} |
1684 | 1705 | ... upload_response=${response} |
1685 | 1706 | Log object data ${uploaded_file} |
1686 | - [return] ${uploaded_file} | |
1707 | + [Return] ${uploaded_file} | |
1708 | + | |
1709 | + | |
1710 | +Змінити документ в ставці при усуненні невідповідності | |
1711 | + [Arguments] ${username} ${tender_uaid} ${path} ${doc_id} ${doc_type}=documents | |
1712 | + ${bid_id}= openprocurement_client.Отримати інформацію із пропозиції ${username} ${tender_uaid} id | |
1713 | + ${tender}= openprocurement_client.Пошук тендера по ідентифікатору ${username} ${tender_uaid} | |
1714 | + ${tender}= set_access_key ${tender} ${USERS.users['${username}']['access_token']} | |
1715 | + ${bid}= openprocurement_client.Отримати пропозицію ${username} ${tender_uaid} | |
1716 | + ${bid_doc}= get_document_by_id ${bid.data} ${doc_id} | |
1717 | + ${response}= Call Method ${USERS.users['${username}'].client} update_bid_document | |
1718 | + ... ${path} | |
1719 | + ... ${tender.data.id} | |
1720 | + ... ${bid_id} | |
1721 | + ... ${bid_doc['id']} | |
1722 | + ... access_token=${tender.access.token} | |
1723 | + ${uploaded_file} = Create Dictionary | |
1724 | + ... filepath=${path} | |
1725 | + ... upload_response=${response} | |
1726 | + Log object data ${uploaded_file} | |
1727 | + [Return] ${uploaded_file} | |
1687 | 1728 | |
1688 | 1729 | |
1689 | 1730 | Змінити документацію в ставці |
... | ... | @@ -1867,6 +1908,22 @@ Library openprocurement_client.utils |
1867 | 1908 | ... access_token=${tender.access.token} |
1868 | 1909 | Log ${reply} |
1869 | 1910 | |
1911 | + | |
1912 | +Створити повідомлення по невідповідність | |
1913 | + [Arguments] ${username} ${tender_uaid} ${object} ${object_index} ${24h_data} | |
1914 | + ${tender}= openprocurement_client.Пошук тендера по ідентифікатору ${username} ${tender_uaid} | |
1915 | + ${reply}= run keyword if '${object}' == 'awards' Call Method ${USERS.users['${username}'].client} create_award_milestone | |
1916 | + ... ${tender.data.id} | |
1917 | + ... ${24h_data} | |
1918 | + ... ${tender.data.${object}[${object_index}].id} | |
1919 | + ... access_token=${tender.access.token} | |
1920 | + ... ELSE Call Method ${USERS.users['${username}'].client} create_qualification_milestone | |
1921 | + ... ${tender.data.id} | |
1922 | + ... ${24h_data} | |
1923 | + ... ${tender.data.${object}[${object_index}].id} | |
1924 | + ... access_token=${tender.access.token} | |
1925 | + Log ${reply} | |
1926 | + | |
1870 | 1927 | ############################################################################## |
1871 | 1928 | # Limited procurement |
1872 | 1929 | ############################################################################## | ... | ... |
... | ... | @@ -1093,3 +1093,12 @@ def test_cancellation_data(procurement_method_type): |
1093 | 1093 | else: |
1094 | 1094 | result = random.choice(["noDemand", "unFixable", "forceMajeure", "expensesCut"]) |
1095 | 1095 | return munchify({"reasonType": result}) |
1096 | + | |
1097 | + | |
1098 | +def test_24_hours_data(): | |
1099 | + return munchify({ | |
1100 | + "data": { | |
1101 | + "code": "24h", | |
1102 | + "description": create_fake_sentence() | |
1103 | + } | |
1104 | + }) | ... | ... |
... | ... | @@ -423,6 +423,11 @@ Get Broker Property By Username |
423 | 423 | [Return] ${modification_data} |
424 | 424 | |
425 | 425 | |
426 | +Підготувати дані для повідомлення про невідповідність пропозиції | |
427 | + ${24h_data}= test_24_hours_data | |
428 | + [Return] ${24h_data} | |
429 | + | |
430 | + | |
426 | 431 | Адаптувати дані для оголошення тендера |
427 | 432 | [Arguments] ${tender_data} |
428 | 433 | # munchify is used to make deep copy of ${tender_data} | ... | ... |
... | ... | @@ -2036,6 +2036,17 @@ ${PLAN_TENDER} ${True} |
2036 | 2036 | Можливість подати цінову пропозицію користувачем ${provider} |
2037 | 2037 | |
2038 | 2038 | |
2039 | +Можливість подати пропозицію з фіксованою сумою першим учасником | |
2040 | + [Tags] ${USERS.users['${provider}'].broker}: Подання пропозиції | |
2041 | + ... provider | |
2042 | + ... ${USERS.users['${provider}'].broker} | |
2043 | + ... make_bid_fixed_amount_by_provider level1 | |
2044 | + ... critical | |
2045 | + [Setup] Дочекатись дати початку прийому пропозицій ${provider} ${TENDER['TENDER_UAID']} | |
2046 | + [Teardown] Оновити LAST_MODIFICATION_DATE | |
2047 | + Можливість подати цінову пропозицію на суму 500 користувачем ${provider} | |
2048 | + | |
2049 | + | |
2039 | 2050 | Можливість зменшити пропозицію на 5% першим учасником |
2040 | 2051 | [Tags] ${USERS.users['${provider}'].broker}: Подання пропозиції |
2041 | 2052 | ... provider |
... | ... | @@ -2077,6 +2088,17 @@ ${PLAN_TENDER} ${True} |
2077 | 2088 | Можливість подати цінову пропозицію користувачем ${provider1} |
2078 | 2089 | |
2079 | 2090 | |
2091 | +Можливість подати пропозицію з фіксованою сумою другим учасником | |
2092 | + [Tags] ${USERS.users['${provider}'].broker}: Подання пропозиції | |
2093 | + ... provider | |
2094 | + ... ${USERS.users['${provider}'].broker} | |
2095 | + ... make_bid_fixed_amount_by_provider1 level1 | |
2096 | + ... critical | |
2097 | + [Setup] Дочекатись дати початку прийому пропозицій ${provider} ${TENDER['TENDER_UAID']} | |
2098 | + [Teardown] Оновити LAST_MODIFICATION_DATE | |
2099 | + Можливість подати цінову пропозицію на суму 1000 користувачем ${provider1} | |
2100 | + | |
2101 | + | |
2080 | 2102 | Можливість зменшити пропозицію на 5% другим учасником |
2081 | 2103 | [Tags] ${USERS.users['${provider1}'].broker}: Подання пропозиції |
2082 | 2104 | ... provider1 |
... | ... | @@ -2096,6 +2118,17 @@ ${PLAN_TENDER} ${True} |
2096 | 2118 | [Teardown] Оновити LAST_MODIFICATION_DATE |
2097 | 2119 | Можливість подати цінову пропозицію користувачем ${provider2} |
2098 | 2120 | |
2121 | + | |
2122 | +Можливість подати пропозицію з фіксованою сумою третім учасником | |
2123 | + [Tags] ${USERS.users['${provider}'].broker}: Подання пропозиції | |
2124 | + ... provider | |
2125 | + ... ${USERS.users['${provider}'].broker} | |
2126 | + ... make_bid_fixed_amount_by_provider2 level1 | |
2127 | + ... critical | |
2128 | + [Setup] Дочекатись дати початку прийому пропозицій ${provider} ${TENDER['TENDER_UAID']} | |
2129 | + [Teardown] Оновити LAST_MODIFICATION_DATE | |
2130 | + Можливість подати цінову пропозицію на суму 1500 користувачем ${provider2} | |
2131 | + | |
2099 | 2132 | ############################################################################################## |
2100 | 2133 | # ABOVETRHESHOLD BIDDING |
2101 | 2134 | ############################################################################################## |
... | ... | @@ -2393,6 +2426,42 @@ ${PLAN_TENDER} ${True} |
2393 | 2426 | Run Keyword And Expect Error * Можливість додати документацію до 0 лоту |
2394 | 2427 | |
2395 | 2428 | |
2429 | +Дочекатись початку періоду пре-кваліфікації | |
2430 | + [Tags] ${USERS.users['${tender_owner}'].broker}: Очікування початку періоду пре-кваліфікації учасників | |
2431 | + ... tender_owner | |
2432 | + ... ${USERS.users['${tender_owner}'].broker} | |
2433 | + ... wait_active_pre-qualification_start | |
2434 | + Дочекатись дати початку періоду прекваліфікації ${tender_owner} ${TENDER['TENDER_UAID']} | |
2435 | + | |
2436 | + | |
2437 | +Повідомити учасника про невідповідність в тендерній пропозиції | |
2438 | + [Tags] ${USERS.users['${tender_owner}'].broker}: | |
2439 | + ... tender_owner | |
2440 | + ... ${USERS.users['${tender_owner}'].broker} | |
2441 | + ... create_24h_milestone_pre-qualification | |
2442 | + Повідомлення в qualifications про невіповідність пропозиції 0 | |
2443 | + | |
2444 | + | |
2445 | +Можливість завантажити документ в пропозицію першим учасником | |
2446 | + [Tags] ${USERS.users['${provider}'].broker}: Подання пропозиції | |
2447 | + ... provider | |
2448 | + ... ${USERS.users['${provider}'].broker} | |
2449 | + ... add_doc_to_bid_by_provider_24h_pre-qualification | |
2450 | + ... critical | |
2451 | + [Teardown] Оновити LAST_MODIFICATION_DATE | |
2452 | + Можливість завантажити документ для усунення невідповідності в пропозиції в qualifications 0 користувачем ${provider} | |
2453 | + | |
2454 | + | |
2455 | +Можливість змінити документацію цінової пропозиції першим учасником | |
2456 | + [Tags] ${USERS.users['${provider}'].broker}: Подання пропозиції | |
2457 | + ... provider | |
2458 | + ... ${USERS.users['${provider}'].broker} | |
2459 | + ... add_doc_to_bid_by_provider_24h_pre-qualification | |
2460 | + ... critical | |
2461 | + [Teardown] Оновити LAST_MODIFICATION_DATE | |
2462 | + Можливість змінити документацію цінової пропозиції при усуненні невідповідності користувачем ${provider} | |
2463 | + | |
2464 | + | |
2396 | 2465 | Відображення статусу першої пропозиції кваліфікації |
2397 | 2466 | [Tags] ${USERS.users['${tender_owner}'].broker}: Кваліфікація |
2398 | 2467 | ... tender_owner | ... | ... |
... | ... | @@ -212,6 +212,41 @@ ${award_index} ${0} |
212 | 212 | ############################################################################################## |
213 | 213 | # QUALIFICATION |
214 | 214 | ############################################################################################## |
215 | +Дочекатись початку періоду кваліфікації | |
216 | + [Tags] ${USERS.users['${tender_owner}'].broker}: Очікування початку періоду кваліфікації учасників | |
217 | + ... tender_owner | |
218 | + ... ${USERS.users['${tender_owner}'].broker} | |
219 | + ... wait_active_qualification_start | |
220 | + Дочекатись дати початку періоду кваліфікації ${tender_owner} ${TENDER['TENDER_UAID']} | |
221 | + | |
222 | + | |
223 | +Повідомити учасника про невідповідність в тендерній пропозиції | |
224 | + [Tags] ${USERS.users['${tender_owner}'].broker}: | |
225 | + ... tender_owner | |
226 | + ... ${USERS.users['${tender_owner}'].broker} | |
227 | + ... create_24h_milestone_qualification | |
228 | + Повідомлення в awards про невіповідність пропозиції 0 | |
229 | + | |
230 | + | |
231 | +Можливість завантажити документ в пропозицію першим учасником | |
232 | + [Tags] ${USERS.users['${provider}'].broker}: Подання пропозиції | |
233 | + ... provider | |
234 | + ... ${USERS.users['${provider}'].broker} | |
235 | + ... add_doc_to_bid_by_provider_24h_qualification | |
236 | + ... critical | |
237 | + [Teardown] Оновити LAST_MODIFICATION_DATE | |
238 | + Можливість завантажити документ для усунення невідповідності в пропозиції в awards 0 користувачем ${provider} | |
239 | + | |
240 | + | |
241 | +Можливість змінити документацію цінової пропозиції першим учасником | |
242 | + [Tags] ${USERS.users['${provider}'].broker}: Подання пропозиції | |
243 | + ... provider | |
244 | + ... ${USERS.users['${provider}'].broker} | |
245 | + ... add_doc_to_bid_by_provider_24h_qualification | |
246 | + ... critical | |
247 | + [Teardown] Оновити LAST_MODIFICATION_DATE | |
248 | + Можливість змінити документацію цінової пропозиції при усуненні невідповідності користувачем ${provider} | |
249 | + | |
215 | 250 | |
216 | 251 | Можливість дочекатися перевірки переможців по ЄДРПОУ |
217 | 252 | [Tags] ${USERS.users['${tender_owner}'].broker}: Перевірка користувача по ЄДРПОУ | ... | ... |
... | ... | @@ -85,7 +85,8 @@ from .initial_data import ( |
85 | 85 | test_reject_complaint_data, |
86 | 86 | test_cancellation_data, |
87 | 87 | test_cancel_pending_data, |
88 | - test_payment_data | |
88 | + test_payment_data, | |
89 | + test_24_hours_data | |
89 | 90 | ) |
90 | 91 | from barbecue import chef |
91 | 92 | from restkit import request | ... | ... |
robot_tests_arguments/24_hours_award.txt
0 → 100644
1 | +-v MODE:openua | |
2 | + | |
3 | +-v NUMBER_OF_ITEMS:1 | |
4 | +-v NUMBER_OF_LOTS:1 | |
5 | + | |
6 | +-v TENDER_MEAT:False | |
7 | +-v ITEM_MEAT:False | |
8 | +-v LOT_MEAT:False | |
9 | + | |
10 | +-i create_tender | |
11 | +-i find_tender | |
12 | + | |
13 | +-i make_bid_fixed_amount_by_provider | |
14 | +-i make_bid_fixed_amount_by_provider1 | |
15 | +-i make_bid_fixed_amount_by_provider2 | |
16 | + | |
17 | +-i wait_active_qualification_start | |
18 | +-i create_24h_milestone_qualification | |
19 | +-i add_doc_to_bid_by_provider_24h_qualification | |
20 | + | |
21 | +-i qualification_add_doc_to_first_award | |
22 | +-i qualification_approve_first_award | |
\ No newline at end of file | ... | ... |
robot_tests_arguments/24_hours_qual.txt
0 → 100644
1 | +-v MODE:openeu | |
2 | + | |
3 | +-v NUMBER_OF_ITEMS:1 | |
4 | +-v NUMBER_OF_LOTS:1 | |
5 | + | |
6 | +-v TENDER_MEAT:False | |
7 | +-v ITEM_MEAT:False | |
8 | +-v LOT_MEAT:False | |
9 | + | |
10 | +-i create_tender | |
11 | +-i find_tender | |
12 | + | |
13 | +-i make_bid_fixed_amount_by_provider | |
14 | +-i make_bid_fixed_amount_by_provider1 | |
15 | +-i make_bid_fixed_amount_by_provider2 | |
16 | + | |
17 | +-i wait_active_pre-qualification_start | |
18 | +-i create_24h_milestone_pre-qualification | |
19 | +-i add_doc_to_bid_by_provider_24h_pre-qualification | |
20 | + | |
21 | +-i pre-qualification_approve_first_bid | |
22 | +-i pre-qualification_approve_second_bid | |
23 | +-i pre-qualification_approve_third_bid | |
24 | +-i pre-qualification_approve_qualifications | |
\ No newline at end of file | ... | ... |
Please
register
or
login
to post a comment