Commit 40f318c8c3f730ed1cc38c3d7360b72365d8dac8

Authored by AlexDiatlov
2 parents 2f16f03c 50238879

Merge branch 'feature/pq' of https://github.com/quintagroup/robot_tests into feature/pq

Showing 50 changed files with 2271 additions and 52 deletions
@@ -2,6 +2,9 @@ @@ -2,6 +2,9 @@
2 extensions = mr.developer 2 extensions = mr.developer
3 auto-checkout = * 3 auto-checkout = *
4 always-checkout = true 4 always-checkout = true
  5 +eggs-directory = /home/jenkins-slave/.buildout/eggs
  6 +download-cache = /home/jenkins-slave/.buildout/download-cache
  7 +abi-tag-eggs = true
5 develop = . 8 develop = .
6 find-links = 9 find-links =
7 http://op:x9W3jZ@dist.quintagroup.com/op/ 10 http://op:x9W3jZ@dist.quintagroup.com/op/
@@ -18,8 +18,6 @@ ${ERROR_PLAN_MESSAGE}= Calling method 'get_plan' failed: ResourceGone: {"status @@ -18,8 +18,6 @@ ${ERROR_PLAN_MESSAGE}= Calling method 'get_plan' failed: ResourceGone: {"status
18 ${NUMBER_OF_LOTS}= Convert To Integer ${NUMBER_OF_LOTS} 18 ${NUMBER_OF_LOTS}= Convert To Integer ${NUMBER_OF_LOTS}
19 ${NUMBER_OF_ITEMS}= Convert To Integer ${NUMBER_OF_ITEMS} 19 ${NUMBER_OF_ITEMS}= Convert To Integer ${NUMBER_OF_ITEMS}
20 ${NUMBER_OF_MILESTONES}= Convert To Integer ${NUMBER_OF_MILESTONES} 20 ${NUMBER_OF_MILESTONES}= Convert To Integer ${NUMBER_OF_MILESTONES}
21 - ${PROFILE} Get Variable Value ${PROFILE} ${True}  
22 - ${WRONG_TENDER_DATE} Get Variable Value ${WRONG_TENDER_DATE} ${False}  
23 ${tender_parameters}= Create Dictionary 21 ${tender_parameters}= Create Dictionary
24 ... mode=${MODE} 22 ... mode=${MODE}
25 ... number_of_items=${NUMBER_OF_ITEMS} 23 ... number_of_items=${NUMBER_OF_ITEMS}
@@ -34,8 +32,6 @@ ${ERROR_PLAN_MESSAGE}= Calling method 'get_plan' failed: ResourceGone: {"status @@ -34,8 +32,6 @@ ${ERROR_PLAN_MESSAGE}= Calling method 'get_plan' failed: ResourceGone: {"status
34 ... road_index=${${ROAD_INDEX}} 32 ... road_index=${${ROAD_INDEX}}
35 ... gmdn_index=${${GMDN_INDEX}} 33 ... gmdn_index=${${GMDN_INDEX}}
36 ... plan_tender=${${PLAN_TENDER}} 34 ... plan_tender=${${PLAN_TENDER}}
37 - ... profile=${${PROFILE}}  
38 - ... wrong_tender_date=${${WRONG_TENDER_DATE}}  
39 ${DIALOGUE_TYPE}= Get Variable Value ${DIALOGUE_TYPE} 35 ${DIALOGUE_TYPE}= Get Variable Value ${DIALOGUE_TYPE}
40 ${FUNDING_KIND}= Get Variable Value ${FUNDING_KIND} 36 ${FUNDING_KIND}= Get Variable Value ${FUNDING_KIND}
41 Run keyword if '${DIALOGUE_TYPE}' != '${None}' Set to dictionary ${tender_parameters} dialogue_type=${DIALOGUE_TYPE} 37 Run keyword if '${DIALOGUE_TYPE}' != '${None}' Set to dictionary ${tender_parameters} dialogue_type=${DIALOGUE_TYPE}
@@ -221,6 +217,94 @@ ${ERROR_PLAN_MESSAGE}= Calling method 'get_plan' failed: ResourceGone: {"status @@ -221,6 +217,94 @@ ${ERROR_PLAN_MESSAGE}= Calling method 'get_plan' failed: ResourceGone: {"status
221 Set To Dictionary ${TENDER} TENDER_UAID=${TENDER_UAID} 217 Set To Dictionary ${TENDER} TENDER_UAID=${TENDER_UAID}
222 218
223 219
  220 +Можливість оголосити тендер з недоліками в параметрах
  221 + ${file_path}= Get Variable Value ${ARTIFACT_FILE} artifact_plan.yaml
  222 + ${ARTIFACT}= load_data_from ${file_path}
  223 + Log ${ARTIFACT.tender_uaid}
  224 + ${NUMBER_OF_LOTS}= Convert To Integer ${NUMBER_OF_LOTS}
  225 + ${NUMBER_OF_ITEMS}= Convert To Integer ${NUMBER_OF_ITEMS}
  226 + ${NUMBER_OF_MILESTONES}= Convert To Integer ${NUMBER_OF_MILESTONES}
  227 + ${WRONG_TENDER_DATE} Get Variable Value ${WRONG_TENDER_DATE} ${False}
  228 + ${EMPTY_PROFILE} Get Variable Value ${EMPTY_PROFILE} ${False}
  229 + ${WRONG_PROFILE} Get Variable Value ${PROFILE} ${True}
  230 + ${PROFILES_HIDDEN_STATUS} Get Variable Value ${PROFILES_HIDDEN_STATUS} ${False}
  231 + ${PROFILES_SHORTLISTEDFIRMS_EMPTY} Get Variable Value ${PROFILES_SHORTLISTEDFIRMS_EMPTY} ${False}
  232 + ${UNKNOWN_PROFILE} Get Variable Value ${UNKNOWN_PROFILE} ${False}
  233 + ${tender_parameters}= Create Dictionary
  234 + ... mode=${MODE}
  235 + ... number_of_items=${NUMBER_OF_ITEMS}
  236 + ... number_of_lots=${NUMBER_OF_LOTS}
  237 + ... number_of_milestones=${NUMBER_OF_MILESTONES}
  238 + ... tender_meat=${${TENDER_MEAT}}
  239 + ... lot_meat=${${LOT_MEAT}}
  240 + ... item_meat=${${ITEM_MEAT}}
  241 + ... api_host_url=${API_HOST_URL}
  242 + ... moz_integration=${${MOZ_INTEGRATION}}
  243 + ... vat_included=${${VAT_INCLUDED}}
  244 + ... road_index=${${ROAD_INDEX}}
  245 + ... gmdn_index=${${GMDN_INDEX}}
  246 + ... plan_tender=${${PLAN_TENDER}}
  247 + ... wrong_tender_date=${${WRONG_TENDER_DATE}}
  248 + ... empty_profile=${${EMPTY_PROFILE}}
  249 + ... wrong_profile=${${WRONG_PROFILE}}
  250 + ... profiles_hidden_status=${${PROFILES_HIDDEN_STATUS}}
  251 + ... profiles_shortlistedfirms_empty=${${PROFILES_SHORTLISTEDFIRMS_EMPTY}}
  252 + ... unknown_profile=${${UNKNOWN_PROFILE}}
  253 + ${DIALOGUE_TYPE}= Get Variable Value ${DIALOGUE_TYPE}
  254 + ${FUNDING_KIND}= Get Variable Value ${FUNDING_KIND}
  255 + Run keyword if '${DIALOGUE_TYPE}' != '${None}' Set to dictionary ${tender_parameters} dialogue_type=${DIALOGUE_TYPE}
  256 + Run keyword if '${FUNDING_KIND}' != '${None}' Set to dictionary ${tender_parameters} fundingKind=${FUNDING_KIND}
  257 + :FOR ${username} IN ${viewer} ${tender_owner}
  258 + \ ${status}= Run Keyword And Return Status List Should Contain Value ${USERS.users['${username}']} plan_client
  259 + \ Run Keyword If ${status} Exit For Loop
  260 + ${plan_data}= знайти план за ідентифікатором ${ARTIFACT.tender_uaid} ${username}
  261 + Log ${plan_data}
  262 + ${tender_data}= Підготувати дані для створення тендера ${tender_parameters} ${plan_data}
  263 + ${adapted_data}= Адаптувати дані для оголошення тендера ${tender_data}
  264 + ${TENDER_UAID}= Run As ${tender_owner} Створити тендер ${adapted_data} ${ARTIFACT.tender_uaid}
  265 + Set To Dictionary ${USERS.users['${tender_owner}']} initial_data=${adapted_data}
  266 + Set To Dictionary ${TENDER} TENDER_UAID=${TENDER_UAID}
  267 +
  268 +
  269 +Можливість оголосити тендер без 2-ї фази commit-у
  270 + ${file_path}= Get Variable Value ${ARTIFACT_FILE} artifact_plan.yaml
  271 + ${ARTIFACT}= load_data_from ${file_path}
  272 + Log ${ARTIFACT.tender_uaid}
  273 + ${NUMBER_OF_LOTS}= Convert To Integer ${NUMBER_OF_LOTS}
  274 + ${NUMBER_OF_ITEMS}= Convert To Integer ${NUMBER_OF_ITEMS}
  275 + ${NUMBER_OF_MILESTONES}= Convert To Integer ${NUMBER_OF_MILESTONES}
  276 + ${TENDER_WRONG_STATUS} Get Variable Value ${TENDER_WRONG_STATUS} ${False}
  277 + ${tender_parameters}= Create Dictionary
  278 + ... mode=${MODE}
  279 + ... number_of_items=${NUMBER_OF_ITEMS}
  280 + ... number_of_lots=${NUMBER_OF_LOTS}
  281 + ... number_of_milestones=${NUMBER_OF_MILESTONES}
  282 + ... tender_meat=${${TENDER_MEAT}}
  283 + ... lot_meat=${${LOT_MEAT}}
  284 + ... item_meat=${${ITEM_MEAT}}
  285 + ... api_host_url=${API_HOST_URL}
  286 + ... moz_integration=${${MOZ_INTEGRATION}}
  287 + ... vat_included=${${VAT_INCLUDED}}
  288 + ... road_index=${${ROAD_INDEX}}
  289 + ... gmdn_index=${${GMDN_INDEX}}
  290 + ... plan_tender=${${PLAN_TENDER}}
  291 + ... tender_wrong_status=${${TENDER_WRONG_STATUS}}
  292 + ${DIALOGUE_TYPE}= Get Variable Value ${DIALOGUE_TYPE}
  293 + ${FUNDING_KIND}= Get Variable Value ${FUNDING_KIND}
  294 + Run keyword if '${DIALOGUE_TYPE}' != '${None}' Set to dictionary ${tender_parameters} dialogue_type=${DIALOGUE_TYPE}
  295 + Run keyword if '${FUNDING_KIND}' != '${None}' Set to dictionary ${tender_parameters} fundingKind=${FUNDING_KIND}
  296 + :FOR ${username} IN ${viewer} ${tender_owner}
  297 + \ ${status}= Run Keyword And Return Status List Should Contain Value ${USERS.users['${username}']} plan_client
  298 + \ Run Keyword If ${status} Exit For Loop
  299 + ${plan_data}= знайти план за ідентифікатором ${ARTIFACT.tender_uaid} ${username}
  300 + Log ${plan_data}
  301 + ${tender_data}= Підготувати дані для створення тендера ${tender_parameters} ${plan_data}
  302 + ${adapted_data}= Адаптувати дані для оголошення тендера ${tender_data}
  303 + ${TENDER_UAID}= Run As ${tender_owner} Створити тендер без 2-ї фази commit-у ${adapted_data} ${ARTIFACT.tender_uaid}
  304 + Set To Dictionary ${USERS.users['${tender_owner}']} initial_data=${adapted_data}
  305 + Set To Dictionary ${TENDER} TENDER_UAID=${TENDER_UAID}
  306 +
  307 +
224 Можливість створити об'єкт моніторингу 308 Можливість створити об'єкт моніторингу
225 ${period_intervals}= compute_intrs ${BROKERS} ${used_brokers} 309 ${period_intervals}= compute_intrs ${BROKERS} ${used_brokers}
226 ${accelerator}= Get Variable Value ${accelerator} 310 ${accelerator}= Get Variable Value ${accelerator}
@@ -273,6 +273,29 @@ Library openprocurement_client.utils @@ -273,6 +273,29 @@ Library openprocurement_client.utils
273 [return] ${tender.data.tenderID} 273 [return] ${tender.data.tenderID}
274 274
275 275
  276 +Створити тендер без 2-ї фази commit-у
  277 + [Arguments] ${username} ${tender_data} ${plan_uaid}
  278 + ${file_path}= Get Variable Value ${ARTIFACT_FILE} artifact_plan.yaml
  279 + ${ARTIFACT}= load_data_from ${file_path}
  280 + Log ${ARTIFACT.tender_owner_access_token}
  281 + Log ${ARTIFACT.tender_id}
  282 + ${tender}= Call Method ${USERS.users['${username}'].tender_create_client} create_tender
  283 + ... ${ARTIFACT.tender_id}
  284 + ... ${tender_data}
  285 + ... access_token=${ARTIFACT.tender_owner_access_token}
  286 + Log ${tender}
  287 + ${access_token}= Get Variable Value ${tender.access.token}
  288 + ${tender_uaid}= Get Variable Value ${tender.data.tenderID}
  289 + ${tender_id}= Get Variable Value ${tender.data.id}
  290 + :FOR ${user} IN @{USED_ROLES}
  291 + \ Set To Dictionary ${USERS.users['${${user}}'].id_map} ${tender_uaid} ${tender_id}
  292 + Log ${\n}${API_HOST_URL}/api/${API_VERSION}/tenders/${tender.data.id}${\n} WARN
  293 + Set To Dictionary ${USERS.users['${username}']} access_token=${access_token}
  294 + Set To Dictionary ${USERS.users['${username}']} tender_data=${tender}
  295 + Log ${USERS.users['${username}'].tender_data}
  296 + [return] ${tender.data.tenderID}
  297 +
  298 +
276 Створити об'єкт моніторингу 299 Створити об'єкт моніторингу
277 [Arguments] ${username} ${monitoring_data} 300 [Arguments] ${username} ${monitoring_data}
278 ${monitoring}= Call Method ${USERS.users['${username}'].dasu_client} create_monitoring ${monitoring_data} 301 ${monitoring}= Call Method ${USERS.users['${username}'].dasu_client} create_monitoring ${monitoring_data}
@@ -2304,6 +2327,7 @@ Library openprocurement_client.utils @@ -2304,6 +2327,7 @@ Library openprocurement_client.utils
2304 ... ${tender} 2327 ... ${tender}
2305 ... access_token=${tender.access.token} 2328 ... access_token=${tender.access.token}
2306 Log ${reply} 2329 Log ${reply}
  2330 + Log ${\n}${API_HOST_URL}/api/${API_VERSION}/tenders/${reply.data.id}${\n} WARN
2307 2331
2308 ############################################################################## 2332 ##############################################################################
2309 # CONTRACT SIGNING 2333 # CONTRACT SIGNING
1 *** Settings *** 1 *** Settings ***
2 Resource base_keywords.robot 2 Resource base_keywords.robot
  3 +Resource aboveThreshold_keywords.robot
3 Suite Setup Test Suite Setup 4 Suite Setup Test Suite Setup
4 Suite Teardown Test Suite Teardown 5 Suite Teardown Test Suite Teardown
5 6
@@ -22,14 +23,35 @@ ${PLAN_TENDER} ${True} @@ -22,14 +23,35 @@ ${PLAN_TENDER} ${True}
22 Можливість оголосити тендер 23 Можливість оголосити тендер
23 24
24 25
  26 +Можливість оголосити тендер другого етапу
  27 + [Tags] ${USERS.users['${tender_owner}'].broker}: Оголошення тендера
  28 + ... tender_owner
  29 + ... ${USERS.users['${tender_owner}'].broker}
  30 + ... create_tender_stage2
  31 + ... critical
  32 + [Teardown] Оновити LAST_MODIFICATION_DATE
  33 + Завантажити дані про тендер
  34 + Можливість оголосити тендер другого етапу
  35 +
  36 +
  37 +Можливість знайти тендер по ідентифікатору для замовника
  38 + [Tags] ${USERS.users['${tender_owner}'].broker}: Пошук тендера
  39 + ... tender_owner
  40 + ... ${USERS.users['${tender_owner}'].broker}
  41 + ... find_tender_tender_owner
  42 + ... critical
  43 + [Setup] Дочекатись синхронізації з майданчиком ${tender_owner}
  44 + Можливість знайти тендер по ідентифікатору для користувача ${tender_owner}
  45 +
  46 +
25 Можливість знайти тендер по ідентифікатору 47 Можливість знайти тендер по ідентифікатору
26 [Tags] ${USERS.users['${viewer}'].broker}: Пошук тендера 48 [Tags] ${USERS.users['${viewer}'].broker}: Пошук тендера
27 - ... viewer tender_owner 49 + ... viewer tender_owner provider provider1
28 ... ${USERS.users['${viewer}'].broker} ${USERS.users['${tender_owner}'].broker} 50 ... ${USERS.users['${viewer}'].broker} ${USERS.users['${tender_owner}'].broker}
  51 + ... ${USERS.users['${provider}'].broker} ${USERS.users['${provider1}'].broker}
29 ... find_tender 52 ... find_tender
30 - [Teardown] Оновити LAST_MODIFICATION_DATE  
31 - :FOR ${username} IN ${tender_owner} ${viewer}  
32 - \ Можливість знайти тендер по ідентифікатору для користувача ${username} 53 + ... critical
  54 + Можливість знайти тендер по ідентифікатору для усіх користувачів
33 55
34 56
35 Можливість подати пропозицію першим учасником 57 Можливість подати пропозицію першим учасником
@@ -43,6 +65,17 @@ ${PLAN_TENDER} ${True} @@ -43,6 +65,17 @@ ${PLAN_TENDER} ${True}
43 Можливість подати цінову пропозицію користувачем ${provider} 65 Можливість подати цінову пропозицію користувачем ${provider}
44 66
45 67
  68 +Можливість подати пропозицію першим учасником 2 етап рамкової угоди
  69 + [Tags] ${USERS.users['${provider}'].broker}: Подання пропозиції
  70 + ... provider
  71 + ... ${USERS.users['${provider}'].broker}
  72 + ... selection_make_bid_by_provider
  73 + ... critical
  74 + [Setup] Дочекатись дати початку прийому пропозицій ${provider} ${TENDER['TENDER_UAID']}
  75 + [Teardown] Оновити LAST_MODIFICATION_DATE
  76 + Можливість подати цінову пропозицію на другому етапі рамкової угоди користувачем ${provider} ${0}
  77 +
  78 +
46 Можливість подати пропозицію другим учасником 79 Можливість подати пропозицію другим учасником
47 [Tags] ${USERS.users['${provider1}'].broker}: Подання пропозиції 80 [Tags] ${USERS.users['${provider1}'].broker}: Подання пропозиції
48 ... provider1 81 ... provider1
@@ -54,6 +87,17 @@ ${PLAN_TENDER} ${True} @@ -54,6 +87,17 @@ ${PLAN_TENDER} ${True}
54 Можливість подати цінову пропозицію користувачем ${provider1} 87 Можливість подати цінову пропозицію користувачем ${provider1}
55 88
56 89
  90 +Можливість подати пропозицію другим учасником 2 етап рамкової угоди
  91 + [Tags] ${USERS.users['${provider1}'].broker}: Подання пропозиції
  92 + ... provider1
  93 + ... ${USERS.users['${provider1}'].broker}
  94 + ... selection_make_bid_by_provider1
  95 + ... critical
  96 + [Setup] Дочекатись дати початку прийому пропозицій ${provider1} ${TENDER['TENDER_UAID']}
  97 + [Teardown] Оновити LAST_MODIFICATION_DATE
  98 + Можливість подати цінову пропозицію на другому етапі рамкової угоди користувачем ${provider1} ${1}
  99 +
  100 +
57 Можливість подати пропозицію третім учасником 101 Можливість подати пропозицію третім учасником
58 [Tags] ${USERS.users['${provider1}'].broker}: Подання пропозиції 102 [Tags] ${USERS.users['${provider1}'].broker}: Подання пропозиції
59 ... provider2 103 ... provider2
@@ -76,6 +120,383 @@ ${PLAN_TENDER} ${True} @@ -76,6 +120,383 @@ ${PLAN_TENDER} ${True}
76 Оновити LAST_MODIFICATION_DATE 120 Оновити LAST_MODIFICATION_DATE
77 121
78 ############################################################################################## 122 ##############################################################################################
  123 +# PRE-QUALIFICATION
  124 +##############################################################################################
  125 +
  126 +Дочекатись початку періоду пре-кваліфікації
  127 + [Tags] ${USERS.users['${tender_owner}'].broker}: Очікування початку періоду пре-кваліфікації учасників
  128 + ... tender_owner
  129 + ... ${USERS.users['${tender_owner}'].broker}
  130 + ... wait_active_pre-qualification_start
  131 + Дочекатись дати початку періоду прекваліфікації ${tender_owner} ${TENDER['TENDER_UAID']}
  132 +
  133 +
  134 +Відображення статусу першої пропозиції кваліфікації
  135 + [Tags] ${USERS.users['${tender_owner}'].broker}: Кваліфікація
  136 + ... tender_owner
  137 + ... ${USERS.users['${tender_owner}'].broker}
  138 + ... pre-qualification_view
  139 + ... non-critical
  140 + [Setup] Дочекатись дати початку періоду прекваліфікації ${tender_owner} ${TENDER['TENDER_UAID']}
  141 + Звірити відображення поля qualifications[0].status тендера із pending для користувача ${tender_owner}
  142 +
  143 +
  144 +Відображення статусу другої пропозиції кваліфікації
  145 + [Tags] ${USERS.users['${tender_owner}'].broker}: Кваліфікація
  146 + ... tender_owner
  147 + ... ${USERS.users['${tender_owner}'].broker}
  148 + ... pre-qualification_view
  149 + ... non-critical
  150 + [Setup] Дочекатись дати початку періоду прекваліфікації ${tender_owner} ${TENDER['TENDER_UAID']}
  151 + Звірити відображення поля qualifications[1].status тендера із pending для користувача ${tender_owner}
  152 +
  153 +
  154 +Відображення статусу третьої пропозиції кваліфікації
  155 + [Tags] ${USERS.users['${tender_owner}'].broker}: Кваліфікація
  156 + ... tender_owner
  157 + ... ${USERS.users['${tender_owner}'].broker}
  158 + ... pre-qualification_view
  159 + ... non-critical
  160 + [Setup] Дочекатись дати початку періоду прекваліфікації ${tender_owner} ${TENDER['TENDER_UAID']}
  161 + Звірити відображення поля qualifications[2].status тендера із pending для користувача ${tender_owner}
  162 +
  163 +
  164 +Можливість підтвердити першу пропозицію кваліфікації
  165 + [Tags] ${USERS.users['${tender_owner}'].broker}: Кваліфікація
  166 + ... tender_owner
  167 + ... ${USERS.users['${tender_owner}'].broker}
  168 + ... pre-qualification_approve_first_bid level1
  169 + ... critical
  170 + [Setup] Дочекатись дати початку періоду прекваліфікації ${tender_owner} ${TENDER['TENDER_UAID']}
  171 + [Teardown] Оновити LAST_MODIFICATION_DATE
  172 + Можливість підтвердити 0 пропозицію кваліфікації
  173 +
  174 +
  175 +Можливість підтвердити другу пропозицію кваліфікації
  176 + [Tags] ${USERS.users['${tender_owner}'].broker}: Кваліфікація
  177 + ... tender_owner
  178 + ... ${USERS.users['${tender_owner}'].broker}
  179 + ... pre-qualification_approve_second_bid level1
  180 + ... critical
  181 + [Teardown] Оновити LAST_MODIFICATION_DATE
  182 + Можливість підтвердити 1 пропозицію кваліфікації
  183 +
  184 +
  185 +Можливість підтвердити третю пропозицію кваліфікації
  186 + [Tags] ${USERS.users['${tender_owner}'].broker}: Кваліфікація
  187 + ... tender_owner
  188 + ... ${USERS.users['${tender_owner}'].broker}
  189 + ... pre-qualification_approve_third_bid level1
  190 + ... critical
  191 + [Teardown] Оновити LAST_MODIFICATION_DATE
  192 + Можливість підтвердити 2 пропозицію кваліфікації
  193 +
  194 +
  195 +Можливість підтвердити четверту пропозицію кваліфікації
  196 + [Tags] ${USERS.users['${tender_owner}'].broker}: Кваліфікація
  197 + ... tender_owner
  198 + ... ${USERS.users['${tender_owner}'].broker}
  199 + ... pre-qualification_approve_fourth_bid level1
  200 + ... critical
  201 + [Teardown] Оновити LAST_MODIFICATION_DATE
  202 + Можливість підтвердити 3 пропозицію кваліфікації
  203 +
  204 +
  205 +Можливість підтвердити п'яту пропозицію кваліфікації
  206 + [Tags] ${USERS.users['${tender_owner}'].broker}: Кваліфікація
  207 + ... tender_owner
  208 + ... ${USERS.users['${tender_owner}'].broker}
  209 + ... pre-qualification_approve_fifth_bid level1
  210 + ... critical
  211 + [Teardown] Оновити LAST_MODIFICATION_DATE
  212 + Можливість підтвердити 4 пропозицію кваліфікації
  213 +
  214 +
  215 +Можливість підтвердити шосту пропозицію кваліфікації
  216 + [Tags] ${USERS.users['${tender_owner}'].broker}: Кваліфікація
  217 + ... tender_owner
  218 + ... ${USERS.users['${tender_owner}'].broker}
  219 + ... pre-qualification_approve_sixth_bid level1
  220 + ... critical
  221 + [Teardown] Оновити LAST_MODIFICATION_DATE
  222 + Можливість підтвердити 5 пропозицію кваліфікації
  223 +
  224 +
  225 +Можливість затвердити остаточне рішення кваліфікації
  226 + [Tags] ${USERS.users['${tender_owner}'].broker}: Кваліфікація
  227 + ... tender_owner
  228 + ... ${USERS.users['${tender_owner}'].broker}
  229 + ... pre-qualification_approve_qualifications level1
  230 + ... critical
  231 + [Setup] Дочекатись синхронізації з майданчиком ${tender_owner}
  232 + [Teardown] Оновити LAST_MODIFICATION_DATE
  233 + Можливість затвердити остаточне рішення кваліфікації
  234 +
  235 +
  236 +Відображення статусу блокування перед початком аукціону
  237 + [Tags] ${USERS.users['${tender_owner}'].broker}: Кваліфікація
  238 + ... tender_owner
  239 + ... ${USERS.users['${tender_owner}'].broker}
  240 + ... pre-qualification_view
  241 + ... non-critical
  242 + [Setup] Дочекатись синхронізації з майданчиком ${tender_owner}
  243 + Звірити статус тендера ${tender_owner} ${TENDER['TENDER_UAID']} active.pre-qualification.stand-still
  244 +
  245 +
  246 +Відображення дати закінчення періоду блокування перед початком аукціону
  247 + [Tags] ${USERS.users['${tender_owner}'].broker}: Кваліфікація
  248 + ... tender_owner
  249 + ... ${USERS.users['${tender_owner}'].broker}
  250 + ... pre-qualification_view
  251 + ... non-critical
  252 + [Teardown] Дочекатись дати закінчення періоду прекваліфікації ${tender_owner} ${TENDER['TENDER_UAID']}
  253 + Отримати дані із поля qualificationPeriod.endDate тендера для усіх користувачів
  254 +
  255 +##############################################################################################
  256 +# SECOND STAGE
  257 +##############################################################################################
  258 +
  259 +Можливість дочекатися початку періоду очікування
  260 + [Tags] ${USERS.users['${tender_owner}'].broker}: Процес очікування оскаржень
  261 + ... tender_owner
  262 + ... ${USERS.users['${tender_owner}'].broker}
  263 + ... stage2_pending_status_view
  264 + ... critical
  265 + Отримати дані із поля qualificationPeriod.endDate тендера для усіх користувачів
  266 + Дочекатись дати закінчення періоду прекваліфікації ${tender_owner} ${TENDER['TENDER_UAID']}
  267 + Звірити статус тендера ${tender_owner} ${TENDER['TENDER_UAID']} active.stage2.pending
  268 +
  269 +
  270 +Можливість перевести тендер в статус очікування обробки мостом
  271 + [Tags] ${USERS.users['${tender_owner}'].broker}: Процес переведення статусу у active.stage2.waiting.
  272 + ... tender_owner
  273 + ... ${USERS.users['${tender_owner}'].broker}
  274 + ... stage2_pending_status_view
  275 + ... critical
  276 + [Setup] Дочекатись синхронізації з майданчиком ${tender_owner}
  277 + [Teardown] Оновити LAST_MODIFICATION_DATE
  278 + Можливість перевести тендер на статус очікування обробки мостом
  279 +
  280 +
  281 +Можливість дочекатися завершення роботи мосту
  282 + [Tags] ${USERS.users['${viewer}'].broker}: Процес очікування обробки мостом
  283 + ... viewer
  284 + ... ${USERS.users['${viewer}'].broker}
  285 + ... wait_bridge_for_work
  286 + ... critical
  287 + Дочекатися створення нового етапу мостом ${tender_owner} ${TENDER['TENDER_UAID']}
  288 + Звірити статус тендера ${tender_owner} ${TENDER['TENDER_UAID']} complete
  289 +
  290 +
  291 +Можливість активувати тендер другого етапу
  292 + [Tags] ${USERS.users['${viewer}'].broker}: Активувати тендер другого етапу
  293 + ... tender_owner
  294 + ... ${USERS.users['${tender_owner}'].broker}
  295 + ... activate_second_stage
  296 + ... critical
  297 + [Setup] Дочекатись синхронізації з майданчиком ${tender_owner}
  298 + Активувати тендер другого етапу
  299 +
  300 +
  301 +Можливість знайти тендер другого етапу по ідентифікатору для усіх користувачів
  302 + [Tags] ${USERS.user['${tender_owner}'].broker}: Пошук тендера другого етапу
  303 + ... viewer tender_owner provider provider1
  304 + ... ${USERS.users['${viewer}'].broker} ${USERS.users['${tender_owner}'].broker}
  305 + ... ${USERS.users['${provider}'].broker} ${USERS.users['${provider1}'].broker}
  306 + ... get_second_stage
  307 + ... critical
  308 + Можливість знайти тендер другого етапу по ідентифікатору для усіх користувачів
  309 +
  310 +
  311 +Відображення заголовку тендера другого етапу
  312 + [Tags] ${USERS.user['${tender_owner}'].broker}: Відображення основних даних тендера другого етапу
  313 + ... viewer tender_owner provider provider1
  314 + ... ${USERS.users['${viewer}'].broker} ${USERS.users['${tender_owner}'].broker}
  315 + ... ${USERS.users['${provider}'].broker} ${USERS.users['${provider1}'].broker}
  316 + ... compare_stages
  317 + ... critical
  318 + Отримати дані із поля title тендера другого етапу для усіх користувачів
  319 +
  320 +
  321 +Відображення мінімального кроку закупівлі другого етапу
  322 + [Tags] ${USERS.user['${tender_owner}'].broker}: Відображення основних даних тендера другого етапу
  323 + ... viewer tender_owner provider provider1
  324 + ... ${USERS.users['${viewer}'].broker} ${USERS.users['${tender_owner}'].broker}
  325 + ... ${USERS.users['${provider}'].broker} ${USERS.users['${provider1}'].broker}
  326 + ... compare_stages
  327 + ... critical
  328 + Отримати дані із поля minimalStep.amount тендера другого етапу для усіх користувачів
  329 +
  330 +
  331 +Відображення доступного бюджету закупівлі другого етапу
  332 + [Tags] ${USERS.user['${tender_owner}'].broker}: Відображення основних даних тендера другого етапу
  333 + ... viewer tender_owner provider provider1
  334 + ... ${USERS.users['${viewer}'].broker} ${USERS.users['${tender_owner}'].broker}
  335 + ... ${USERS.users['${provider}'].broker} ${USERS.users['${provider1}'].broker}
  336 + ... compare_stages
  337 + ... critical
  338 + Отримати дані із поля value.amount тендера другого етапу для усіх користувачів
  339 +
  340 +
  341 +Відображення опису закупівлі другого етапу
  342 + [Tags] ${USERS.user['${tender_owner}'].broker}: Відображення основних даних тендера другого етапу
  343 + ... viewer tender_owner provider provider1
  344 + ... ${USERS.users['${viewer}'].broker} ${USERS.users['${tender_owner}'].broker}
  345 + ... ${USERS.users['${provider}'].broker} ${USERS.users['${provider1}'].broker}
  346 + ... compare_stages
  347 + ... non-critical
  348 + Отримати дані із поля description тендера другого етапу для усіх користувачів
  349 +
  350 +
  351 +Відображення імені замовника тендера для другого етапу
  352 + [Tags] ${USERS.user['${tender_owner}'].broker}: Відображення основних даних тендера другого етапу
  353 + ... viewer tender_owner provider provider1
  354 + ... ${USERS.users['${viewer}'].broker} ${USERS.users['${tender_owner}'].broker}
  355 + ... ${USERS.users['${provider}'].broker} ${USERS.users['${provider1}'].broker}
  356 + ... compare_stages
  357 + ... critical
  358 + Отримати дані із поля procuringEntity.name тендера другого етапу для усіх користувачів
  359 +
  360 +
  361 +Відображення початку періоду прийому пропозицій тендера другого етапу
  362 + [Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних тендера другого етапу
  363 + ... viewer tender_owner provider provider1
  364 + ... ${USERS.users['${viewer}'].broker} ${USERS.users['${tender_owner}'].broker}
  365 + ... ${USERS.users['${provider}'].broker} ${USERS.users['${provider1}'].broker}
  366 + ... compare_stages
  367 + ... critical
  368 + Отримати дані із поля tenderPeriod.startDate тендера другого етапу для усіх користувачів
  369 +
  370 +
  371 +Відображення закінчення періоду прийому пропозицій тендера другого етапу
  372 + [Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних тендера другого етапу
  373 + ... viewer tender_owner provider provider1
  374 + ... ${USERS.users['${viewer}'].broker} ${USERS.users['${tender_owner}'].broker}
  375 + ... ${USERS.users['${provider}'].broker} ${USERS.users['${provider1}'].broker}
  376 + ... compare_stages
  377 + ... critical
  378 + Отримати дані із поля tenderPeriod.endDate тендера другого етапу для усіх користувачів
  379 +
  380 +
  381 +Можливість подати пропозицію першим учасником на другому етапі
  382 + [Tags] ${USERS.users['${provider}'].broker}: Подання пропозиції
  383 + ... provider
  384 + ... ${USERS.users['${provider}'].broker}
  385 + ... make_bid_by_provider_second_stage
  386 + ... critical
  387 + [Setup] Дочекатись дати початку прийому пропозицій ${provider} ${TENDER['TENDER_UAID']}
  388 + [Teardown] Оновити LAST_MODIFICATION_DATE
  389 + Можливість подати цінову пропозицію на другий етап користувачем ${provider}
  390 +
  391 +
  392 +Можливість подати пропозицію другим учасником на другому етапі
  393 + [Tags] ${USERS.users['${provider1}'].broker}: Подання пропозиції на другий етап
  394 + ... provider1
  395 + ... ${USERS.users['${provider1}'].broker}
  396 + ... make_bid_by_provider1_second_stage
  397 + ... critical
  398 + [Teardown] Оновити LAST_MODIFICATION_DATE
  399 + Можливість подати цінову пропозицію на другий етап користувачем ${provider1}
  400 +
  401 +
  402 +Можливість підтвердити першу пропозицію кваліфікації на другому етапі
  403 + [Tags] ${USERS.users['${tender_owner}'].broker}: Кваліфікація на другому етапі
  404 + ... tender_owner
  405 + ... ${USERS.users['${tender_owner}'].broker}
  406 + ... pre-qualification_approve_first_bid_second_stage
  407 + [Setup] Дочекатись дати початку періоду прекваліфікації ${tender_owner} ${TENDER['TENDER_UAID']}
  408 + [Teardown] Оновити LAST_MODIFICATION_DATE
  409 + Можливість підтвердити 0 пропозицію кваліфікації
  410 +
  411 +
  412 +Можливість підтвердити другу пропозицію кваліфікації на другогму етапі
  413 + [Tags] ${USERS.users['${tender_owner}'].broker}: Кваліфікація на другому етапі
  414 + ... tender_owner
  415 + ... ${USERS.users['${tender_owner}'].broker}
  416 + ... pre-qualification_approve_second_bid_second_stage
  417 + [Teardown] Оновити LAST_MODIFICATION_DATE
  418 + Можливість підтвердити -1 пропозицію кваліфікації
  419 +
  420 +
  421 +Можливість затвердити остаточне рішення кваліфікації на другому етапі
  422 + [Tags] ${USERS.users['${tender_owner}'].broker}: Кваліфікація на другому етапі
  423 + ... tender_owner
  424 + ... ${USERS.users['${tender_owner}'].broker}
  425 + ... pre-qualification_approve_qualifications_second_stage
  426 + [Setup] Дочекатись синхронізації з майданчиком ${tender_owner}
  427 + [Teardown] Оновити LAST_MODIFICATION_DATE
  428 + Можливість затвердити остаточне рішення кваліфікації
  429 +
  430 +##############################################################################################
  431 +# QUALIFICATION
  432 +##############################################################################################
  433 +
  434 +Дочекатись початку періоду кваліфікації
  435 + [Tags] ${USERS.users['${tender_owner}'].broker}: Очікування початку періоду кваліфікації учасників
  436 + ... tender_owner
  437 + ... ${USERS.users['${tender_owner}'].broker}
  438 + ... wait_active_qualification_start
  439 + Дочекатись дати початку періоду кваліфікації ${tender_owner} ${TENDER['TENDER_UAID']}
  440 +
  441 +
  442 +Можливість підтвердити постачальника
  443 + [Tags] ${USERS.users['${tender_owner}'].broker}: Процес кваліфікації
  444 + ... tender_owner
  445 + ... ${USERS.users['${tender_owner}'].broker}
  446 + ... qualification_approve_first_award
  447 + ... critical
  448 + [Setup] Дочекатись дати початку періоду кваліфікації ${tender_owner} ${TENDER['TENDER_UAID']}
  449 + Run As ${tender_owner} Підтвердити постачальника ${TENDER['TENDER_UAID']} 0
  450 +
  451 +
  452 +Можливість підтвердити другого постачальника
  453 + [Tags] ${USERS.users['${tender_owner}'].broker}: Процес кваліфікації
  454 + ... tender_owner
  455 + ... ${USERS.users['${tender_owner}'].broker}
  456 + ... qualification_approve_second_award
  457 + ... critical
  458 + Run As ${tender_owner} Підтвердити постачальника ${TENDER['TENDER_UAID']} 1
  459 +
  460 +
  461 +Можливість підтвердити третього постачальника
  462 + [Tags] ${USERS.users['${tender_owner}'].broker}: Процес кваліфікації
  463 + ... tender_owner
  464 + ... ${USERS.users['${tender_owner}'].broker}
  465 + ... qualification_approve_third_award
  466 + ... critical
  467 + Run As ${tender_owner} Підтвердити постачальника ${TENDER['TENDER_UAID']} 2
  468 +
  469 +
  470 +Дочекатись початку періоду підписання угоди
  471 + [Tags] ${USERS.users['${tender_owner}'].broker}: Очікування початку періоду підписання угоди
  472 + ... tender_owner
  473 + ... ${USERS.users['${tender_owner}'].broker}
  474 + ... wait_active_awarded_start
  475 + Дочекатись дати початку періоду підписання угоди ${tender_owner} ${TENDER['TENDER_UAID']}
  476 +
  477 +
  478 +Відображення закінчення періоду подачі скарг на пропозицію
  479 + [Tags] ${USERS.users['${tender_owner}'].broker}: Відображення основних даних тендера
  480 + ... viewer
  481 + ... ${USERS.users['${tender_owner}'].broker}
  482 + ... award_stand_still
  483 + ... critical
  484 + ${award_index}= Отримати останній індекс awards ${tender_owner} ${viewer}
  485 + :FOR ${username} IN ${viewer}
  486 + \ Отримати дані із тендера ${username} ${TENDER['TENDER_UAID']} awards[${award_index}].complaintPeriod.endDate
  487 +
  488 +
  489 +Дочекатися закічення stand still періоду
  490 + [Tags] ${USERS.users['${tender_owner}'].broker}: Процес укладання угоди
  491 + ... viewer
  492 + ... ${USERS.users['${tender_owner}'].broker}
  493 + ... award_stand_still
  494 + ... critical
  495 + ${award_index}= Отримати останній індекс awards ${tender_owner} ${viewer}
  496 + ${standstillEnd}= Get Variable Value ${USERS.users['${viewer}'].tender_data.data.awards[${award_index}].complaintPeriod.endDate}
  497 + Дочекатись дати ${standstillEnd}
  498 +
  499 +##############################################################################################
79 # LOT CANCELLATION 500 # LOT CANCELLATION
80 ############################################################################################## 501 ##############################################################################################
81 502
@@ -81,7 +81,7 @@ Quinta: @@ -81,7 +81,7 @@ Quinta:
81 framework_selection: 81 framework_selection:
82 accelerator: 360 82 accelerator: 360
83 priceQuotation: 83 priceQuotation:
84 - tender: [0, 10] 84 + tender: [0, 15]
85 accelerator: 1440 85 accelerator: 1440
86 keywords_file: openprocurement_client 86 keywords_file: openprocurement_client
87 roles: 87 roles:
@@ -376,6 +376,12 @@ def test_tender_data_planning(params): @@ -376,6 +376,12 @@ def test_tender_data_planning(params):
376 breakdown_element = test_breakdown_data() 376 breakdown_element = test_breakdown_data()
377 breakdown_element['value']['amount'] = value 377 breakdown_element['value']['amount'] = value
378 data['budget']['breakdown'].append(breakdown_element) 378 data['budget']['breakdown'].append(breakdown_element)
  379 + if params['mode'] == "priceQuotation":
  380 + for buyer in data['buyers']:
  381 + del buyer['kind']
  382 + del buyer['address']
  383 + del data['procuringEntity']['kind']
  384 + del data['procuringEntity']['address']
379 return munchify(data) 385 return munchify(data)
380 386
381 387
@@ -692,25 +698,33 @@ def test_bid_data_selection(data, index): @@ -692,25 +698,33 @@ def test_bid_data_selection(data, index):
692 return bid 698 return bid
693 699
694 700
695 -def test_bid_data_pq(data, over_limit): 701 +def test_bid_data_pq(data, over_limit=False, missing_criteria=False, more_than_two_requirements=False, invalid_expected_value=False):
696 bid = test_bid_data() 702 bid = test_bid_data()
697 bid.data.requirementResponses = [] 703 bid.data.requirementResponses = []
698 - for criteria in data['criteria']:  
699 - for requirements in criteria['requirementGroups']:  
700 - for requirement in requirements['requirements']:  
701 - if requirement.get('expectedValue'):  
702 - value = requirement.get('expectedValue')  
703 - else:  
704 - value = fake.random_int(min=int(requirement.get('minValue')), max=int(data['value']['amount']))  
705 - requirement = {  
706 - "requirement": {"id": requirement['id']},  
707 - "value": value  
708 - }  
709 - bid.data.requirementResponses.append(requirement) 704 + if 'criteria' in data:
  705 + for criteria in data['criteria']:
  706 + for requirements in criteria['requirementGroups']:
  707 + for requirement in requirements['requirements']:
  708 + if requirement.get('expectedValue'):
  709 + value = requirement.get('expectedValue')
  710 + if invalid_expected_value:
  711 + value = "invalid_value"
  712 + else:
  713 + value = fake.random_int(min=int(requirement.get('minValue')), max=int(data['value']['amount']))
  714 + requirement = {
  715 + "requirement": {"id": requirement['id']},
  716 + "value": value
  717 + }
  718 + bid.data.requirementResponses.append(requirement)
  719 + if not more_than_two_requirements:
  720 + break
710 bid.data['status'] = 'draft' 721 bid.data['status'] = 'draft'
711 - bid.data.update(test_bid_value(fake.random_int(min=1, max=int(data['value']['amount'])), data['value']['valueAddedTaxIncluded'])) 722 + bid.data.update(test_bid_value(fake.random_int(min=1, max=int(data['value']['amount'])),
  723 + data['value']['valueAddedTaxIncluded']))
712 if over_limit: 724 if over_limit:
713 bid.data['value']['amount'] = int(data['value']['amount']) + fake.random_int(min=1, max=1000) 725 bid.data['value']['amount'] = int(data['value']['amount']) + fake.random_int(min=1, max=1000)
  726 + if missing_criteria:
  727 + del bid['data']['requirementResponses'][-1]
714 return bid 728 return bid
715 729
716 730
@@ -1046,15 +1060,27 @@ def test_tender_data_esco(params, submissionMethodDetails, plan_data): @@ -1046,15 +1060,27 @@ def test_tender_data_esco(params, submissionMethodDetails, plan_data):
1046 def test_tender_data_pq(params, submissionMethodDetails, plan_data): 1060 def test_tender_data_pq(params, submissionMethodDetails, plan_data):
1047 data = test_tender_data(params, plan_data, ('tender',), submissionMethodDetails) 1061 data = test_tender_data(params, plan_data, ('tender',), submissionMethodDetails)
1048 del data["minimalStep"] 1062 del data["minimalStep"]
  1063 + del data["title_en"]
1049 data['procurementMethodType'] = 'priceQuotation' 1064 data['procurementMethodType'] = 'priceQuotation'
1050 - if params['profile']:  
1051 - data['profile'] = fake.valid_profile()  
1052 - else: 1065 + data["procuringEntity"]["kind"] = random.choice(['authority', 'defense', 'general', 'other', 'social', 'special'])
  1066 + data['profile'] = fake.valid_profile()
  1067 + if params.get('wrong_profile'):
1053 data['profile'] = fake.invalid_profile() 1068 data['profile'] = fake.invalid_profile()
1054 - if params['wrong_tender_date']: 1069 + if params.get('wrong_tender_date'):
1055 start_date = data['tenderPeriod']['startDate'] 1070 start_date = data['tenderPeriod']['startDate']
1056 from op_robot_tests.tests_files.service_keywords import add_minutes_to_date 1071 from op_robot_tests.tests_files.service_keywords import add_minutes_to_date
1057 data['tenderPeriod']['endDate'] = add_minutes_to_date(start_date, 1) 1072 data['tenderPeriod']['endDate'] = add_minutes_to_date(start_date, 1)
  1073 + if params.get('empty_profile'):
  1074 + data['profile'] = ""
  1075 + if params.get('tender_wrong_status'):
  1076 + data['status'] = fake.wrong_status()
  1077 + if params.get('profiles_hidden_status'):
  1078 + data['profile'] = fake.profiles_hidden()
  1079 + if params.get('profiles_shortlistedfirms_empty'):
  1080 + data['profile'] = fake.shortlistedfirms_empty()
  1081 + if params.get('unknown_profile'):
  1082 + data['profile'] = fake.tender_unknown_profile()
  1083 +
1058 return munchify(data) 1084 return munchify(data)
1059 1085
1060 1086
@@ -332,7 +332,7 @@ Get Broker Property By Username @@ -332,7 +332,7 @@ Get Broker Property By Username
332 332
333 333
334 Підготувати дані для подання пропозиції 334 Підготувати дані для подання пропозиції
335 - ${bid}= generate_test_bid_data ${USERS.users['${tender_owner}'].initial_data.data} 335 + ${bid}= generate_test_bid_data ${USERS.users['${tender_owner}'].tender_data.data}
336 [Return] ${bid} 336 [Return] ${bid}
337 337
338 338
@@ -353,7 +353,14 @@ Get Broker Property By Username @@ -353,7 +353,14 @@ Get Broker Property By Username
353 Підготувати дані для подання пропозиції priceQuotation 353 Підготувати дані для подання пропозиції priceQuotation
354 [Arguments] ${username} 354 [Arguments] ${username}
355 ${BID_OVER_LIMIT}= Get Variable Value ${BID_OVER_LIMIT} ${False} 355 ${BID_OVER_LIMIT}= Get Variable Value ${BID_OVER_LIMIT} ${False}
356 - ${bid}= test_bid_data_pq ${USERS.users['${username}'].tender_data.data} ${BID_OVER_LIMIT} 356 + ${BID_ONE_OF_THE_CRITERIAS_IS_MISSING}= Get Variable Value ${BID_ONE_OF_THE_CRITERIAS_IS_MISSING} ${False}
  357 + ${BID_SAME_GROUPS_DIFFERENT_CRITERIA}= Get Variable Value ${BID_SAME_GROUPS_DIFFERENT_CRITERIA} ${False}
  358 + ${BID_INVALID_EXPECTED_VALUE}= Get Variable Value ${BID_INVALID_EXPECTED_VALUE} ${False}
  359 + ${bid}= test_bid_data_pq ${USERS.users['${username}'].tender_data.data}
  360 + ... ${BID_OVER_LIMIT}
  361 + ... ${BID_ONE_OF_THE_CRITERIAS_IS_MISSING}
  362 + ... ${BID_SAME_GROUPS_DIFFERENT_CRITERIA}
  363 + ... ${BID_INVALID_EXPECTED_VALUE}
357 [Return] ${bid} 364 [Return] ${bid}
358 365
359 366
@@ -1219,6 +1226,19 @@ Require Failure @@ -1219,6 +1226,19 @@ Require Failure
1219 ... active.qualification 1226 ... active.qualification
1220 1227
1221 1228
  1229 +Дочекатись дати початку періоду підписання угоди
  1230 + [Arguments] ${username} ${tender_uaid}
  1231 + Оновити LAST_MODIFICATION_DATE
  1232 + Дочекатись синхронізації з майданчиком ${username}
  1233 + Wait until keyword succeeds
  1234 + ... 40 min 15 sec
  1235 + ... 15 sec
  1236 + ... Звірити статус тендера
  1237 + ... ${username}
  1238 + ... ${tender_uaid}
  1239 + ... active.awarded
  1240 +
  1241 +
1222 Дочекатись дати закінчення періоду кваліфікації 1242 Дочекатись дати закінчення періоду кваліфікації
1223 [Arguments] ${username} ${tender_uaid} 1243 [Arguments] ${username} ${tender_uaid}
1224 Дочекатись синхронізації з майданчиком ${username} 1244 Дочекатись синхронізації з майданчиком ${username}
@@ -35,6 +35,10 @@ class OP_Provider(BaseProvider): @@ -35,6 +35,10 @@ class OP_Provider(BaseProvider):
35 procuringTenderers = _fake_data.procuringTenderers 35 procuringTenderers = _fake_data.procuringTenderers
36 valid_profile_ids = _fake_data.valid_profile_ids 36 valid_profile_ids = _fake_data.valid_profile_ids
37 invalid_profile_ids = _fake_data.invalid_profile_ids 37 invalid_profile_ids = _fake_data.invalid_profile_ids
  38 + tender_wrong_status = _fake_data.wrong_status_when_create_tender
  39 + profiles_hidden_status = _fake_data.profiles_hidden_status
  40 + profiles_shortlistedfirms_empty = _fake_data.profiles_shortlistedfirms_empty
  41 + unknown_profile = _fake_data.unknown_profiles
38 42
39 @classmethod 43 @classmethod
40 def randomize_nb_elements(self, number=10, le=60, ge=140): 44 def randomize_nb_elements(self, number=10, le=60, ge=140):
@@ -234,3 +238,19 @@ class OP_Provider(BaseProvider): @@ -234,3 +238,19 @@ class OP_Provider(BaseProvider):
234 @classmethod 238 @classmethod
235 def invalid_profile(self): 239 def invalid_profile(self):
236 return self.random_element(self.invalid_profile_ids) 240 return self.random_element(self.invalid_profile_ids)
  241 +
  242 + @classmethod
  243 + def wrong_status(self):
  244 + return self.random_element(self.tender_wrong_status)
  245 +
  246 + @classmethod
  247 + def profiles_hidden(self):
  248 + return self.random_element(self.profiles_hidden_status)
  249 +
  250 + @classmethod
  251 + def shortlistedfirms_empty(self):
  252 + return self.random_element(self.profiles_shortlistedfirms_empty)
  253 +
  254 + @classmethod
  255 + def tender_unknown_profile(self):
  256 + return self.random_element(self.unknown_profile)
@@ -8155,16 +8155,31 @@ @@ -8155,16 +8155,31 @@
8155 "anotherEvent" 8155 "anotherEvent"
8156 ], 8156 ],
8157 "valid_profile_ids": [ 8157 "valid_profile_ids": [
8158 - "400496-33600000-683398-42000777",  
8159 "999999-33140000-555666-42000111" 8158 "999999-33140000-555666-42000111"
8160 ], 8159 ],
8161 "invalid_profile_ids": [ 8160 "invalid_profile_ids": [
8162 - "195333-32420000-214469-40000777",  
8163 - "195333-32420000-214469-40000777",  
8164 - "116337-30120000-716781-40000777",  
8165 - "955288-33140000-949200-42000777",  
8166 - "488351-09130000-741375-40000777",  
8167 - "834922-33600000-125367-42000777",  
8168 - "966130-32420000-642438-40000777" 8161 + "333222-33140000-555666-42000111",
  8162 + "333222-33140000-999888-42000111",
  8163 + "999999-33140000-222111-42000111"
  8164 + ],
  8165 + "profiles_hidden_status": [
  8166 + "333222-33140000-555666-42000111"
  8167 + ],
  8168 + "profiles_shortlistedfirms_empty": [
  8169 + "333222-33140000-999888-42000111",
  8170 + "999999-33140000-222111-42000111"
  8171 + ],
  8172 + "unknown_profiles": [
  8173 + "834922-33600000-555555-55555555"
  8174 + ],
  8175 + "wrong_status_when_create_tender": [
  8176 + "draft.unsuccessful",
  8177 + "draft.publishing",
  8178 + "active.tendering",
  8179 + "active.qualification",
  8180 + "active.awarded",
  8181 + "cancelled",
  8182 + "unsuccessful",
  8183 + "complete"
8169 ] 8184 ]
8170 } 8185 }
@@ -21,7 +21,6 @@ ${VAT_INCLUDED} ${True} @@ -21,7 +21,6 @@ ${VAT_INCLUDED} ${True}
21 ${ROAD_INDEX} ${False} 21 ${ROAD_INDEX} ${False}
22 ${GMDN_INDEX} ${False} 22 ${GMDN_INDEX} ${False}
23 ${PLAN_TENDER} ${True} 23 ${PLAN_TENDER} ${True}
24 -${PROFILE} ${True}  
25 24
26 *** Test Cases *** 25 *** Test Cases ***
27 Неможливість оголосити тендер з tenderPeriod:endDate < 2 робочих дні 26 Неможливість оголосити тендер з tenderPeriod:endDate < 2 робочих дні
@@ -32,7 +31,119 @@ ${PROFILE} ${True} @@ -32,7 +31,119 @@ ${PROFILE} ${True}
32 ... critical 31 ... critical
33 [Teardown] Оновити LAST_MODIFICATION_DATE 32 [Teardown] Оновити LAST_MODIFICATION_DATE
34 Set Test Variable ${WRONG_TENDER_DATE} ${True} 33 Set Test Variable ${WRONG_TENDER_DATE} ${True}
35 - Run Keyword And Expect Error * Можливість оголосити тендер 34 + ${value}= Run Keyword And Expect Error * Можливість оголосити тендер з недоліками в параметрах
  35 + ${value}= Convert To Lowercase ${value}
  36 + Should Contain ${value} the tenderperiod cannot end earlier than 2 business days after the start
  37 +
  38 +
  39 +Неможливість оголосити тендер з порожнім profile параметром
  40 + [Tags] ${USERS.users['${tender_owner}'].broker}: Оголошення тендера
  41 + ... tender_owner
  42 + ... ${USERS.users['${tender_owner}'].broker}
  43 + ... create_tender_empty_profile level1
  44 + ... critical
  45 + [Teardown] Оновити LAST_MODIFICATION_DATE
  46 + Set Test Variable ${EMPTY_PROFILE} ${True}
  47 + ${value}= Run Keyword And Expect Error * Можливість оголосити тендер з недоліками в параметрах
  48 + ${value}= Convert To Lowercase ${value}
  49 + Should Contain ${value} the profile value doesn't match id pattern
  50 +
  51 +
  52 +Неможливість явно оголосити тендер з доступних статусів за виключенням draft
  53 + [Tags] ${USERS.users['${tender_owner}'].broker}: Оголошення тендера
  54 + ... tender_owner
  55 + ... ${USERS.users['${tender_owner}'].broker}
  56 + ... create_tender_without_2_phase_commit level1
  57 + ... critical
  58 + [Teardown] Оновити LAST_MODIFICATION_DATE
  59 + Set Test Variable ${TENDER_WRONG_STATUS} ${True}
  60 + Можливість оголосити тендер без 2-ї фази commit-у
  61 +
  62 +
  63 +Відображення статуса тендера draft
  64 + [Tags] ${USERS.users['${viewer}'].broker}: Відображення скасування тендера
  65 + ... viewer
  66 + ... ${USERS.users['${viewer}'].broker}
  67 + ... tender_view_status_draft
  68 + [Setup] Дочекатись синхронізації з майданчиком ${tender_owner}
  69 + Звірити поле тендера із значенням ${tender_owner} ${TENDER['TENDER_UAID']}
  70 + ... draft
  71 + ... status
  72 +
  73 +
  74 +Неможливість змінити tenderPeriod:endDate < 2 робочих дні
  75 + [Tags] ${USERS.users['${tender_owner}'].broker}: Оголошення тендера
  76 + ... tender_owner
  77 + ... ${USERS.users['${tender_owner}'].broker}
  78 + ... patch_tender_wrong_date level1
  79 + ... critical
  80 + [Teardown] Оновити LAST_MODIFICATION_DATE
  81 + ${endDate}= add_minutes_to_date ${USERS.users['${tender_owner}'].tender_data.data.tenderPeriod.startDate} 1
  82 + Перевірити неможливість зміни поля tenderPeriod.endDate тендера на значення ${endDate} для користувача ${tender_owner}
  83 +
  84 +
  85 +Неможливість змінити procuringEntity.kind на central
  86 + [Tags] ${USERS.users['${tender_owner}'].broker}: Оголошення тендера
  87 + ... tender_owner
  88 + ... ${USERS.users['${tender_owner}'].broker}
  89 + ... patch_tender_wrong_procuringEntity_kind level1
  90 + ... critical
  91 + [Teardown] Оновити LAST_MODIFICATION_DATE
  92 + Перевірити неможливість зміни поля procuringEntity.kind тендера на значення central для користувача ${tender_owner}
  93 +
  94 +
  95 +Неможливість змінити статус з draft на один із інших, крім draft.publishing
  96 + [Tags] ${USERS.users['${tender_owner}'].broker}: Редагування тендера
  97 + ... tender_owner
  98 + ... ${USERS.users['${tender_owner}'].broker}
  99 + ... impossible_change_tender_status_form_draft_to_another_except_draft_publishing level1
  100 + ... critical
  101 + [Teardown] Оновити LAST_MODIFICATION_DATE
  102 + @{statuses}= Create List
  103 + ... draft.unsuccessful
  104 + ... active.tendering
  105 + ... active.qualification
  106 + ... active.awarded
  107 + ... complete
  108 + ... cancelled
  109 + ... unsuccessful
  110 + :FOR ${status} IN @{statuses}
  111 + \ ${value}= Require Failure ${tender_owner} Внести зміни в тендер ${TENDER['TENDER_UAID']} status ${status}
  112 + \ Convert To Lowercase ${value}
  113 + \ Should Contain ${value} can't switch tender from status (draft) to (${status})
  114 +
  115 +
  116 +Можливість оголосити тендер з профайлом, статус якого hidden
  117 + [Tags] ${USERS.users['${tender_owner}'].broker}: Оголошення тендера
  118 + ... tender_owner
  119 + ... ${USERS.users['${tender_owner}'].broker}
  120 + ... create_tender_hidden level1
  121 + ... critical
  122 + [Teardown] Оновити LAST_MODIFICATION_DATE
  123 + Set Test Variable ${PROFILES_HIDDEN_STATUS} ${True}
  124 + Можливість оголосити тендер з недоліками в параметрах
  125 +
  126 +
  127 +Можливість оголосити тендер з пустим shortlistedfirms
  128 + [Tags] ${USERS.users['${tender_owner}'].broker}: Оголошення тендера
  129 + ... tender_owner
  130 + ... ${USERS.users['${tender_owner}'].broker}
  131 + ... create_tender_shortlistedfirms_empty level1
  132 + ... critical
  133 + [Teardown] Оновити LAST_MODIFICATION_DATE
  134 + Set Test Variable ${PROFILES_SHORTLISTEDFIRMS_EMPTY} ${True}
  135 + Можливість оголосити тендер з недоліками в параметрах
  136 +
  137 +
  138 +Можливість оголосити тендер з неіснуючим профайлом
  139 + [Tags] ${USERS.users['${tender_owner}'].broker}: Оголошення тендера
  140 + ... tender_owner
  141 + ... ${USERS.users['${tender_owner}'].broker}
  142 + ... create_tender_unknown_profile level1
  143 + ... critical
  144 + [Teardown] Оновити LAST_MODIFICATION_DATE
  145 + Set Test Variable ${UNKNOWN_PROFILE} ${True}
  146 + Можливість оголосити тендер з недоліками в параметрах
36 147
37 148
38 Можливість оголосити тендер 149 Можливість оголосити тендер
@@ -45,6 +156,29 @@ ${PROFILE} ${True} @@ -45,6 +156,29 @@ ${PROFILE} ${True}
45 Можливість оголосити тендер 156 Можливість оголосити тендер
46 157
47 158
  159 +Можливість оголосити тендер з некоректним профайлом
  160 + [Tags] ${USERS.users['${tender_owner}'].broker}: Оголошення тендера
  161 + ... tender_owner
  162 + ... ${USERS.users['${tender_owner}'].broker}
  163 + ... create_tender_invalid_profile level1
  164 + ... critical
  165 + [Teardown] Оновити LAST_MODIFICATION_DATE
  166 + Set Test Variable ${WROGN_PROFILE} ${True}
  167 + Можливість оголосити тендер з недоліками в параметрах
  168 +
  169 +
  170 +Неможливість змінити статус з draft.publishing на active.tendering
  171 + [Tags] ${USERS.users['${tender_owner}'].broker}: Неможливість редагувати тендер
  172 + ... tender_owner
  173 + ... ${USERS.users['${tender_owner}'].broker}
  174 + ... impossible_change_tendering_status level1
  175 + ... critical
  176 + [Teardown] Оновити LAST_MODIFICATION_DATE
  177 + ${value}= Require Failure ${tender_owner} Внести зміни в тендер ${TENDER['TENDER_UAID']} status active.tendering
  178 + Convert To Lowercase ${value}
  179 + Should Contain ${value} can't switch tender from status (draft.publishing) to (active.tendering)
  180 +
  181 +
48 Можливість знайти тендер по ідентифікатору 182 Можливість знайти тендер по ідентифікатору
49 [Tags] ${USERS.users['${viewer}'].broker}: Пошук тендера 183 [Tags] ${USERS.users['${viewer}'].broker}: Пошук тендера
50 ... viewer tender_owner provider provider1 184 ... viewer tender_owner provider provider1
@@ -65,6 +199,26 @@ ${PROFILE} ${True} @@ -65,6 +199,26 @@ ${PROFILE} ${True}
65 Звірити відображення поля title тендера для користувача ${viewer} 199 Звірити відображення поля title тендера для користувача ${viewer}
66 200
67 201
  202 +Відображення заголовку тендера російською мовою
  203 + [Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних тендера
  204 + ... viewer
  205 + ... ${USERS.users['${viewer}'].broker}
  206 + ... tender_view level1
  207 + ... non-critical
  208 + [Setup] Дочекатись синхронізації з майданчиком ${viewer}
  209 + Звірити відображення поля title_ru тендера для користувача ${viewer}
  210 +
  211 +
  212 +Відсутнє відображення заголовку тендера англійською мовою якщо при створенні не вказувались дані
  213 + [Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних тендера
  214 + ... viewer
  215 + ... ${USERS.users['${viewer}'].broker}
  216 + ... tender_view level1
  217 + ... non-critical
  218 + [Setup] Дочекатись синхронізації з майданчиком ${viewer}
  219 + Run Keyword And Expect Error * Звірити відображення поля title_en тендера для користувача ${viewer}
  220 +
  221 +
68 Відображення опису тендера 222 Відображення опису тендера
69 [Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних тендера 223 [Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних тендера
70 ... viewer 224 ... viewer
@@ -159,6 +313,17 @@ ${PROFILE} ${True} @@ -159,6 +313,17 @@ ${PROFILE} ${True}
159 Дочекатись дати початку прийому пропозицій ${provider} ${TENDER['TENDER_UAID']} 313 Дочекатись дати початку прийому пропозицій ${provider} ${TENDER['TENDER_UAID']}
160 314
161 315
  316 +Неможливість змінити заголовок тендера під час прийому пропозицій
  317 + [Tags] ${USERS.users['${tender_owner}'].broker}: Редагування тендера
  318 + ... tender_owner
  319 + ... ${USERS.users['${tender_owner}'].broker}
  320 + ... change_data_active_tendering
  321 + ... critical
  322 + ${new_title}= create_fake_title
  323 + Перевірити неможливість зміни поля title тендера на значення ${new_title} для користувача ${tender_owner}
  324 + Remove From Dictionary ${USERS.users['${tender_owner}'].tender_data.data} title
  325 +
  326 +
162 Неможливість подати пропозицію з перевищеним лімітом 327 Неможливість подати пропозицію з перевищеним лімітом
163 [Tags] ${USERS.users['${provider}'].broker}: Подання пропозиції 328 [Tags] ${USERS.users['${provider}'].broker}: Подання пропозиції
164 ... provider 329 ... provider
@@ -170,6 +335,45 @@ ${PROFILE} ${True} @@ -170,6 +335,45 @@ ${PROFILE} ${True}
170 Run Keyword And Expect Error * Можливість подати цінову пропозицію priceQuotation користувачем ${provider} 335 Run Keyword And Expect Error * Можливість подати цінову пропозицію priceQuotation користувачем ${provider}
171 336
172 337
  338 +Неможливість подати пропозицію при відсутності однієї з характеристик
  339 + [Tags] ${USERS.users['${provider}'].broker}: Подання пропозиції
  340 + ... provider
  341 + ... ${USERS.users['${provider}'].broker}
  342 + ... impossible_make_bid
  343 + ... non-critical
  344 + [Setup] Дочекатись синхронізації з майданчиком ${provider}
  345 + Set Test Variable ${BID_ONE_OF_THE_CRITERIAS_IS_MISSING} ${True}
  346 + ${value}= Run Keyword And Expect Error * Можливість подати цінову пропозицію priceQuotation користувачем ${provider}
  347 + ${value}= Convert To Lowercase ${value}
  348 + Should Contain ${value} missing references for criterias
  349 +
  350 +
  351 +Неможливість подати пропозицію, якщо більше однієї характеристики знаходяться в різних групах, але в одній критерії
  352 + [Tags] ${USERS.users['${provider}'].broker}: Подання пропозиції
  353 + ... provider
  354 + ... ${USERS.users['${provider}'].broker}
  355 + ... impossible_make_bid
  356 + ... non-critical
  357 + [Setup] Дочекатись синхронізації з майданчиком ${provider}
  358 + Set Test Variable ${BID_SAME_GROUPS_DIFFERENT_CRITERIA} ${True}
  359 + ${value}= Run Keyword And Expect Error * Можливість подати цінову пропозицію priceQuotation користувачем ${provider}
  360 + ${value}= Convert To Lowercase ${value}
  361 + Should Contain ${value} conflicting in criteria
  362 +
  363 +
  364 +Неможливість подати пропозицію, якщо характеристика не відповідає вимозі
  365 + [Tags] ${USERS.users['${provider}'].broker}: Подання пропозиції
  366 + ... provider
  367 + ... ${USERS.users['${provider}'].broker}
  368 + ... impossible_make_bid
  369 + ... non-critical
  370 + [Setup] Дочекатись синхронізації з майданчиком ${provider}
  371 + Set Test Variable ${BID_INVALID_EXPECTED_VALUE} ${True}
  372 + ${value}= Run Keyword And Expect Error * Можливість подати цінову пропозицію priceQuotation користувачем ${provider}
  373 + ${value}= Convert To Lowercase ${value}
  374 + Should Contain ${value} does not match expected value
  375 +
  376 +
173 Можливість подати пропозицію першим учасником 377 Можливість подати пропозицію першим учасником
174 [Tags] ${USERS.users['${provider}'].broker}: Подання пропозиції 378 [Tags] ${USERS.users['${provider}'].broker}: Подання пропозиції
175 ... provider 379 ... provider
@@ -233,6 +437,17 @@ ${PROFILE} ${True} @@ -233,6 +437,17 @@ ${PROFILE} ${True}
233 Можливість подати цінову пропозицію priceQuotation користувачем ${provider2} 437 Можливість подати цінову пропозицію priceQuotation користувачем ${provider2}
234 438
235 439
  440 +Неможливість видалити пропозицію першим учасником під час прийому пропозицій
  441 + [Tags] ${USERS.users['${provider1}'].broker}: Скасування пропозиції
  442 + ... provider
  443 + ... ${USERS.users['${provider1}'].broker}
  444 + ... delete_bid_while_tendering_period_by_provider
  445 + ... non-critical
  446 + ${value}= Run Keyword And Expect Error * Можливість скасувати цінову пропозицію користувачем ${provider}
  447 + ${value}= Convert To Lowercase ${value}
  448 + Should Contain ${value} can't delete bid in price quotation tender
  449 +
  450 +
236 Можливість дочекатись дати початку періоду кваліфікації 451 Можливість дочекатись дати початку періоду кваліфікації
237 [Tags] ${USERS.users['${provider}'].broker}: Подання кваліфікації 452 [Tags] ${USERS.users['${provider}'].broker}: Подання кваліфікації
238 ... provider 453 ... provider
@@ -243,6 +458,20 @@ ${PROFILE} ${True} @@ -243,6 +458,20 @@ ${PROFILE} ${True}
243 Дочекатись дати початку періоду кваліфікації ${provider} ${TENDER['TENDER_UAID']} 458 Дочекатись дати початку періоду кваліфікації ${provider} ${TENDER['TENDER_UAID']}
244 459
245 460
  461 +Відображення пропозиції з мінімальною ціною на розгляді
  462 + [Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних угоди
  463 + ... viewer
  464 + ... ${USERS.users['${viewer}'].broker}
  465 + ... award_view_min_amount
  466 + ... non-critical
  467 + [Setup] Дочекатись синхронізації з майданчиком ${viewer}
  468 + ${min_bid_amount}= Отримати мінімальне значення amount з поданих пропозицій
  469 + ${award}= Отримати останній элемент awards ${tender_owner} ${viewer}
  470 + Log ${min_bid_amount}
  471 + Log ${award}
  472 + Порівняти об'єкти ${min_bid_amount} ${award.value.amount}
  473 +
  474 +
246 Можливість завантажити документ рішення кваліфікаційної комісії для підтвердження постачальника 475 Можливість завантажити документ рішення кваліфікаційної комісії для підтвердження постачальника
247 [Tags] ${USERS.users['${tender_owner}'].broker}: Процес кваліфікації 476 [Tags] ${USERS.users['${tender_owner}'].broker}: Процес кваліфікації
248 ... tender_owner 477 ... tender_owner
@@ -268,6 +497,18 @@ ${PROFILE} ${True} @@ -268,6 +497,18 @@ ${PROFILE} ${True}
268 Remove File ${file_path} 497 Remove File ${file_path}
269 498
270 499
  500 +Неможливість скасувати своє рішення на етапі кваліфікації
  501 + [Tags] ${USERS.users['${tender_owner}'].broker}: Процес кваліфікації
  502 + ... provider
  503 + ... provider1
  504 + ... provider2
  505 + ... ${USERS.users['${tender_owner}'].broker}
  506 + ... impossible_cancel_1_award_qualification_by_provider
  507 + ... critical
  508 + ${user}= Пошук постачальника пропозиції з awards по індексу 0
  509 + Run Keyword And Expect Error * Run As ${user} Скасування рішення кваліфікаційної комісії ${TENDER['TENDER_UAID']} 0
  510 +
  511 +
271 Можливість дискваліфікуватися постачальником 512 Можливість дискваліфікуватися постачальником
272 [Tags] ${USERS.users['${tender_owner}'].broker}: Процес кваліфікації 513 [Tags] ${USERS.users['${tender_owner}'].broker}: Процес кваліфікації
273 ... provider 514 ... provider
@@ -279,6 +520,17 @@ ${PROFILE} ${True} @@ -279,6 +520,17 @@ ${PROFILE} ${True}
279 Run As ${user} Дискваліфікувати постачальника ${TENDER['TENDER_UAID']} 0 520 Run As ${user} Дискваліфікувати постачальника ${TENDER['TENDER_UAID']} 0
280 521
281 522
  523 +Неможливість видалити пропозицію учасником після закінчення прийому пропозицій
  524 + [Tags] ${USERS.users['${provider1}'].broker}: Подання пропозиції
  525 + ... provider
  526 + ... ${USERS.users['${provider1}'].broker}
  527 + ... cancel_bid_after_tendering_period_by_provider
  528 + ... non-critical
  529 + ${value}= Run Keyword And Expect Error * Можливість скасувати цінову пропозицію користувачем ${provider}
  530 + ${value}= Convert To Lowercase ${value}
  531 + Should Contain ${value} can't delete bid in current (active.qualification) tender status
  532 +
  533 +
282 Можливість дискваліфікації другого постачальника, якщо 2 дні не було підтвердження 534 Можливість дискваліфікації другого постачальника, якщо 2 дні не було підтвердження
283 [Tags] ${USERS.users['${tender_owner}'].broker}: Процес кваліфікації 535 [Tags] ${USERS.users['${tender_owner}'].broker}: Процес кваліфікації
284 ... tender_owner 536 ... tender_owner
@@ -413,6 +665,61 @@ ${PROFILE} ${True} @@ -413,6 +665,61 @@ ${PROFILE} ${True}
413 Дочекатися припинення процесу ${viewer} ${TENDER['TENDER_UAID']} 665 Дочекатися припинення процесу ${viewer} ${TENDER['TENDER_UAID']}
414 666
415 667
  668 +Відображення причини відхилення тендера, якщо профайл із hidden статусом
  669 + [Tags] ${USERS.users['${viewer}'].broker}: Відображення скасування тендера
  670 + ... viewer
  671 + ... ${USERS.users['${viewer}'].broker}
  672 + ... tender_unsuccessfully_reason_profile_hidden
  673 + Звірити поле тендера із значенням ${viewer} ${TENDER['TENDER_UAID']}
  674 + ... Обраний профіль неактивний в системі Prozorro.Market
  675 + ... unsuccessfulReason
  676 +
  677 +
  678 +Відображення причини відхилення тендера, якщо shortlistedfirms пустий
  679 + [Tags] ${USERS.users['${viewer}'].broker}: Відображення скасування тендера
  680 + ... viewer
  681 + ... ${USERS.users['${viewer}'].broker}
  682 + ... tender_unsuccessfully_reason_shortlistedfirms_empty
  683 + Звірити поле тендера із значенням ${viewer} ${TENDER['TENDER_UAID']}
  684 + ... В обраному профілі немає активних постачальників
  685 + ... unsuccessfulReason
  686 +
  687 +
  688 +Відображення причини відхилення тендера, якщо профайл неіснуючий
  689 + [Tags] ${USERS.users['${viewer}'].broker}: Відображення скасування тендера
  690 + ... viewer
  691 + ... ${USERS.users['${viewer}'].broker}
  692 + ... tender_unsuccessfully_reason_unknown_profile
  693 + Звірити поле тендера із значенням ${viewer} ${TENDER['TENDER_UAID']}
  694 + ... Обраний профіль не існує в системі Prozorro.Market
  695 + ... unsuccessfulReason
  696 +
  697 +
  698 +
  699 +Неможливість подати пропозицію в статусі draft
  700 + [Tags] ${USERS.users['${provider}'].broker}: Подання пропозиції
  701 + ... provider
  702 + ... ${USERS.users['${provider}'].broker}
  703 + ... impossible_make_bid_when_draft
  704 + ... non-critical
  705 + [Setup] Дочекатись синхронізації з майданчиком ${provider}
  706 + ${value}= Run Keyword And Expect Error * Можливість подати цінову пропозицію priceQuotation користувачем ${provider}
  707 + ${value}= Convert To Lowercase ${value}
  708 + Should Contain ${value} can't add bid in current (draft) tender status
  709 +
  710 +
  711 +Неможливість подати пропозицію в статусі draft.unsuccessful
  712 + [Tags] ${USERS.users['${provider}'].broker}: Подання пропозиції
  713 + ... provider
  714 + ... ${USERS.users['${provider}'].broker}
  715 + ... impossible_make_bid_when_draft_unsuccessful
  716 + ... non-critical
  717 + [Setup] Дочекатись синхронізації з майданчиком ${provider}
  718 + ${value}= Run Keyword And Expect Error * Можливість подати цінову пропозицію priceQuotation користувачем ${provider}
  719 + ${value}= Convert To Lowercase ${value}
  720 + Should Contain ${value} can't add bid in current (draft.unsuccessful) tender status
  721 +
  722 +
416 Відображення статусу завершення, якщо не було подано жодних пропозицій 723 Відображення статусу завершення, якщо не було подано жодних пропозицій
417 [Tags] ${USERS.users['${viewer}'].broker}: Завершення тендера 724 [Tags] ${USERS.users['${viewer}'].broker}: Завершення тендера
418 ... viewer tender_owner provider provider1 725 ... viewer tender_owner provider provider1
@@ -423,6 +730,58 @@ ${PROFILE} ${True} @@ -423,6 +730,58 @@ ${PROFILE} ${True}
423 Дочекатись зміни статусу unsuccessful ${viewer} ${TENDER['TENDER_UAID']} 730 Дочекатись зміни статусу unsuccessful ${viewer} ${TENDER['TENDER_UAID']}
424 731
425 732
  733 +Відображення вартості угоди без урахування ПДВ
  734 + [Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних угоди
  735 + ... viewer
  736 + ... ${USERS.users['${viewer}'].broker}
  737 + ... contract_view
  738 + ... non-critical
  739 + [Setup] Дочекатись синхронізації з майданчиком ${viewer}
  740 + ${contract_index}= Отримати останній індекс contracts ${tender_owner} ${viewer}
  741 + ${award}= Отримати останній элемент awards ${tender_owner} ${viewer}
  742 + Log ${award}
  743 + ${contract}= Отримати останній элемент contracts ${tender_owner} ${viewer}
  744 + Log ${contract}
  745 + Log ${award.value.amount}
  746 + Звірити відображення поля contracts[${contract_index}].value.amountNet тендера із ${award.value.amount} для користувача ${viewer}
  747 +
  748 +
  749 +Відображення вартості угоди
  750 + [Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних угоди
  751 + ... viewer
  752 + ... ${USERS.users['${viewer}'].broker}
  753 + ... contract_view
  754 + ... non-critical
  755 + [Setup] Дочекатись синхронізації з майданчиком ${viewer}
  756 + ${contract_index}= Отримати останній індекс contracts ${tender_owner} ${viewer}
  757 + ${award}= Отримати останній элемент awards ${tender_owner} ${viewer}
  758 + Log ${award}
  759 + ${contract}= Отримати останній элемент contracts ${tender_owner} ${viewer}
  760 + Log ${contract}
  761 + Log ${award.value.amount}
  762 + Звірити відображення поля contracts[${contract_index}].value.amount тендера із ${award.value.amount} для користувача ${viewer}
  763 +
  764 +
  765 +Неможливість зменшити ціну договору без ПДВ на суму більшу за 20% від ціни договору з ПДВ (закупівля з ПДВ)
  766 +# contract:value:amountNet can be <= contract:value:amount but no more than on contract:value:amount/1.2 if valueAddedTaxIncluded=ture
  767 +# lots:value:valueAddedTaxIncluded:true - contract:value:valueAddedTaxIncluded:true
  768 + [Tags] ${USERS.users['${tender_owner}'].broker}: Редагування угоди
  769 + ... tender_owner
  770 + ... ${USERS.users['${tender_owner}'].broker}
  771 + ... modify_contract_invalid_amountNet_tender_vat_true
  772 + ... critical
  773 + [Setup] Дочекатись синхронізації з майданчиком ${tender_owner}
  774 + ${award}= Отримати останній элемент awards ${tender_owner} ${viewer}
  775 + ${contract_index}= Отримати останній індекс contracts ${tender_owner} ${viewer}
  776 + ${invalid_amountNet}= Evaluate ${award.value.amount} / 2
  777 + ${value}= Require Failure ${tender_owner} Редагувати угоду
  778 + ... ${TENDER['TENDER_UAID']}
  779 + ... ${contract_index}
  780 + ... value.amountNet
  781 + ... ${invalid_amountNet}
  782 + Should Contain ${value} Amount should be greater than amountNet and differ by no more than 20.0%
  783 +
  784 +
426 Можливість редагувати вартість угоди без урахування ПДВ 785 Можливість редагувати вартість угоди без урахування ПДВ
427 [Tags] ${USERS.users['${tender_owner}'].broker}: Редагування угоди 786 [Tags] ${USERS.users['${tender_owner}'].broker}: Редагування угоди
428 ... tender_owner 787 ... tender_owner
@@ -443,6 +802,19 @@ ${PROFILE} ${True} @@ -443,6 +802,19 @@ ${PROFILE} ${True}
443 ... ${amount_net} 802 ... ${amount_net}
444 803
445 804
  805 +Відображення відредагованої вартості угоди без урахування ПДВ
  806 + [Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних угоди
  807 + ... viewer
  808 + ... ${USERS.users['${viewer}'].broker} ${USERS.users['${tender_owner}'].broker}
  809 + ... contract_view_new_amountNet
  810 + ... non-critical
  811 + [Setup] Дочекатись синхронізації з майданчиком ${viewer}
  812 + ${amount_net}= Get Variable Value ${USERS.users['${tender_owner}'].new_amount_net}
  813 + ${contract_index}= Отримати останній індекс contracts ${tender_owner} ${viewer}
  814 + ${amount_net_field}= Set Variable contracts[${contract_index}].value.amountNet
  815 + Звірити відображення поля ${amount_net_field} тендера із ${amount_net} для користувача ${viewer}
  816 +
  817 +
446 Можливість редагувати вартість угоди 818 Можливість редагувати вартість угоди
447 ${viewer_data}= Get From Dictionary ${USERS.users} ${viewer} 819 ${viewer_data}= Get From Dictionary ${USERS.users} ${viewer}
448 ${tender_owner_data}= Get From Dictionary ${USERS.users} ${tender_owner} 820 ${tender_owner_data}= Get From Dictionary ${USERS.users} ${tender_owner}
@@ -465,6 +837,78 @@ ${PROFILE} ${True} @@ -465,6 +837,78 @@ ${PROFILE} ${True}
465 ... ${amount} 837 ... ${amount}
466 838
467 839
  840 +Відображення відредагованої вартості угоди
  841 + [Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних угоди
  842 + ... viewer
  843 + ... ${USERS.users['${viewer}'].broker} ${USERS.users['${tender_owner}'].broker}
  844 + ... contract_view_new_amount
  845 + ... non-critical
  846 + [Setup] Дочекатись синхронізації з майданчиком ${viewer}
  847 + ${amount}= Get Variable Value ${USERS.users['${tender_owner}'].new_amount}
  848 + ${contract_index}= Отримати останній індекс contracts ${tender_owner} ${viewer}
  849 + ${amount_field}= Set Variable contracts[${contract_index}].value.amount
  850 + Звірити відображення поля ${amount_field} тендера із ${amount} для користувача ${viewer}
  851 +
  852 +
  853 +Неможливість вказати ціну договору з ПДВ більше ніж результат проведення аукціону
  854 +# contract:value:amount should be <= award.value.amount if valueAddedTaxIncluded=ture
  855 +# lots:value:valueAddedTaxIncluded:true - contract:value:valueAddedTaxIncluded:true
  856 +# lots:value:valueAddedTaxIncluded:true - contract:value:valueAddedTaxIncluded:false
  857 +# lots:value:valueAddedTaxIncluded:false - contract:value:valueAddedTaxIncluded:false
  858 + [Tags] ${USERS.users['${tender_owner}'].broker}: Редагування угоди
  859 + ... tender_owner
  860 + ... ${USERS.users['${tender_owner}'].broker}
  861 + ... modify_contract_invalid_amount
  862 + ... critical
  863 + [Setup] Дочекатись синхронізації з майданчиком ${tender_owner}
  864 + ${award}= Отримати останній элемент awards ${tender_owner} ${viewer}
  865 + ${contract}= Отримати останній элемент contracts ${tender_owner} ${viewer}
  866 + ${contract_index}= Отримати останній індекс contracts ${tender_owner} ${viewer}
  867 + ${amount}= Evaluate ${award.value.amount} * 2
  868 + ${value}= Require Failure ${tender_owner} Редагувати угоду
  869 + ... ${TENDER['TENDER_UAID']}
  870 + ... ${contract_index}
  871 + ... value.amount
  872 + ... ${amount}
  873 + Run Keyword IF '${award.value.valueAddedTaxIncluded}' == '${True}' and '${contract.value.valueAddedTaxIncluded}' == '${True}' and '${MODE}' == 'open_esco'
  874 + ... Should Contain ${value} Can't update amount for contract value
  875 + ... ELSE
  876 + ... Should Contain ${value} Amount should be less or equal to awarded amount
  877 + Run Keyword IF '${award.value.valueAddedTaxIncluded}' == '${True}' and '${contract.value.valueAddedTaxIncluded}' == '${False}'
  878 + ... Should Contain ${value} Amount should be less or equal to awarded amount
  879 + Run Keyword IF '${award.value.valueAddedTaxIncluded}' == '${False}' and '${contract.value.valueAddedTaxIncluded}' == '${False}'
  880 + ... Should Contain ${value} Amount should be less or equal to awarded amount
  881 +
  882 +
  883 +Можливість встановити дату підписання угоди
  884 + [Tags] ${USERS.users['${tender_owner}'].broker}: Редагування угоди
  885 + ... tender_owner
  886 + ... ${USERS.users['${tender_owner}'].broker}
  887 + ... modify_contract
  888 + ... critical
  889 + [Setup] Дочекатись синхронізації з майданчиком ${tender_owner}
  890 + [Teardown] Оновити LAST_MODIFICATION_DATE
  891 + ${contract_index}= Отримати останній індекс contracts ${tender_owner} ${viewer}
  892 + ${dateSigned}= create_fake_date
  893 + Set to dictionary ${USERS.users['${tender_owner}']} dateSigned=${dateSigned}
  894 + Run As ${tender_owner} Встановити дату підписання угоди ${TENDER['TENDER_UAID']} ${contract_index} ${dateSigned}
  895 +
  896 +
  897 +Можливість вказати період дії угоди
  898 + [Tags] ${USERS.users['${tender_owner}'].broker}: Редагування угоди
  899 + ... tender_owner
  900 + ... ${USERS.users['${tender_owner}'].broker}
  901 + ... modify_contract
  902 + ... critical
  903 + [Setup] Дочекатись синхронізації з майданчиком ${tender_owner}
  904 + [Teardown] Оновити LAST_MODIFICATION_DATE
  905 + ${contract_index}= Отримати останній індекс contracts ${tender_owner} ${viewer}
  906 + ${startDate}= create_fake_date
  907 + ${endDate}= add_minutes_to_date ${startDate} 10
  908 + Set to dictionary ${USERS.users['${tender_owner}']} contract_startDate=${startDate} contract_endDate=${endDate}
  909 + Run As ${tender_owner} Вказати період дії угоди ${TENDER['TENDER_UAID']} ${contract_index} ${startDate} ${endDate}
  910 +
  911 +
468 Можливість укласти угоду для закупівлі 912 Можливість укласти угоду для закупівлі
469 [Tags] ${USERS.users['${tender_owner}'].broker}: Процес укладання угоди 913 [Tags] ${USERS.users['${tender_owner}'].broker}: Процес укладання угоди
470 ... tender_owner 914 ... tender_owner
@@ -489,6 +933,201 @@ ${PROFILE} ${True} @@ -489,6 +933,201 @@ ${PROFILE} ${True}
489 Звірити відображення поля contracts[${contract_index}].status тендера із active для користувача ${viewer} 933 Звірити відображення поля contracts[${contract_index}].status тендера із active для користувача ${viewer}
490 934
491 935
  936 +Можливість знайти закупівлю по ідентифікатору
  937 + [Tags] ${USERS.users['${viewer}'].broker}: Пошук тендера
  938 + ... ${USERS.users['${tender_owner}'].broker}: Пошук тендера
  939 + ... viewer tender_owner
  940 + ... ${USERS.users['${viewer}'].broker} ${USERS.users['${tender_owner}'].broker}
  941 + ... find_tender_contract
  942 + ${contract_index}= Отримати останній індекс contracts ${tender_owner} ${viewer}
  943 + ${CONTRACT_UAID}= Get variable value ${USERS.users['${tender_owner}'].tender_data.data.contracts[${contract_index}].contractID}
  944 + Set Suite Variable ${CONTRACT_UAID}
  945 +
  946 +
  947 +Можливість знайти договір по ідентифікатору
  948 + [Tags] ${USERS.users['${viewer}'].broker}: Пошук договору
  949 + ... ${USERS.users['${tender_owner}'].broker}: Пошук договору
  950 + ... viewer tender_owner
  951 + ... ${USERS.users['${viewer}'].broker} ${USERS.users['${tender_owner}'].broker}
  952 + ... find_contract
  953 + :FOR ${username} IN @{used_roles}
  954 + \ Run As ${${username}} Пошук договору по ідентифікатору ${CONTRACT_UAID}
  955 +
  956 +
  957 +Можливість отримати доступ до договору
  958 + [Tags] ${USERS.users['${tender_owner}'].broker}: Отримання прав доступу до договору
  959 + ... tender_owner
  960 + ... ${USERS.users['${tender_owner}'].broker}
  961 + ... access_contract
  962 + Run As ${tender_owner} Отримати доступ до договору ${CONTRACT_UAID}
  963 +
  964 +
  965 +Можливість внести зміну до умов договору
  966 + [Tags] ${USERS.users['${tender_owner}'].broker}: Внесення зміни
  967 + ... tender_owner
  968 + ... ${USERS.users['${tender_owner}'].broker}
  969 + ... submit_change
  970 + [Teardown] Оновити LAST_MODIFICATION_DATE
  971 + ${change_data}= Підготувати дані про зміну до договору ${tender_owner}
  972 + Run As ${tender_owner} Внести зміну в договір ${CONTRACT_UAID} ${change_data}
  973 +
  974 +
  975 +Відображення опису причини зміни договору
  976 + [Tags] ${USERS.users['${viewer}'].broker}: Відображення зміни договору
  977 + ... tender_owner
  978 + ... ${USERS.users['${viewer}'].broker}
  979 + ... view_change
  980 + [Setup] Дочекатись синхронізації з майданчиком ${viewer}
  981 + Звірити відображення поля rationale зміни до договору для користувача ${viewer}
  982 +
  983 +
  984 +Відображення причин зміни договору
  985 + [Tags] ${USERS.users['${viewer}'].broker}: Відображення зміни договору
  986 + ... tender_owner
  987 + ... ${USERS.users['${viewer}'].broker}
  988 + ... view_change
  989 + Звірити відображення причин зміни договору
  990 +
  991 +
  992 +Відображення непідтвердженого статусу зміни договору
  993 + [Tags] ${USERS.users['${viewer}'].broker}: Відображення зміни договору
  994 + ... tender_owner
  995 + ... ${USERS.users['${viewer}'].broker}
  996 + ... view_change
  997 + Звірити поле зміни до договору із значенням
  998 + ... ${viewer}
  999 + ... ${CONTRACT_UAID}
  1000 + ... pending
  1001 + ... status
  1002 +
  1003 +
  1004 +Можливість додати документацію до зміни договору
  1005 + [Tags] ${USERS.users['${tender_owner}'].broker}: Редагування договору
  1006 + ... tender_owner
  1007 + ... ${USERS.users['${tender_owner}'].broker}
  1008 + ... upload_change_document
  1009 + [Teardown] Оновити LAST_MODIFICATION_DATE
  1010 + Додати документацію до зміни договору
  1011 +
  1012 +
  1013 +Відображення заголовку документації до зміни договору
  1014 + [Tags] ${USERS.users['${viewer}'].broker}: Відображення документації
  1015 + ... viewer
  1016 + ... ${USERS.users['${viewer}'].broker}
  1017 + ... upload_change_document
  1018 + [Setup] Дочекатись синхронізації з майданчиком ${viewer}
  1019 + Звірити відображення поля title документа ${USERS.users['${tender_owner}']['change_doc']['id']} до договору з ${USERS.users['${tender_owner}']['change_doc']['name']} для користувача ${viewer}
  1020 +
  1021 +
  1022 +Відображення вмісту документації до зміни договору
  1023 + [Tags] ${USERS.users['${viewer}'].broker}: Відображення документації
  1024 + ... viewer
  1025 + ... ${USERS.users['${viewer}'].broker}
  1026 + ... upload_change_document
  1027 + Звірити відображення вмісту документа ${USERS.users['${tender_owner}']['change_doc']['id']} до договору з ${USERS.users['${tender_owner}']['change_doc']['content']} для користувача ${viewer}
  1028 +
  1029 +
  1030 +Можливість редагувати опис причини зміни договору
  1031 + [Tags] ${USERS.users['${tender_owner}'].broker}: Редагування зміни
  1032 + ... tender_owner
  1033 + ... ${USERS.users['${tender_owner}'].broker}
  1034 + ... modify_change
  1035 + [Teardown] Оновити LAST_MODIFICATION_DATE
  1036 + ${new_rationale}= create_fake_sentence
  1037 + Set to dictionary ${USERS.users['${tender_owner}']} new_rationale=${new_rationale}
  1038 + Run As ${tender_owner} Редагувати зміну ${CONTRACT_UAID} rationale ${new_rationale}
  1039 +
  1040 +
  1041 +Можливість редагувати вартість договору без ПДВ
  1042 + [Tags] ${USERS.users['${tender_owner}']}: Редагування договору
  1043 + ... tender_owner
  1044 + ... ${USERS.users['${tender_owner}']}
  1045 + ... change_contract_amountNet
  1046 + [Teardown] Оновити LAST_MODIFICATION_DATE
  1047 + ${award}= Отримати останній элемент awards ${tender_owner} ${viewer}
  1048 + ${amount_net}= create_fake_amount_net
  1049 + ... ${USERS.users['${tender_owner}'].contract_data.data.value.amount}
  1050 + ... ${award.value.valueAddedTaxIncluded}
  1051 + ... ${USERS.users['${tender_owner}'].contract_data.data.value.valueAddedTaxIncluded}
  1052 + Set to dictionary ${USERS.users['${tender_owner}']} new_amount_net=${amount_net}
  1053 + Run As ${tender_owner} Редагувати поле договору ${CONTRACT_UAID} value.amountNet ${amount_net}
  1054 +
  1055 +
  1056 +Можливість редагувати вартість договору
  1057 + [Tags] ${USERS.users['${tender_owner}']}: Редагування договору
  1058 + ... tender_owner
  1059 + ... ${USERS.users['${tender_owner}']}
  1060 + ... change_contract_amount
  1061 + [Teardown] Оновити LAST_MODIFICATION_DATE
  1062 + ${award}= Отримати останній элемент awards ${tender_owner} ${viewer}
  1063 + ${amount}= create_fake_amount
  1064 + ... ${USERS.users['${tender_owner}'].contract_data.data.value.amount}
  1065 + ... ${award.value.valueAddedTaxIncluded}
  1066 + ... ${USERS.users['${tender_owner}'].contract_data.data.value.valueAddedTaxIncluded}
  1067 + Set to dictionary ${USERS.users['${tender_owner}']} new_amount=${amount}
  1068 + Run As ${tender_owner} Редагувати поле договору ${CONTRACT_UAID} value.amount ${amount}
  1069 +
  1070 +
  1071 +Можливість застосувати зміну договору
  1072 + [Tags] ${USERS.users['${tender_owner}'].broker}: Редагування договору
  1073 + ... tender_owner
  1074 + ... ${USERS.users['${tender_owner}'].broker}
  1075 + ... apply_change
  1076 + [Teardown] Оновити LAST_MODIFICATION_DATE
  1077 + [Setup] Дочекатись синхронізації з майданчиком ${tender_owner}
  1078 + ${dateSigned}= create_fake_date
  1079 + Run As ${tender_owner} Застосувати зміну ${CONTRACT_UAID} ${dateSigned}
  1080 + Set to dictionary ${USERS.users['${tender_owner}'].change_data.data} status=active
  1081 +
  1082 +
  1083 +Відображення підтвердженого статусу зміни договору
  1084 + [Tags] ${USERS.users['${viewer}'].broker}: Відображення зміни договору
  1085 + ... tender_owner
  1086 + ... ${USERS.users['${viewer}'].broker}
  1087 + ... apply_change
  1088 + [Setup] Дочекатись синхронізації з майданчиком ${viewer}
  1089 + Delete From Dictionary ${USERS.users['${viewer}'].contract_data.data.changes[0]} status
  1090 + Звірити поле зміни до договору із значенням
  1091 + ... ${viewer}
  1092 + ... ${CONTRACT_UAID}
  1093 + ... active
  1094 + ... status
  1095 +
  1096 +
  1097 +Можливість завантажити документацію до договору
  1098 + [Tags] ${USERS.users['${tender_owner}'].broker}: Додання документації до договору
  1099 + ... tender_owner
  1100 + ... ${USERS.users['${tender_owner}'].broker}
  1101 + ... add_contract_doc
  1102 + [Teardown] Оновити LAST_MODIFICATION_DATE
  1103 + Додати документацію до договору
  1104 +
  1105 +
  1106 +Відображення заголовку документації до договору
  1107 + [Tags] ${USERS.users['${viewer}'].broker}: Відображення документації
  1108 + ... viewer
  1109 + ... ${USERS.users['${viewer}'].broker}
  1110 + ... add_contract_doc
  1111 + [Setup] Дочекатись синхронізації з майданчиком ${viewer}
  1112 + Звірити відображення поля title документа ${USERS.users['${tender_owner}']['contract_doc']['id']} до договору з ${USERS.users['${tender_owner}']['contract_doc']['name']} для користувача ${viewer}
  1113 +
  1114 +
  1115 +Відображення вмісту документації до договору
  1116 + [Tags] ${USERS.users['${viewer}'].broker}: Відображення документації
  1117 + ... viewer
  1118 + ... ${USERS.users['${viewer}'].broker}
  1119 + ... add_contract_doc
  1120 + Звірити відображення вмісту документа ${USERS.users['${tender_owner}']['contract_doc']['id']} до договору з ${USERS.users['${tender_owner}']['contract_doc']['content']} для користувача ${viewer}
  1121 +
  1122 +
  1123 +Відображення належності документа до договору
  1124 + [Tags] ${USERS.users['${viewer}'].broker}: Відображення документації
  1125 + ... viewer
  1126 + ... ${USERS.users['${viewer}'].broker}
  1127 + ... add_contract_doc
  1128 + Звірити відображення поля documentOf документа ${USERS.users['${tender_owner}']['contract_doc']['id']} до договору з contract для користувача ${viewer}
  1129 +
  1130 +
492 Відображення статусу успішного завершення тендера 1131 Відображення статусу успішного завершення тендера
493 [Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних угоди 1132 [Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних угоди
494 ... viewer 1133 ... viewer
@@ -565,3 +1204,13 @@ ${PROFILE} ${True} @@ -565,3 +1204,13 @@ ${PROFILE} ${True}
565 Звірити відображення поля ${field} документа ${doc_id} до скасування ${cancel_id} із ${left} для користувача ${username} 1204 Звірити відображення поля ${field} документа ${doc_id} до скасування ${cancel_id} із ${left} для користувача ${username}
566 ${right}= Run As ${username} Отримати інформацію із документа до скасування ${TENDER['TENDER_UAID']} ${cancel_id} ${doc_id} ${field} 1205 ${right}= Run As ${username} Отримати інформацію із документа до скасування ${TENDER['TENDER_UAID']} ${cancel_id} ${doc_id} ${field}
567 Порівняти об'єкти ${left} ${right} 1206 Порівняти об'єкти ${left} ${right}
  1207 +
  1208 +
  1209 +Отримати мінімальне значення amount з поданих пропозицій
  1210 + ${bids}= Отримати дані із тендера ${provider} ${TENDER['TENDER_UAID']} bids
  1211 + ${values}= Create List
  1212 + :FOR ${value} IN @{bids}
  1213 + \ ${item}= Get Variable Value ${value['value']['amount']}
  1214 + \ Append To List ${values} ${item}
  1215 + ${min_amount}= get_lowest_value_from_list ${values}
  1216 + [Return] ${min_amount}
@@ -772,3 +772,7 @@ def edit_tender_data_for_plan_tender(data, mode, data_version): @@ -772,3 +772,7 @@ def edit_tender_data_for_plan_tender(data, mode, data_version):
772 if data_version is 4: 772 if data_version is 4:
773 dict_data['data']['procurementMethodType'] = plan_tedner_test_data[data_version] 773 dict_data['data']['procurementMethodType'] = plan_tedner_test_data[data_version]
774 return munchify(dict_data) 774 return munchify(dict_data)
  775 +
  776 +
  777 +def get_lowest_value_from_list(list_value):
  778 + return min(list_value)
  1 +-v MODE:belowThreshold
  2 +
  3 +-v NUMBER_OF_ITEMS:1
  4 +-v NUMBER_OF_LOTS:2
  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_by_provider
  14 +-i make_bid_by_provider1
  15 +-i make_bid_by_provider2
  16 +
  17 +-i wait_active_qualification_start
  18 +
  19 +-i qualification_approve_first_award
  20 +-i qualification_approve_second_award
  21 +
  22 +-i wait_active_awarded_start
  23 +
  24 +-i award_stand_still
  25 +
  26 +-i lot_cancellation
  27 +-i lot_cancellation_view
  28 +
  29 +-i tender_cancellation
  30 +-i tender_cancellation_view
  1 +-v MODE:open_esco
  2 +
  3 +-v NUMBER_OF_ITEMS:1
  4 +-v NUMBER_OF_LOTS:2
  5 +
  6 +-v TENDER_MEAT:False
  7 +-v ITEM_MEAT:False
  8 +-v LOT_MEAT:False
  9 +
  10 +-v FUNDING_KIND:budget
  11 +
  12 +-i create_tender
  13 +-i find_tender
  14 +
  15 +-i make_bid_by_provider
  16 +-i make_bid_by_provider1
  17 +-i make_bid_by_provider2
  18 +
  19 +-i tender_complaintPeriond_stand_still
  20 +
  21 +-i wait_active_pre-qualification_start
  22 +
  23 +-i pre-qualification_view
  24 +-i pre-qualification_approve_first_bid
  25 +-i pre-qualification_approve_second_bid
  26 +-i pre-qualification_approve_third_bid
  27 +-i pre-qualification_approve_fourth_bid
  28 +-i pre-qualification_approve_fifth_bid
  29 +-i pre-qualification_approve_sixth_bid
  30 +-i pre-qualification_approve_qualifications
  31 +
  32 +-i wait_active_qualification_start
  33 +
  34 +-i qualification_approve_first_award
  35 +-i qualification_approve_second_award
  36 +
  37 +-i wait_active_awarded_start
  38 +
  39 +-i award_stand_still
  40 +
  41 +-i lot_cancellation
  42 +-i lot_cancellation_stand_still
  43 +-i lot_cancellation_view
  44 +
  45 +-i tender_cancellation
  46 +-i tender_cancellation_stand_still
  47 +-i tender_cancellation_view
  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 +-i create_tender
  11 +-i find_tender
  12 +
  13 +-i make_bid_by_provider
  14 +-i make_bid_by_provider1
  15 +-i make_bid_by_provider2
  16 +
  17 +-i tender_complaintPeriond_stand_still
  18 +
  19 +-i wait_active_pre-qualification_start
  20 +
  21 +-i pre-qualification_view
  22 +-i pre-qualification_approve_first_bid
  23 +-i pre-qualification_approve_second_bid
  24 +-i pre-qualification_approve_third_bid
  25 +-i pre-qualification_approve_qualifications
  26 +
  27 +-i wait_active_qualification_start
  28 +
  29 +-i qualification_approve_first_award
  30 +-i qualification_approve_second_award
  31 +-i qualification_approve_third_award
  32 +-i qualification_approve_qualifications
  33 +
  34 +-i wait_active_awarded_start
  35 +
  36 +-i award_stand_still
  37 +
  38 +-i tender_cancellation
  39 +-i tender_cancellation_stand_still
  40 +-i tender_cancellation_view
  1 +-v MODE:framework_selection
  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_stage2
  11 +-i find_tender_tender_owner
  12 +-i find_tender
  13 +
  14 +-i selection_make_bid_by_provider
  15 +-i selection_make_bid_by_provider1
  16 +
  17 +-i wait_active_qualification_start
  18 +
  19 +-i qualification_approve_first_award
  20 +
  21 +-i wait_active_awarded_start
  22 +
  23 +-i tender_cancellation
  24 +-i tender_cancellation_stand_still
  25 +-i tender_cancellation_view
  1 +-v MODE:openeu
  2 +
  3 +-v NUMBER_OF_ITEMS:1
  4 +-v NUMBER_OF_LOTS:2
  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_by_provider
  14 +-i make_bid_by_provider1
  15 +-i make_bid_by_provider2
  16 +
  17 +-i tender_complaintPeriond_stand_still
  18 +
  19 +-i wait_active_pre-qualification_start
  20 +
  21 +-i pre-qualification_view
  22 +-i pre-qualification_approve_first_bid
  23 +-i pre-qualification_approve_second_bid
  24 +-i pre-qualification_approve_third_bid
  25 +-i pre-qualification_approve_fourth_bid
  26 +-i pre-qualification_approve_fifth_bid
  27 +-i pre-qualification_approve_sixth_bid
  28 +-i pre-qualification_approve_qualifications
  29 +
  30 +-i wait_active_qualification_start
  31 +
  32 +-i qualification_approve_first_award
  33 +-i qualification_approve_second_award
  34 +
  35 +-i wait_active_awarded_start
  36 +
  37 +-i award_stand_still
  38 +
  39 +-i lot_cancellation
  40 +-i lot_cancellation_stand_still
  41 +-i lot_cancellation_view
  42 +
  43 +-i tender_cancellation
  44 +-i tender_cancellation_stand_still
  45 +-i tender_cancellation_view
  1 +-v MODE:openua
  2 +
  3 +-v NUMBER_OF_ITEMS:1
  4 +-v NUMBER_OF_LOTS:2
  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_by_provider
  14 +-i make_bid_by_provider1
  15 +-i make_bid_by_provider2
  16 +
  17 +-i tender_complaintPeriond_stand_still
  18 +
  19 +-i wait_active_qualification_start
  20 +
  21 +-i qualification_approve_first_award
  22 +-i qualification_approve_second_award
  23 +
  24 +-i wait_active_awarded_start
  25 +
  26 +-i award_stand_still
  27 +
  28 +-i lot_cancellation
  29 +-i lot_cancellation_stand_still
  30 +-i lot_cancellation_view
  31 +
  32 +-i tender_cancellation
  33 +-i tender_cancellation_stand_still
  34 +-i tender_cancellation_view
  1 +-v MODE:openua_defense
  2 +
  3 +-v NUMBER_OF_ITEMS:1
  4 +-v NUMBER_OF_LOTS:2
  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_by_provider
  14 +-i make_bid_by_provider1
  15 +-i make_bid_by_provider2
  16 +
  17 +-i tender_complaintPeriond_stand_still
  18 +
  19 +-i wait_active_qualification_start
  20 +
  21 +-i lot_cancellation
  22 +-i lot_cancellation_stand_still
  23 +-i lot_cancellation_view
  24 +
  25 +-i tender_cancellation
  26 +-i tender_cancellation_stand_still
  27 +-i tender_cancellation_view
  1 +-v MODE:belowThreshold
  2 +
  3 +-v NUMBER_OF_ITEMS:1
  4 +-v NUMBER_OF_LOTS:2
  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 lot_cancellation
  14 +-i lot_cancellation_view
  15 +
  16 +-i tender_cancellation
  17 +-i tender_cancellation_view
  1 +-v MODE:framework_selection
  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_stage2
  11 +-i find_tender_tender_owner
  12 +-i find_tender
  13 +
  14 +-i tender_cancellation
  15 +-i tender_cancellation_stand_still
  16 +-i tender_cancellation_view
  1 +-v MODE:open_competitive_dialogue
  2 +
  3 +-v NUMBER_OF_ITEMS:1
  4 +-v NUMBER_OF_LOTS:2
  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 +-i tender_view
  13 +
  14 +-i make_bid_by_provider
  15 +-i make_bid_by_provider1
  16 +-i make_bid_by_provider2
  17 +
  18 +-i tender_complaintPeriond_stand_still
  19 +
  20 +-i wait_active_pre-qualification_start
  21 +
  22 +-i lot_cancellation
  23 +-i lot_cancellation_stand_still
  24 +-i lot_cancellation_view
  25 +
  26 +-i tender_cancellation
  27 +-i tender_cancellation_stand_still
  28 +-i tender_cancellation_view
  1 +-v MODE:open_competitive_dialogue
  2 +
  3 +-v NUMBER_OF_ITEMS:1
  4 +-v NUMBER_OF_LOTS:2
  5 +
  6 +-v TENDER_MEAT:False
  7 +-v ITEM_MEAT:False
  8 +-v LOT_MEAT:False
  9 +
  10 +-v DIALOGUE_TYPE:UA
  11 +
  12 +-i create_tender
  13 +-i find_tender
  14 +-i tender_view
  15 +
  16 +-i make_bid_by_provider
  17 +-i make_bid_by_provider1
  18 +-i make_bid_by_provider2
  19 +
  20 +-i tender_complaintPeriond_stand_still
  21 +
  22 +-i wait_active_pre-qualification_start
  23 +
  24 +-i lot_cancellation
  25 +-i lot_cancellation_stand_still
  26 +-i lot_cancellation_view
  27 +
  28 +-i tender_cancellation
  29 +-i tender_cancellation_stand_still
  30 +-i tender_cancellation_view
  1 +-v MODE:open_esco
  2 +
  3 +-v NUMBER_OF_ITEMS:1
  4 +-v NUMBER_OF_LOTS:2
  5 +
  6 +-v TENDER_MEAT:False
  7 +-v ITEM_MEAT:False
  8 +-v LOT_MEAT:False
  9 +
  10 +-v FUNDING_KIND:budget
  11 +
  12 +-i create_tender
  13 +-i find_tender
  14 +
  15 +-i make_bid_by_provider
  16 +-i make_bid_by_provider1
  17 +-i make_bid_by_provider2
  18 +
  19 +-i tender_complaintPeriond_stand_still
  20 +
  21 +-i wait_active_pre-qualification_start
  22 +
  23 +-i lot_cancellation
  24 +-i lot_cancellation_stand_still
  25 +-i lot_cancellation_view
  26 +
  27 +-i tender_cancellation
  28 +-i tender_cancellation_stand_still
  29 +-i tender_cancellation_view
  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 +-i create_tender
  11 +-i find_tender
  12 +
  13 +-i make_bid_by_provider
  14 +-i make_bid_by_provider1
  15 +-i make_bid_by_provider2
  16 +
  17 +-i tender_complaintPeriond_stand_still
  18 +
  19 +-i wait_active_pre-qualification_start
  20 +
  21 +-i tender_cancellation
  22 +-i tender_cancellation_stand_still
  23 +-i tender_cancellation_view
  1 +-v MODE:openeu
  2 +
  3 +-v NUMBER_OF_ITEMS:1
  4 +-v NUMBER_OF_LOTS:2
  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_by_provider
  14 +-i make_bid_by_provider1
  15 +-i make_bid_by_provider2
  16 +
  17 +-i tender_complaintPeriond_stand_still
  18 +
  19 +-i wait_active_pre-qualification_start
  20 +
  21 +-i lot_cancellation
  22 +-i lot_cancellation_stand_still
  23 +-i lot_cancellation_view
  24 +
  25 +-i tender_cancellation
  26 +-i tender_cancellation_stand_still
  27 +-i tender_cancellation_view
  28 +
  1 +-v MODE:belowThreshold
  2 +
  3 +-v NUMBER_OF_ITEMS:1
  4 +-v NUMBER_OF_LOTS:2
  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_by_provider
  14 +-i make_bid_by_provider1
  15 +
  16 +-i wait_active_qualification_start
  17 +
  18 +-i lot_cancellation
  19 +-i lot_cancellation_view
  20 +
  21 +-i tender_cancellation
  22 +-i tender_cancellation_view
  1 +-v MODE:open_competitive_dialogue
  2 +
  3 +-v NUMBER_OF_ITEMS:1
  4 +-v NUMBER_OF_LOTS:2
  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 +-i tender_view
  13 +
  14 +-i make_bid_by_provider
  15 +-i make_bid_by_provider1
  16 +-i make_bid_by_provider2
  17 +
  18 +-i pre-qualification_approve_first_bid
  19 +-i pre-qualification_approve_second_bid
  20 +-i pre-qualification_approve_third_bid
  21 +-i pre-qualification_approve_fourth_bid
  22 +-i pre-qualification_approve_fifth_bid
  23 +-i pre-qualification_approve_sixth_bid
  24 +-i pre-qualification_approve_qualifications
  25 +
  26 +-i stage2_pending_status_view
  27 +-i wait_bridge_for_work
  28 +-i activate_second_stage
  29 +-i get_second_stage
  30 +-i compare_stages
  31 +
  32 +-i save_tender_second_stage
  33 +
  34 +-i make_bid_by_provider_second_stage
  35 +-i make_bid_by_provider1_second_stage
  36 +
  37 +-i pre-qualification_approve_first_bid_second_stage
  38 +-i pre-qualification_approve_second_bid_second_stage
  39 +-i pre-qualification_approve_qualifications_second_stage
  40 +
  41 +-i wait_active_qualification_start
  42 +
  43 +-i lot_cancellation
  44 +-i lot_cancellation_stand_still
  45 +-i lot_cancellation_view
  46 +
  47 +-i tender_cancellation
  48 +-i tender_cancellation_stand_still
  49 +-i tender_cancellation_view
  1 +-v MODE:open_competitive_dialogue
  2 +
  3 +-v NUMBER_OF_ITEMS:1
  4 +-v NUMBER_OF_LOTS:2
  5 +
  6 +-v TENDER_MEAT:False
  7 +-v ITEM_MEAT:False
  8 +-v LOT_MEAT:False
  9 +
  10 +-v DIALOGUE_TYPE:UA
  11 +
  12 +-i create_tender
  13 +-i find_tender
  14 +-i tender_view
  15 +
  16 +-i make_bid_by_provider
  17 +-i make_bid_by_provider1
  18 +-i make_bid_by_provider2
  19 +
  20 +-i pre-qualification_approve_first_bid
  21 +-i pre-qualification_approve_second_bid
  22 +-i pre-qualification_approve_third_bid
  23 +-i pre-qualification_approve_fourth_bid
  24 +-i pre-qualification_approve_fifth_bid
  25 +-i pre-qualification_approve_sixth_bid
  26 +-i pre-qualification_approve_qualifications
  27 +
  28 +-i stage2_pending_status_view
  29 +-i wait_bridge_for_work
  30 +-i activate_second_stage
  31 +-i get_second_stage
  32 +-i compare_stages
  33 +
  34 +-i save_tender_second_stage
  35 +
  36 +
  37 +-i make_bid_by_provider_second_stage
  38 +-i make_bid_by_provider1_second_stage
  39 +
  40 +-i wait_active_qualification_start
  41 +
  42 +-i lot_cancellation
  43 +-i lot_cancellation_stand_still
  44 +-i lot_cancellation_view
  45 +
  46 +-i tender_cancellation
  47 +-i tender_cancellation_stand_still
  48 +-i tender_cancellation_view
  1 +-v MODE:open_esco
  2 +
  3 +-v NUMBER_OF_ITEMS:1
  4 +-v NUMBER_OF_LOTS:2
  5 +
  6 +-v TENDER_MEAT:False
  7 +-v ITEM_MEAT:False
  8 +-v LOT_MEAT:False
  9 +
  10 +-v FUNDING_KIND:budget
  11 +
  12 +-i create_tender
  13 +-i find_tender
  14 +
  15 +-i make_bid_by_provider
  16 +-i make_bid_by_provider1
  17 +-i make_bid_by_provider2
  18 +
  19 +-i tender_complaintPeriond_stand_still
  20 +
  21 +-i wait_active_pre-qualification_start
  22 +
  23 +-i pre-qualification_view
  24 +-i pre-qualification_approve_first_bid
  25 +-i pre-qualification_approve_second_bid
  26 +-i pre-qualification_approve_third_bid
  27 +-i pre-qualification_approve_fourth_bid
  28 +-i pre-qualification_approve_fifth_bid
  29 +-i pre-qualification_approve_sixth_bid
  30 +-i pre-qualification_approve_qualifications
  31 +
  32 +-i wait_active_qualification_start
  33 +
  34 +-i lot_cancellation
  35 +-i lot_cancellation_stand_still
  36 +-i lot_cancellation_view
  37 +
  38 +-i tender_cancellation
  39 +-i tender_cancellation_stand_still
  40 +-i tender_cancellation_view
  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 +-i create_tender
  11 +-i find_tender
  12 +
  13 +-i make_bid_by_provider
  14 +-i make_bid_by_provider1
  15 +-i make_bid_by_provider2
  16 +
  17 +-i tender_complaintPeriond_stand_still
  18 +
  19 +-i wait_active_pre-qualification_start
  20 +
  21 +-i pre-qualification_view
  22 +-i pre-qualification_approve_first_bid
  23 +-i pre-qualification_approve_second_bid
  24 +-i pre-qualification_approve_third_bid
  25 +-i pre-qualification_approve_qualifications
  26 +
  27 +-i wait_active_qualification_start
  28 +
  29 +-i tender_cancellation
  30 +-i tender_cancellation_stand_still
  31 +-i tender_cancellation_view
  1 +-v MODE:framework_selection
  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_stage2
  11 +-i find_tender_tender_owner
  12 +-i find_tender
  13 +
  14 +-i selection_make_bid_by_provider
  15 +-i selection_make_bid_by_provider1
  16 +
  17 +-i wait_active_qualification_start
  18 +
  19 +-i tender_cancellation
  20 +-i tender_cancellation_stand_still
  21 +-i tender_cancellation_view
  1 +-v MODE:openeu
  2 +
  3 +-v NUMBER_OF_ITEMS:1
  4 +-v NUMBER_OF_LOTS:2
  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_by_provider
  14 +-i make_bid_by_provider1
  15 +-i make_bid_by_provider2
  16 +
  17 +-i tender_complaintPeriond_stand_still
  18 +
  19 +-i wait_active_pre-qualification_start
  20 +
  21 +-i pre-qualification_view
  22 +-i pre-qualification_approve_first_bid
  23 +-i pre-qualification_approve_second_bid
  24 +-i pre-qualification_approve_third_bid
  25 +-i pre-qualification_approve_fourth_bid
  26 +-i pre-qualification_approve_fifth_bid
  27 +-i pre-qualification_approve_sixth_bid
  28 +-i pre-qualification_approve_qualifications
  29 +
  30 +-i wait_active_qualification_start
  31 +
  32 +-i lot_cancellation
  33 +-i lot_cancellation_stand_still
  34 +-i lot_cancellation_view
  35 +
  36 +-i tender_cancellation
  37 +-i tender_cancellation_stand_still
  38 +-i tender_cancellation_view
  1 +-v MODE:openua
  2 +
  3 +-v NUMBER_OF_ITEMS:1
  4 +-v NUMBER_OF_LOTS:2
  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_by_provider
  14 +-i make_bid_by_provider1
  15 +-i make_bid_by_provider2
  16 +
  17 +-i tender_complaintPeriond_stand_still
  18 +
  19 +-i wait_active_qualification_start
  20 +
  21 +-i lot_cancellation
  22 +-i lot_cancellation_stand_still
  23 +-i lot_cancellation_view
  24 +
  25 +-i tender_cancellation
  26 +-i tender_cancellation_stand_still
  27 +-i tender_cancellation_view
  1 +-v MODE:openua_defense
  2 +
  3 +-v NUMBER_OF_ITEMS:1
  4 +-v NUMBER_OF_LOTS:2
  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_by_provider
  14 +-i make_bid_by_provider1
  15 +-i make_bid_by_provider2
  16 +
  17 +-i tender_complaintPeriond_stand_still
  18 +
  19 +-i wait_active_qualification_start
  20 +
  21 +-i lot_cancellation
  22 +-i lot_cancellation_stand_still
  23 +-i lot_cancellation_view
  24 +
  25 +-i tender_cancellation
  26 +-i tender_cancellation_stand_still
  27 +-i tender_cancellation_view
  1 +-v MODE:open_competitive_dialogue
  2 +
  3 +-v NUMBER_OF_ITEMS:1
  4 +-v NUMBER_OF_LOTS:2
  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 +-i tender_view
  13 +
  14 +-i make_bid_by_provider
  15 +-i make_bid_by_provider1
  16 +-i make_bid_by_provider2
  17 +
  18 +-i pre-qualification_approve_first_bid
  19 +-i pre-qualification_approve_second_bid
  20 +-i pre-qualification_approve_third_bid
  21 +-i pre-qualification_approve_fourth_bid
  22 +-i pre-qualification_approve_fifth_bid
  23 +-i pre-qualification_approve_sixth_bid
  24 +-i pre-qualification_approve_qualifications
  25 +
  26 +-i stage2_pending_status_view
  27 +-i wait_bridge_for_work
  28 +-i activate_second_stage
  29 +-i get_second_stage
  30 +-i compare_stages
  31 +
  32 +-i save_tender_second_stage
  33 +
  34 +-i lot_cancellation
  35 +-i lot_cancellation_stand_still
  36 +-i lot_cancellation_view
  37 +
  38 +-i tender_cancellation
  39 +-i tender_cancellation_stand_still
  40 +-i tender_cancellation_view
  1 +-v MODE:open_competitive_dialogue
  2 +
  3 +-v NUMBER_OF_ITEMS:1
  4 +-v NUMBER_OF_LOTS:2
  5 +
  6 +-v TENDER_MEAT:False
  7 +-v ITEM_MEAT:False
  8 +-v LOT_MEAT:False
  9 +
  10 +-v DIALOGUE_TYPE:UA
  11 +
  12 +-i create_tender
  13 +-i find_tender
  14 +-i tender_view
  15 +
  16 +-i make_bid_by_provider
  17 +-i make_bid_by_provider1
  18 +-i make_bid_by_provider2
  19 +
  20 +-i pre-qualification_approve_first_bid
  21 +-i pre-qualification_approve_second_bid
  22 +-i pre-qualification_approve_third_bid
  23 +-i pre-qualification_approve_fourth_bid
  24 +-i pre-qualification_approve_fifth_bid
  25 +-i pre-qualification_approve_sixth_bid
  26 +-i pre-qualification_approve_qualifications
  27 +
  28 +-i stage2_pending_status_view
  29 +-i wait_bridge_for_work
  30 +-i activate_second_stage
  31 +-i get_second_stage
  32 +-i compare_stages
  33 +
  34 +-i save_tender_second_stage
  35 +
  36 +-i lot_cancellation
  37 +-i lot_cancellation_stand_still
  38 +-i lot_cancellation_view
  39 +
  40 +-i tender_cancellation
  41 +-i tender_cancellation_stand_still
  42 +-i tender_cancellation_view
  1 +-v MODE:framework_selection
  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_stage2
  11 +-i find_tender_tender_owner
  12 +-i find_tender
  13 +
  14 +-i selection_make_bid_by_provider
  15 +-i selection_make_bid_by_provider1
  16 +
  17 +-i tender_cancellation
  18 +-i tender_cancellation_stand_still
  19 +-i tender_cancellation_view
  1 +-v MODE:open_framework
  2 +
  3 +-v NUMBER_OF_ITEMS:1
  4 +-v NUMBER_OF_LOTS:1
  5 +
  6 +-v TENDER_MEAT:True
  7 +-v ITEM_MEAT:False
  8 +-v LOT_MEAT:False
  9 +
  10 +-i create_tender
  11 +-i find_tender
  12 +
  13 +-i tender_view
  14 +
  15 +-i make_bid_by_provider
  16 +-i make_bid_by_provider1
  17 +-i make_bid_by_provider2
  18 +
  19 +-i openeu_add_financial_bid_doc_by_provider
  20 +-i openeu_add_qualification_bid_doc_by_provider
  21 +-i openeu_add_eligibility_bid_doc_by_provider
  22 +-i add_winningBid_doc_by_provider
  23 +
  24 +-i pre-qualification_view
  25 +
  26 +-i pre-qualification_approve_first_bid
  27 +-i pre-qualification_reject_second_bid
  28 +-i pre-qualification_cancel_second_bid_qualification
  29 +-i pre-qualification_approve_second_bid
  30 +-i pre-qualification_approve_third_bid
  31 +-i pre-qualification_approve_qualifications
  32 +
  33 +-i qualification_approve_first_award
  34 +-i qualification_add_doc_to_second_award
  35 +-i qualification_approve_second_award
  36 +-i qualification_add_doc_to_third_award
  37 +-i qualification_approve_third_award
  38 +-i qualification_approve_qualifications
  39 +
  40 +-i contract_stand_still
  41 +-i awarding_approve_first_award
  42 +-i modify_agreement
  43 +-i agreement_registration
  44 +
  45 +-i find_agreement
  46 +-i add_agreement_doc
  47 +-i submit_change
  48 +-i change_view
  49 +-i modification
  50 +-i modification_view
  51 +-i apply_change
@@ -7,9 +7,6 @@ @@ -7,9 +7,6 @@
7 -v ITEM_MEAT:False 7 -v ITEM_MEAT:False
8 -v LOT_MEAT:False 8 -v LOT_MEAT:False
9 9
10 --v PROFILE:True  
11 -  
12 --i create_tender_wrong_date  
13 -i create_tender 10 -i create_tender
14 -i find_tender 11 -i find_tender
15 -i extend_tendering_period 12 -i extend_tendering_period
@@ -25,13 +22,32 @@ @@ -25,13 +22,32 @@
25 -i add_doc_to_bid_by_provider 22 -i add_doc_to_bid_by_provider
26 -i add_doc_to_bid_by_provider 23 -i add_doc_to_bid_by_provider
27 -i make_bid_by_provider1 24 -i make_bid_by_provider1
  25 +-i make_bid_by_provider2
28 26
29 -i awardPeriod_startDate 27 -i awardPeriod_startDate
  28 +-i award_view_min_amount
30 -i disqualification_first_award_by_provider 29 -i disqualification_first_award_by_provider
31 -i qualification_approve_second_award_by_provider 30 -i qualification_approve_second_award_by_provider
32 31
  32 +-i contract_view
  33 +-i modify_contract_invalid_amountNet_tender_vat_true
33 -i modify_contract_amount_net 34 -i modify_contract_amount_net
  35 +-i contract_view_new_amountNet
34 -i modify_contract_value 36 -i modify_contract_value
  37 +-i contract_view_new_amount
  38 +-i modify_contract_invalid_amount
  39 +-i modify_contract
35 -i contract_sign 40 -i contract_sign
  41 +-i find_tender_contract
  42 +-i find_contract
  43 +-i access_contract
  44 +-i submit_change
  45 +-i view_change
  46 +-i upload_change_document
  47 +-i modify_change
  48 +-i change_contract_amountNet
  49 +-i change_contract_amount
  50 +-i apply_change
  51 +-i add_contract_doc
36 -i agreement_registration 52 -i agreement_registration
37 53
@@ -6,8 +6,8 @@ @@ -6,8 +6,8 @@
6 -v TENDER_MEAT:False 6 -v TENDER_MEAT:False
7 -v ITEM_MEAT:False 7 -v ITEM_MEAT:False
8 -v LOT_MEAT:False 8 -v LOT_MEAT:False
9 --v PROFILE:False  
10 9
11 --i create_tender 10 +-i create_tender_invalid_profile
12 -i find_tender 11 -i find_tender
13 -i unsuccessfully_tender_verification_wrong_profile 12 -i unsuccessfully_tender_verification_wrong_profile
  13 +-i impossible_make_bid_when_draft_unsuccessful
  1 +-v MODE:priceQuotation
  2 +
  3 +-v NUMBER_OF_ITEMS:1
  4 +-v NUMBER_OF_LOTS:0
  5 +
  6 +-v TENDER_MEAT:False
  7 +-v ITEM_MEAT:False
  8 +-v LOT_MEAT:False
  9 +
  10 +-i create_tender_hidden
  11 +-i unsuccessfully_tender_verification_wrong_profile
  12 +-i tender_unsuccessfully_reason_profile_hidden
  1 +-v MODE:priceQuotation
  2 +
  3 +-v NUMBER_OF_ITEMS:1
  4 +-v NUMBER_OF_LOTS:0
  5 +
  6 +-v TENDER_MEAT:False
  7 +-v ITEM_MEAT:False
  8 +-v LOT_MEAT:False
  9 +
  10 +-i create_tender_shortlistedfirms_empty
  11 +-i unsuccessfully_tender_verification_wrong_profile
  12 +-i tender_unsuccessfully_reason_shortlistedfirms_empty
  1 +-v MODE:priceQuotation
  2 +
  3 +-v NUMBER_OF_ITEMS:1
  4 +-v NUMBER_OF_LOTS:0
  5 +
  6 +-v TENDER_MEAT:False
  7 +-v ITEM_MEAT:False
  8 +-v LOT_MEAT:False
  9 +
  10 +-i create_tender_unknown_profile
  11 +-i unsuccessfully_tender_verification_wrong_profile
  12 +-i tender_unsuccessfully_reason_unknown_profile
@@ -6,7 +6,6 @@ @@ -6,7 +6,6 @@
6 -v TENDER_MEAT:False 6 -v TENDER_MEAT:False
7 -v ITEM_MEAT:False 7 -v ITEM_MEAT:False
8 -v LOT_MEAT:False 8 -v LOT_MEAT:False
9 --v PROFILE:True  
10 9
11 -i create_tender 10 -i create_tender
12 -i find_tender 11 -i find_tender
@@ -6,7 +6,6 @@ @@ -6,7 +6,6 @@
6 -v TENDER_MEAT:False 6 -v TENDER_MEAT:False
7 -v ITEM_MEAT:False 7 -v ITEM_MEAT:False
8 -v LOT_MEAT:False 8 -v LOT_MEAT:False
9 --v PROFILE:True  
10 9
11 -i create_tender 10 -i create_tender
12 -i find_tender 11 -i find_tender
@@ -6,7 +6,6 @@ @@ -6,7 +6,6 @@
6 -v TENDER_MEAT:False 6 -v TENDER_MEAT:False
7 -v ITEM_MEAT:False 7 -v ITEM_MEAT:False
8 -v LOT_MEAT:False 8 -v LOT_MEAT:False
9 --v PROFILE:True  
10 9
11 -i create_tender 10 -i create_tender
12 -i find_tender 11 -i find_tender
@@ -7,8 +7,6 @@ @@ -7,8 +7,6 @@
7 -v ITEM_MEAT:False 7 -v ITEM_MEAT:False
8 -v LOT_MEAT:False 8 -v LOT_MEAT:False
9 9
10 --v PROFILE:True  
11 -  
12 -i create_tender 10 -i create_tender
13 -i find_tender 11 -i find_tender
14 12
  1 +-v MODE:priceQuotation
  2 +
  3 +-v NUMBER_OF_ITEMS:1
  4 +-v NUMBER_OF_LOTS:0
  5 +
  6 +-v TENDER_MEAT:False
  7 +-v ITEM_MEAT:False
  8 +-v LOT_MEAT:False
  9 +
  10 +-i create_tender_wrong_date
  11 +-i create_tender_empty_profile
  12 +-i create_tender
  13 +-i impossible_change_tendering_status
  14 +-i successfully_tender_validation
  15 +-i change_data_active_tendering
  1 +-v MODE:priceQuotation
  2 +
  3 +-v NUMBER_OF_ITEMS:1
  4 +-v NUMBER_OF_LOTS:0
  5 +
  6 +-v TENDER_MEAT:False
  7 +-v ITEM_MEAT:False
  8 +-v LOT_MEAT:False
  9 +
  10 +-i create_tender_without_2_phase_commit
  11 +-i tender_view_status_draft
  12 +-i patch_tender_wrong_date
  13 +-i patch_tender_wrong_procuringEntity_kind
  14 +-i impossible_change_tender_status_form_draft_to_another_except_draft_publishing
  15 +-i impossible_make_bid_when_draft
@@ -7,18 +7,20 @@ @@ -7,18 +7,20 @@
7 -v ITEM_MEAT:False 7 -v ITEM_MEAT:False
8 -v LOT_MEAT:False 8 -v LOT_MEAT:False
9 9
10 --v PROFILE:True  
11 -  
12 -i create_tender 10 -i create_tender
13 11
14 --i succefully_tender_verification 12 +-i successfully_tender_validation
  13 +-i impossible_make_bid
15 -i make_bid_by_provider 14 -i make_bid_by_provider
16 -i make_bid_by_provider1 15 -i make_bid_by_provider1
  16 +-i delete_bid_while_tendering_period_by_provider
17 -i make_bid_by_provider2 17 -i make_bid_by_provider2
18 18
19 -i awardPeriod_startDate 19 -i awardPeriod_startDate
20 -i impossible_approve_first_award_by_customer 20 -i impossible_approve_first_award_by_customer
  21 +-i impossible_cancel_1_award_qualification_by_provider
21 -i disqualification_first_award_by_provider 22 -i disqualification_first_award_by_provider
  23 +-i cancel_bid_after_tendering_period_by_provider
22 -i qualification_reject_second_award_after_2_days 24 -i qualification_reject_second_award_after_2_days
23 25
24 -i qualification_approve_third_award_by_provider 26 -i qualification_approve_third_award_by_provider
Please register or login to post a comment