Commit bdcd1c6371d89ec46106727e203ca4068bc5472b
Committed by
GitHub
Merge pull request #966 from ivanka12/demo
СloseFrameworkAgreementUA (part 1)
Showing
22 changed files
with
371 additions
and
11 deletions
@@ -1108,7 +1108,8 @@ Library openprocurement_client.utils | @@ -1108,7 +1108,8 @@ Library openprocurement_client.utils | ||
1108 | Set To Dictionary ${USERS.users['${username}']} bid_access_token=${reply.access.token} | 1108 | Set To Dictionary ${USERS.users['${username}']} bid_access_token=${reply.access.token} |
1109 | ${tender}= set_access_key ${tender} ${USERS.users['${username}'].bid_access_token} | 1109 | ${tender}= set_access_key ${tender} ${USERS.users['${username}'].bid_access_token} |
1110 | ${procurementMethodType}= Get variable value ${USERS.users['${username}'].tender_data.data.procurementMethodType} | 1110 | ${procurementMethodType}= Get variable value ${USERS.users['${username}'].tender_data.data.procurementMethodType} |
1111 | - ${status}= Set Variable If 'EU' in '${procurementMethodType}' or '${procurementMethodType}'=='competitiveDialogueUA' pending active | 1111 | + ${methods}= Create List competitiveDialogueUA competitiveDialogueEU aboveThresholdEU closeFrameworkAgreementUA |
1112 | + ${status}= Set Variable If '${procurementMethodType}' in ${methods} pending active | ||
1112 | Set To Dictionary ${reply['data']} status=${status} | 1113 | Set To Dictionary ${reply['data']} status=${status} |
1113 | ${reply_active}= Call Method ${USERS.users['${username}'].client} patch_bid ${tender} ${reply} | 1114 | ${reply_active}= Call Method ${USERS.users['${username}'].client} patch_bid ${tender} ${reply} |
1114 | Set To Dictionary ${USERS.users['${username}']} access_token=${reply['access']['token']} | 1115 | Set To Dictionary ${USERS.users['${username}']} access_token=${reply['access']['token']} |
@@ -1467,6 +1468,16 @@ Library openprocurement_client.utils | @@ -1467,6 +1468,16 @@ Library openprocurement_client.utils | ||
1467 | Log ${reply} | 1468 | Log ${reply} |
1468 | 1469 | ||
1469 | 1470 | ||
1471 | +Затвердити постачальників | ||
1472 | + [Arguments] ${username} ${tender_uaid} | ||
1473 | + ${internal_id}= openprocurement_client.Отримати internal id по UAid ${username} ${tender_uaid} | ||
1474 | + ${tender}= create_data_dict data.id ${internal_id} | ||
1475 | + ${tender}= set_access_key ${tender} ${USERS.users['${username}'].access_token} | ||
1476 | + set_to_object ${tender} data.status active.qualification.stand-still | ||
1477 | + ${reply}= Call Method ${USERS.users['${username}'].client} patch_tender ${tender} | ||
1478 | + Log ${reply} | ||
1479 | + | ||
1480 | + | ||
1470 | Перевести тендер на статус очікування обробки мостом | 1481 | Перевести тендер на статус очікування обробки мостом |
1471 | [Documentation] | 1482 | [Documentation] |
1472 | ... [Arguments] Username and tender uaid | 1483 | ... [Arguments] Username and tender uaid |
@@ -1511,6 +1522,41 @@ Library openprocurement_client.utils | @@ -1511,6 +1522,41 @@ Library openprocurement_client.utils | ||
1511 | Log ${reply} | 1522 | Log ${reply} |
1512 | 1523 | ||
1513 | 1524 | ||
1525 | +Встановити ціну за одиницю для контракту | ||
1526 | + [Arguments] ${username} ${tender_uaid} ${contract_data} | ||
1527 | + ${tender}= openprocurement_client.Пошук тендера по ідентифікатору ${username} ${tender_uaid} | ||
1528 | + Log ${tender} | ||
1529 | + Log ${contract_data} | ||
1530 | + ${tender_id}= Set Variable ${tender.data.id} | ||
1531 | + ${agreement_id}= Set Variable ${tender.data.agreements[0].id} | ||
1532 | + ${contract_id}= Set Variable ${contract_data.data.id} | ||
1533 | + ${access_token}= Set Variable ${tender.access.token} | ||
1534 | + ${reply}= Call Method ${USERS.users['${username}'].client} patch_agreement_contract | ||
1535 | + ... ${tender_id} | ||
1536 | + ... ${agreement_id} | ||
1537 | + ... ${contract_data} | ||
1538 | + ... contract_id=${contract_id} | ||
1539 | + ... access_token=${access_token} | ||
1540 | + Log ${reply} | ||
1541 | + | ||
1542 | + | ||
1543 | +Зареєструвати угоду | ||
1544 | + [Arguments] ${username} ${tender_uaid} ${period} | ||
1545 | + ${tender}= openprocurement_client.Пошук тендера по ідентифікатору ${username} ${tender_uaid} | ||
1546 | + ${agreement}= Create Dictionary data=${tender.data.agreements[0]} | ||
1547 | + Set To Dictionary ${agreement.data} status=active | ||
1548 | + Set To Dictionary ${agreement.data} period=${period} | ||
1549 | + ${tender_id}= Set Variable ${tender.data.id} | ||
1550 | + ${agreement_id}= Set Variable ${tender.data.agreements[0].id} | ||
1551 | + ${access_token}= Set Variable ${tender.access.token} | ||
1552 | + ${reply}= Call Method ${USERS.users['${username}'].client} patch_agreement | ||
1553 | + ... ${tender_id} | ||
1554 | + ... ${agreement} | ||
1555 | + ... ${agreement_id} | ||
1556 | + ... access_token=${access_token} | ||
1557 | + Log ${reply} | ||
1558 | + | ||
1559 | + | ||
1514 | Встановити дату підписання угоди | 1560 | Встановити дату підписання угоди |
1515 | [Arguments] ${username} ${tender_uaid} ${contract_index} ${fieldvalue} | 1561 | [Arguments] ${username} ${tender_uaid} ${contract_index} ${fieldvalue} |
1516 | ${tender}= openprocurement_client.Пошук тендера по ідентифікатору ${username} ${tender_uaid} | 1562 | ${tender}= openprocurement_client.Пошук тендера по ідентифікатору ${username} ${tender_uaid} |
@@ -37,7 +37,7 @@ Suite Teardown Test Suite Teardown | @@ -37,7 +37,7 @@ Suite Teardown Test Suite Teardown | ||
37 | [Tags] ${USERS.users['${tender_owner}'].broker}: Процес укладання угоди | 37 | [Tags] ${USERS.users['${tender_owner}'].broker}: Процес укладання угоди |
38 | ... tender_owner | 38 | ... tender_owner |
39 | ... ${USERS.users['${tender_owner}'].broker} | 39 | ... ${USERS.users['${tender_owner}'].broker} |
40 | - ... contract_sign | 40 | + ... contract_stand_still |
41 | ... critical | 41 | ... critical |
42 | ${award_index}= Отримати останній індекс awards ${tender_owner} ${viewer} | 42 | ${award_index}= Отримати останній індекс awards ${tender_owner} ${viewer} |
43 | ${standstillEnd}= Get Variable Value ${USERS.users['${tender_owner}'].tender_data.data.awards[${award_index}].complaintPeriod.endDate} | 43 | ${standstillEnd}= Get Variable Value ${USERS.users['${tender_owner}'].tender_data.data.awards[${award_index}].complaintPeriod.endDate} |
@@ -203,3 +203,72 @@ Suite Teardown Test Suite Teardown | @@ -203,3 +203,72 @@ Suite Teardown Test Suite Teardown | ||
203 | ${contract_index}= Отримати останній індекс contracts ${tender_owner} ${viewer} | 203 | ${contract_index}= Отримати останній індекс contracts ${tender_owner} ${viewer} |
204 | Run As ${viewer} Оновити сторінку з тендером ${TENDER['TENDER_UAID']} | 204 | Run As ${viewer} Оновити сторінку з тендером ${TENDER['TENDER_UAID']} |
205 | Звірити відображення поля contracts[${contract_index}].status тендера із active для користувача ${viewer} | 205 | Звірити відображення поля contracts[${contract_index}].status тендера із active для користувача ${viewer} |
206 | + | ||
207 | + | ||
208 | +Можливість встановити ціну за одиницю для першого контракту | ||
209 | + [Tags] ${USERS.users['${tender_owner}'].broker}: Редагування угоди | ||
210 | + ... tender_owner | ||
211 | + ... ${USERS.users['${tender_owner}'].broker} | ||
212 | + ... modify_agreement | ||
213 | + ... critical | ||
214 | + [Setup] Дочекатись дати закінчення періоду кваліфікації ${tender_owner} ${TENDER['TENDER_UAID']} | ||
215 | + [Teardown] Оновити LAST_MODIFICATION_DATE | ||
216 | + ${contract_data}= Розрахувати ціну для 0 контракту | ||
217 | + Run As ${tender_owner} Встановити ціну за одиницю для контракту ${TENDER['TENDER_UAID']} ${contract_data} | ||
218 | + | ||
219 | + | ||
220 | +Можливість встановити ціну за одиницю для другого контракту | ||
221 | + [Tags] ${USERS.users['${tender_owner}'].broker}: Редагування угоди | ||
222 | + ... tender_owner | ||
223 | + ... ${USERS.users['${tender_owner}'].broker} | ||
224 | + ... modify_agreement | ||
225 | + ... critical | ||
226 | + [Setup] Дочекатись синхронізації з майданчиком ${tender_owner} | ||
227 | + [Teardown] Оновити LAST_MODIFICATION_DATE | ||
228 | + ${contract_data}= Розрахувати ціну для 1 контракту | ||
229 | + Run As ${tender_owner} Встановити ціну за одиницю для контракту ${TENDER['TENDER_UAID']} ${contract_data} | ||
230 | + | ||
231 | + | ||
232 | +Можливість встановити ціну за одиницю для третього контракту | ||
233 | + [Tags] ${USERS.users['${tender_owner}'].broker}: Редагування угоди | ||
234 | + ... tender_owner | ||
235 | + ... ${USERS.users['${tender_owner}'].broker} | ||
236 | + ... modify_agreement | ||
237 | + ... critical | ||
238 | + [Setup] Дочекатись синхронізації з майданчиком ${tender_owner} | ||
239 | + [Teardown] Оновити LAST_MODIFICATION_DATE | ||
240 | + ${contract_data}= Розрахувати ціну для 2 контракту | ||
241 | + Run As ${tender_owner} Встановити ціну за одиницю для контракту ${TENDER['TENDER_UAID']} ${contract_data} | ||
242 | + | ||
243 | + | ||
244 | +Можливість зареєструвати угоду | ||
245 | + [Tags] ${USERS.users['${tender_owner}'].broker}: Редагування угоди | ||
246 | + ... tender_owner | ||
247 | + ... ${USERS.users['${tender_owner}'].broker} | ||
248 | + ... modify_agreement | ||
249 | + ... critical | ||
250 | + [Setup] Дочекатись можливості зареєструвати угоди ${tender_owner} | ||
251 | + [Teardown] Оновити LAST_MODIFICATION_DATE | ||
252 | + ${days}= create_fake_number 366 1460 | ||
253 | + ${period}= create_fake_period days=${days} | ||
254 | + Run As ${tender_owner} Зареєструвати угоду ${TENDER['TENDER_UAID']} ${period} | ||
255 | + | ||
256 | + | ||
257 | +Відображення статусу зареєстрованої угоди | ||
258 | + [Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних угоди | ||
259 | + ... viewer | ||
260 | + ... ${USERS.users['${viewer}'].broker} | ||
261 | + ... agreement_registration | ||
262 | + ... critical | ||
263 | + [Setup] Дочекатись синхронізації з майданчиком ${viewer} | ||
264 | + Звірити відображення поля agreements[0].status тендера із active для користувача ${viewer} | ||
265 | + | ||
266 | + | ||
267 | +Відображення статусу успішного завершення тендера | ||
268 | + [Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних угоди | ||
269 | + ... viewer | ||
270 | + ... ${USERS.users['${viewer}'].broker} | ||
271 | + ... agreement_registration | ||
272 | + ... critical | ||
273 | + [Setup] Дочекатись синхронізації з майданчиком ${viewer} | ||
274 | + Звірити відображення поля status тендера із complete для користувача ${viewer} |
@@ -60,6 +60,14 @@ def create_fake_date(): | @@ -60,6 +60,14 @@ def create_fake_date(): | ||
60 | return get_now().isoformat() | 60 | return get_now().isoformat() |
61 | 61 | ||
62 | 62 | ||
63 | +def create_fake_period(days=0, hours=0, minutes=0): | ||
64 | + data = { | ||
65 | + "startDate": get_now().isoformat(), | ||
66 | + "endDate": (get_now() + timedelta(days=days, hours=hours, minutes=minutes)).isoformat() | ||
67 | + } | ||
68 | + return data | ||
69 | + | ||
70 | + | ||
63 | def subtraction(value1, value2): | 71 | def subtraction(value1, value2): |
64 | if "." in str (value1) or "." in str (value2): | 72 | if "." in str (value1) or "." in str (value2): |
65 | return (float (value1) - float (value2)) | 73 | return (float (value1) - float (value2)) |
@@ -557,6 +565,14 @@ def test_tender_data_openeu(params, submissionMethodDetails): | @@ -557,6 +565,14 @@ def test_tender_data_openeu(params, submissionMethodDetails): | ||
557 | return data | 565 | return data |
558 | 566 | ||
559 | 567 | ||
568 | +def test_tender_data_framework_agreement(params, submissionMethodDetails): | ||
569 | + data = test_tender_data_openeu(params, submissionMethodDetails) | ||
570 | + data['procurementMethodType'] = 'closeFrameworkAgreementUA' | ||
571 | + data['maxAwardsCount'] = fake.random_int(min=3, max=5) | ||
572 | + data['agreementDuration'] = 'P1M' | ||
573 | + return data | ||
574 | + | ||
575 | + | ||
560 | def test_tender_data_competitive_dialogue(params, submissionMethodDetails): | 576 | def test_tender_data_competitive_dialogue(params, submissionMethodDetails): |
561 | # We should not provide any values for `enquiryPeriod` when creating | 577 | # We should not provide any values for `enquiryPeriod` when creating |
562 | # an openUA or openEU procedure. That field should not be present at all. | 578 | # an openUA or openEU procedure. That field should not be present at all. |
@@ -1047,6 +1047,19 @@ Require Failure | @@ -1047,6 +1047,19 @@ Require Failure | ||
1047 | ... active.qualification | 1047 | ... active.qualification |
1048 | 1048 | ||
1049 | 1049 | ||
1050 | +Дочекатись дати закінчення періоду кваліфікації | ||
1051 | + [Arguments] ${username} ${tender_uaid} | ||
1052 | + Дочекатись синхронізації з майданчиком ${username} | ||
1053 | + Wait until keyword succeeds | ||
1054 | + ... 5 min 15 sec | ||
1055 | + ... 15 sec | ||
1056 | + ... Run Keyword And Expect Error * | ||
1057 | + ... Звірити статус тендера | ||
1058 | + ... ${username} | ||
1059 | + ... ${tender_uaid} | ||
1060 | + ... active.qualification.stand-still | ||
1061 | + | ||
1062 | + | ||
1050 | Дочекатись дати закінчення періоду подання скарг | 1063 | Дочекатись дати закінчення періоду подання скарг |
1051 | [Arguments] ${username} | 1064 | [Arguments] ${username} |
1052 | Дочекатись дати ${USERS.users['${username}'].tender_data.data.complaintPeriod.endDate} | 1065 | Дочекатись дати ${USERS.users['${username}'].tender_data.data.complaintPeriod.endDate} |
@@ -1054,6 +1067,13 @@ Require Failure | @@ -1054,6 +1067,13 @@ Require Failure | ||
1054 | Дочекатись синхронізації з майданчиком ${username} | 1067 | Дочекатись синхронізації з майданчиком ${username} |
1055 | 1068 | ||
1056 | 1069 | ||
1070 | +Дочекатись можливості зареєструвати угоди | ||
1071 | + [Arguments] ${username} | ||
1072 | + Дочекатись дати ${USERS.users['${tender_owner}'].tender_data.data.contractPeriod.clarificationsUntil} | ||
1073 | + Оновити LAST_MODIFICATION_DATE | ||
1074 | + Дочекатись синхронізації з майданчиком ${username} | ||
1075 | + | ||
1076 | + | ||
1057 | Дочекатись зміни статусу вимоги | 1077 | Дочекатись зміни статусу вимоги |
1058 | [Arguments] ${username} ${status} ${complaintID} ${award_index}=${None} | 1078 | [Arguments] ${username} ${status} ${complaintID} ${award_index}=${None} |
1059 | Дочекатись синхронізації з майданчиком ${username} | 1079 | Дочекатись синхронізації з майданчиком ${username} |
@@ -1096,3 +1116,14 @@ Require Failure | @@ -1096,3 +1116,14 @@ Require Failure | ||
1096 | ${len_of_object}= Run Keyword If '${status}' == 'PASS' Get Length ${USERS.users['${role}'].tender_data.data.${object}} | 1116 | ${len_of_object}= Run Keyword If '${status}' == 'PASS' Get Length ${USERS.users['${role}'].tender_data.data.${object}} |
1097 | ${index}= Run Keyword If '${status}' == 'PASS' subtraction ${len_of_object} 1 | 1117 | ${index}= Run Keyword If '${status}' == 'PASS' subtraction ${len_of_object} 1 |
1098 | [Return] ${index} | 1118 | [Return] ${index} |
1119 | + | ||
1120 | + | ||
1121 | +Розрахувати ціну для ${index} контракту | ||
1122 | + ${contract_data}= Create Dictionary data=${USERS.users['${tender_owner}'].tender_data.data.agreements[0].contracts[${index}]} | ||
1123 | + ${quantity}= Convert To Integer ${USERS.users['${tender_owner}'].tender_data.data['items'][0]['quantity']} | ||
1124 | + ${value}= Evaluate ${USERS.users['${tender_owner}'].tender_data.data.awards[${index}+1].value.amount}/${quantity} | ||
1125 | + ${value}= Convert To Integer ${value} | ||
1126 | + Set To Dictionary ${contract_data.data.unitPrices[0].value} amount=${value} | ||
1127 | + ${contract_data}= munch_dict arg=${contract_data} | ||
1128 | + Log ${contract_data} | ||
1129 | + [Return] ${contract_data} |
@@ -183,6 +183,24 @@ ${MOZ_INTEGRATION} ${False} | @@ -183,6 +183,24 @@ ${MOZ_INTEGRATION} ${False} | ||
183 | ... non-critical | 183 | ... non-critical |
184 | Отримати дані із поля complaintPeriod.endDate тендера для усіх користувачів | 184 | Отримати дані із поля complaintPeriod.endDate тендера для усіх користувачів |
185 | 185 | ||
186 | + | ||
187 | +Відображення максимальної кількості кваліфікованих учасників | ||
188 | + [Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних тендера | ||
189 | + ... viewer | ||
190 | + ... ${USERS.users['${viewer}'].broker} | ||
191 | + ... tender_view_framework | ||
192 | + ... critical | ||
193 | + Звірити відображення поля maxAwardsCount тендера для усіх користувачів | ||
194 | + | ||
195 | + | ||
196 | +Відображення тривалості угоди | ||
197 | + [Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних тендера | ||
198 | + ... viewer | ||
199 | + ... ${USERS.users['${viewer}'].broker} | ||
200 | + ... tender_view_framework | ||
201 | + ... critical | ||
202 | + Звірити відображення поля agreementDuration тендера для усіх користувачів | ||
203 | + | ||
186 | ############################################################################################## | 204 | ############################################################################################## |
187 | # Відображення основних даних предмету | 205 | # Відображення основних даних предмету |
188 | ############################################################################################## | 206 | ############################################################################################## |
@@ -564,6 +582,29 @@ ${MOZ_INTEGRATION} ${False} | @@ -564,6 +582,29 @@ ${MOZ_INTEGRATION} ${False} | ||
564 | Звірити відображення дати tenderPeriod.endDate тендера для усіх користувачів | 582 | Звірити відображення дати tenderPeriod.endDate тендера для усіх користувачів |
565 | 583 | ||
566 | 584 | ||
585 | +Можливість змінити максимальну кількість кваліфікованих учасників | ||
586 | + [Tags] ${USERS.users['${tender_owner}'].broker}: Можливість редагувати тендер | ||
587 | + ... tender_owner | ||
588 | + ... ${USERS.users['${tender_owner}'].broker} | ||
589 | + ... modify_maxAwardsCount level3 | ||
590 | + ... non-critical | ||
591 | + [Teardown] Оновити LAST_MODIFICATION_DATE | ||
592 | + ${maxAwardsCount}= create_fake_number 6 8 | ||
593 | + Можливість змінити поле maxAwardsCount тендера на ${maxAwardsCount} | ||
594 | + Remove From Dictionary ${USERS.users['${viewer}'].tender_data.data} maxAwardsCount | ||
595 | + Set To Dictionary ${USERS.users['${tender_owner}'].initial_data.data} new_maxAwardsCount=${maxAwardsCount} | ||
596 | + | ||
597 | + | ||
598 | +Відображення зміненої максимальної кількості кваліфікованих учасників | ||
599 | + [Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних тендера | ||
600 | + ... viewer | ||
601 | + ... ${USERS.users['${viewer}'].broker} | ||
602 | + ... modify_maxAwardsCount | ||
603 | + ... non-critical | ||
604 | + [Setup] Дочекатись синхронізації з майданчиком ${viewer} | ||
605 | + Звірити відображення поля maxAwardsCount тендера із ${USERS.users['${tender_owner}'].initial_data.data.new_maxAwardsCount} для користувача ${viewer} | ||
606 | + | ||
607 | + | ||
567 | Можливість додати документацію до тендера | 608 | Можливість додати документацію до тендера |
568 | [Tags] ${USERS.users['${tender_owner}'].broker}: Додання документації | 609 | [Tags] ${USERS.users['${tender_owner}'].broker}: Додання документації |
569 | ... tender_owner | 610 | ... tender_owner |
@@ -249,7 +249,7 @@ ${award_index} ${0} | @@ -249,7 +249,7 @@ ${award_index} ${0} | ||
249 | Run As ${tender_owner} Скасування рішення кваліфікаційної комісії ${TENDER['TENDER_UAID']} 0 | 249 | Run As ${tender_owner} Скасування рішення кваліфікаційної комісії ${TENDER['TENDER_UAID']} 0 |
250 | 250 | ||
251 | 251 | ||
252 | -Можливість завантажити документ рішення кваліфікаційної комісії для підтвердження нового постачальника | 252 | +Можливість завантажити документ рішення кваліфікаційної комісії для підтвердження другого постачальника |
253 | [Tags] ${USERS.users['${tender_owner}'].broker}: Процес кваліфікації | 253 | [Tags] ${USERS.users['${tender_owner}'].broker}: Процес кваліфікації |
254 | ... tender_owner | 254 | ... tender_owner |
255 | ... ${USERS.users['${tender_owner}'].broker} | 255 | ... ${USERS.users['${tender_owner}'].broker} |
@@ -259,9 +259,60 @@ ${award_index} ${0} | @@ -259,9 +259,60 @@ ${award_index} ${0} | ||
259 | Remove File ${file_path} | 259 | Remove File ${file_path} |
260 | 260 | ||
261 | 261 | ||
262 | -Можливість підтвердити нового постачальника | 262 | +Можливість підтвердити другого постачальника |
263 | [Tags] ${USERS.users['${tender_owner}'].broker}: Процес кваліфікації | 263 | [Tags] ${USERS.users['${tender_owner}'].broker}: Процес кваліфікації |
264 | ... tender_owner | 264 | ... tender_owner |
265 | ... ${USERS.users['${tender_owner}'].broker} | 265 | ... ${USERS.users['${tender_owner}'].broker} |
266 | ... qualification_approve_second_award level1 | 266 | ... qualification_approve_second_award level1 |
267 | Run As ${tender_owner} Підтвердити постачальника ${TENDER['TENDER_UAID']} 1 | 267 | Run As ${tender_owner} Підтвердити постачальника ${TENDER['TENDER_UAID']} 1 |
268 | + | ||
269 | + | ||
270 | +Можливість завантажити документ рішення кваліфікаційної комісії для підтвердження третього постачальника | ||
271 | + [Tags] ${USERS.users['${tender_owner}'].broker}: Процес кваліфікації | ||
272 | + ... tender_owner | ||
273 | + ... ${USERS.users['${tender_owner}'].broker} | ||
274 | + ... qualification_add_doc_to_third_award | ||
275 | + ${file_path} ${file_name} ${file_content}= create_fake_doc | ||
276 | + Run As ${tender_owner} Завантажити документ рішення кваліфікаційної комісії ${file_path} ${TENDER['TENDER_UAID']} 2 | ||
277 | + Remove File ${file_path} | ||
278 | + | ||
279 | + | ||
280 | +Можливість підтвердити третього постачальника | ||
281 | + [Tags] ${USERS.users['${tender_owner}'].broker}: Процес кваліфікації | ||
282 | + ... tender_owner | ||
283 | + ... ${USERS.users['${tender_owner}'].broker} | ||
284 | + ... qualification_approve_third_award | ||
285 | + [Setup] Дочекатись синхронізації з майданчиком ${tender_owner} | ||
286 | + [Teardown] Оновити LAST_MODIFICATION_DATE | ||
287 | + Run As ${tender_owner} Підтвердити постачальника ${TENDER['TENDER_UAID']} 2 | ||
288 | + | ||
289 | + | ||
290 | +Можливість завантажити документ рішення кваліфікаційної комісії для підтвердження четвертого постачальника | ||
291 | + [Tags] ${USERS.users['${tender_owner}'].broker}: Процес кваліфікації | ||
292 | + ... tender_owner | ||
293 | + ... ${USERS.users['${tender_owner}'].broker} | ||
294 | + ... qualification_add_doc_to_fourth_award | ||
295 | + ${file_path} ${file_name} ${file_content}= create_fake_doc | ||
296 | + Run As ${tender_owner} Завантажити документ рішення кваліфікаційної комісії ${file_path} ${TENDER['TENDER_UAID']} 3 | ||
297 | + Remove File ${file_path} | ||
298 | + | ||
299 | + | ||
300 | +Можливість підтвердити четвертого постачальника | ||
301 | + [Tags] ${USERS.users['${tender_owner}'].broker}: Процес кваліфікації | ||
302 | + ... tender_owner | ||
303 | + ... ${USERS.users['${tender_owner}'].broker} | ||
304 | + ... qualification_approve_fourth_award | ||
305 | + [Setup] Дочекатись синхронізації з майданчиком ${tender_owner} | ||
306 | + [Teardown] Оновити LAST_MODIFICATION_DATE | ||
307 | + Run As ${tender_owner} Підтвердити постачальника ${TENDER['TENDER_UAID']} 3 | ||
308 | + | ||
309 | + | ||
310 | +Можливість затвердити остаточне рішення кваліфікації | ||
311 | + [Tags] ${USERS.users['${tender_owner}'].broker}: Кваліфікація | ||
312 | + ... tender_owner | ||
313 | + ... ${USERS.users['${tender_owner}'].broker} | ||
314 | + ... qualification_approve_qualifications | ||
315 | + ... critical | ||
316 | + [Setup] Дочекатись синхронізації з майданчиком ${tender_owner} | ||
317 | + [Teardown] Оновити LAST_MODIFICATION_DATE | ||
318 | + Run As ${tender_owner} Затвердити постачальників ${TENDER['TENDER_UAID']} |
@@ -23,6 +23,7 @@ from .initial_data import ( | @@ -23,6 +23,7 @@ from .initial_data import ( | ||
23 | create_fake_number, | 23 | create_fake_number, |
24 | create_fake_date, | 24 | create_fake_date, |
25 | create_fake_funder, | 25 | create_fake_funder, |
26 | + create_fake_period, | ||
26 | get_fake_funder_scheme, | 27 | get_fake_funder_scheme, |
27 | fake, | 28 | fake, |
28 | subtraction, | 29 | subtraction, |
@@ -51,6 +52,7 @@ from .initial_data import ( | @@ -51,6 +52,7 @@ from .initial_data import ( | ||
51 | test_tender_data_openua, | 52 | test_tender_data_openua, |
52 | test_tender_data_planning, | 53 | test_tender_data_planning, |
53 | test_tender_data_openua_defense, | 54 | test_tender_data_openua_defense, |
55 | + test_tender_data_framework_agreement, | ||
54 | test_bid_competitive_data, | 56 | test_bid_competitive_data, |
55 | tets_monitoring_data, | 57 | tets_monitoring_data, |
56 | test_party, | 58 | test_party, |
@@ -340,6 +342,9 @@ def prepare_test_tender_data(procedure_intervals, | @@ -340,6 +342,9 @@ def prepare_test_tender_data(procedure_intervals, | ||
340 | tender_parameters, submissionMethodDetails)}) | 342 | tender_parameters, submissionMethodDetails)}) |
341 | elif mode == 'reporting': | 343 | elif mode == 'reporting': |
342 | return munchify({'data': test_tender_data_limited(tender_parameters)}) | 344 | return munchify({'data': test_tender_data_limited(tender_parameters)}) |
345 | + elif mode == 'open_framework': | ||
346 | + return munchify({'data': test_tender_data_framework_agreement( | ||
347 | + tender_parameters, submissionMethodDetails)}) | ||
343 | elif mode == 'belowThreshold': | 348 | elif mode == 'belowThreshold': |
344 | return munchify({'data': test_tender_data( | 349 | return munchify({'data': test_tender_data( |
345 | tender_parameters, | 350 | tender_parameters, |
@@ -595,7 +600,8 @@ def generate_test_bid_data(tender_data): | @@ -595,7 +600,8 @@ def generate_test_bid_data(tender_data): | ||
595 | 'aboveThresholdUA.defense', | 600 | 'aboveThresholdUA.defense', |
596 | 'aboveThresholdEU', | 601 | 'aboveThresholdEU', |
597 | 'competitiveDialogueUA', | 602 | 'competitiveDialogueUA', |
598 | - 'competitiveDialogueEU' | 603 | + 'competitiveDialogueEU', |
604 | + 'closeFrameworkAgreementUA' | ||
599 | ): | 605 | ): |
600 | bid = test_bid_competitive_data() | 606 | bid = test_bid_competitive_data() |
601 | bid.data.selfEligible = True | 607 | bid.data.selfEligible = True |
1 | +-v MODE:open_framework | ||
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 | + | ||
11 | +-i create_tender | ||
12 | +-i find_tender | ||
13 | + | ||
14 | +-i tender_view | ||
15 | +-i tender_view_unit_code | ||
16 | +-i tender_view_coordinates | ||
17 | +-i tender_view_framework | ||
18 | +-i lot_view | ||
19 | + | ||
20 | +-i extend_tendering_period | ||
21 | +-i add_tender_doc | ||
22 | +-i add_lot_doc | ||
23 | +-i modify_lot_value_amount | ||
24 | +-i modify_maxAwardsCount | ||
25 | + | ||
26 | +-i ask_question_to_tender | ||
27 | + -i answer_question_to_tender | ||
28 | +-i ask_question_to_item | ||
29 | + -i answer_question_to_item | ||
30 | +-i ask_question_to_lot | ||
31 | + -i answer_question_to_lot | ||
32 | +-i modify_tender_after_questions | ||
33 | +-i modify_lot_after_questions | ||
34 | + | ||
35 | +-i make_bid_without_related_lot | ||
36 | +-i make_bid_by_provider | ||
37 | + -i modify_bid_by_provider | ||
38 | + -i add_doc_to_bid_by_provider | ||
39 | +-i make_bid_by_provider1 | ||
40 | +-i bid_view_in_tendering_period | ||
41 | +-i make_bid_by_provider2 | ||
42 | + | ||
43 | +-i ask_question_to_tender_after_tendering_period | ||
44 | + | ||
45 | +-i open_tender_view | ||
46 | +-i open_modify_tender_in_tendering_period | ||
47 | + -i open_confirm_first_bid | ||
48 | + -i open_confirm_second_bid | ||
49 | + -i open_confirm_third_bid | ||
50 | + | ||
51 | +-i openeu_make_bid_doc_private_by_provider | ||
52 | +-i openeu_add_financial_bid_doc_by_provider | ||
53 | +-i openeu_add_qualification_bid_doc_by_provider | ||
54 | +-i openeu_add_eligibility_bid_doc_by_provider | ||
55 | + | ||
56 | +-i pre-qualification_add_doc_to_tender | ||
57 | +-i pre-qualification_add_doc_to_lot | ||
58 | + | ||
59 | +-i pre-qualification_view | ||
60 | + | ||
61 | +#-i pre-qualifications_check_by_edrpou | ||
62 | + | ||
63 | +-i pre-qualification_add_doc_to_first_bid | ||
64 | +-i pre-qualification_approve_first_bid | ||
65 | +-i pre-qualification_add_doc_to_second_bid | ||
66 | +-i pre-qualification_approve_second_bid | ||
67 | +-i pre-qualification_approve_third_bid | ||
68 | +-i pre-qualification_approve_qualifications | ||
69 | + | ||
70 | +-i auction_url | ||
71 | + | ||
72 | +-i qualification_add_doc_to_first_award | ||
73 | +-i qualification_approve_first_award | ||
74 | +-i qualification_cancel_first_award_qualification | ||
75 | +-i qualification_add_doc_to_second_award | ||
76 | +-i qualification_approve_second_award | ||
77 | +-i qualification_add_doc_to_third_award | ||
78 | +-i qualification_approve_third_award | ||
79 | +-i qualification_add_doc_to_fourth_award | ||
80 | +-i qualification_approve_fourth_award | ||
81 | +-i qualification_approve_qualifications | ||
82 | + | ||
83 | + | ||
84 | +-i contract_stand_still | ||
85 | +-i modify_agreement | ||
86 | +-i agreement_registration |
@@ -99,6 +99,7 @@ | @@ -99,6 +99,7 @@ | ||
99 | -i modify_contract | 99 | -i modify_contract |
100 | -i add_doc_to_contract | 100 | -i add_doc_to_contract |
101 | -i contract_sign | 101 | -i contract_sign |
102 | +-i contract_stand_still | ||
102 | 103 | ||
103 | -i find_contract | 104 | -i find_contract |
104 | -i access_contract | 105 | -i access_contract |
@@ -92,6 +92,7 @@ | @@ -92,6 +92,7 @@ | ||
92 | -i qualification_approve_second_award | 92 | -i qualification_approve_second_award |
93 | 93 | ||
94 | -i contract_sign | 94 | -i contract_sign |
95 | +-i contract_stand_still | ||
95 | -i modify_contract | 96 | -i modify_contract |
96 | -i contract_view | 97 | -i contract_view |
97 | -i add_doc_to_contract | 98 | -i add_doc_to_contract |
@@ -73,6 +73,7 @@ | @@ -73,6 +73,7 @@ | ||
73 | -i qualification_approve_second_award | 73 | -i qualification_approve_second_award |
74 | 74 | ||
75 | -i contract_sign | 75 | -i contract_sign |
76 | +-i contract_stand_still | ||
76 | -i modify_contract | 77 | -i modify_contract |
77 | -i contract_view | 78 | -i contract_view |
78 | -i add_doc_to_contract | 79 | -i add_doc_to_contract |
Please
register
or
login
to post a comment