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