Commit ce099487f02122e68db64576790f65dce5cb6b5d

Authored by kosaniak
Committed by GitHub
2 parents 739570d8 6b345254

Merge pull request #832 from ivanka12/dasu

Dasu (part 1)
@@ -27,6 +27,19 @@ Resource resource.robot @@ -27,6 +27,19 @@ Resource resource.robot
27 Set To Dictionary ${TENDER} TENDER_UAID=${TENDER_UAID} 27 Set To Dictionary ${TENDER} TENDER_UAID=${TENDER_UAID}
28 28
29 29
  30 +Можливість створити об'єкт моніторингу
  31 + ${period_intervals}= compute_intrs ${BROKERS} ${used_brokers}
  32 + ${accelerator}= Get Variable Value ${accelerator}
  33 + ${accelerator}= Set Variable If '${accelerator}' != '${None}' ${accelerator} ${period_intervals.default.accelerator}
  34 + ${monitoring_data}= tets_monitoring_data ${USERS.users['${dasu_user}'].tender_data.data.id} ${accelerator}
  35 + Log ${monitoring_data}
  36 + ${MNITORING_UAID}= Run As ${dasu_user} Створити об'єкт моніторингу ${monitoring_data}
  37 + ${MONITORING}= Create Dictionary
  38 + Set Global Variable ${MONITORING}
  39 + Set To Dictionary ${USERS.users['${dasu_user}']} initial_data=${monitoring_data}
  40 + Set To Dictionary ${MONITORING} MONITORING_UAID=${MNITORING_UAID}
  41 +
  42 +
30 Можливість перевірити завантаження документів через Document Service 43 Можливість перевірити завантаження документів через Document Service
31 :FOR ${username} IN ${viewer} ${tender_owner} 44 :FOR ${username} IN ${viewer} ${tender_owner}
32 \ ${status}= Run Keyword And Return Status List Should Contain Value ${USERS.users['${username}'].tender_data.data} documents 45 \ ${status}= Run Keyword And Return Status List Should Contain Value ${USERS.users['${username}'].tender_data.data} documents
@@ -61,7 +74,7 @@ Resource resource.robot @@ -61,7 +74,7 @@ Resource resource.robot
61 74
62 Можливість знайти тендер по ідентифікатору для користувача ${username} 75 Можливість знайти тендер по ідентифікатору для користувача ${username}
63 Дочекатись синхронізації з майданчиком ${username} 76 Дочекатись синхронізації з майданчиком ${username}
64 - Run as ${username} Пошук тендера по ідентифікатору ${TENDER['TENDER_UAID']} 77 + Run As ${username} Пошук тендера по ідентифікатору ${TENDER['TENDER_UAID']}
65 78
66 79
67 Можливість знайти план по ідентифікатору 80 Можливість знайти план по ідентифікатору
@@ -69,11 +82,21 @@ Resource resource.robot @@ -69,11 +82,21 @@ Resource resource.robot
69 \ Можливість знайти план по ідентифікатору для користувача ${username} 82 \ Можливість знайти план по ідентифікатору для користувача ${username}
70 83
71 84
  85 +Можливість знайти об'єкт моніторингу по ідентифікатору
  86 + :FOR ${username} IN ${viewer} ${dasu_user}
  87 + \ Можливість знайти об'єкт моніторингу по ідентифікатору для користувача ${username}
  88 +
  89 +
72 Можливість знайти план по ідентифікатору для користувача ${username} 90 Можливість знайти план по ідентифікатору для користувача ${username}
73 Дочекатись синхронізації з майданчиком ${username} 91 Дочекатись синхронізації з майданчиком ${username}
74 Run as ${username} Пошук плану по ідентифікатору ${TENDER['TENDER_UAID']} 92 Run as ${username} Пошук плану по ідентифікатору ${TENDER['TENDER_UAID']}
75 93
76 94
  95 +Можливість знайти об'єкт моніторингу по ідентифікатору для користувача ${username}
  96 + Дочекатись синхронізації з ДАСУ ${username}
  97 + Run as ${username} Пошук об'єкта моніторингу по ідентифікатору ${MONITORING['MONITORING_UAID']}
  98 +
  99 +
77 Можливість знайти тендер за кошти донора для усіх користувачів 100 Можливість знайти тендер за кошти донора для усіх користувачів
78 :FOR ${username} IN ${tender_owner} ${provider} ${provider1} ${provider2} ${viewer} 101 :FOR ${username} IN ${tender_owner} ${provider} ${provider1} ${provider2} ${viewer}
79 \ Можливість знайти тендер за кошти донора для користувача ${username} 102 \ Можливість знайти тендер за кошти донора для користувача ${username}
@@ -90,6 +113,10 @@ Resource resource.robot @@ -90,6 +113,10 @@ Resource resource.robot
90 Run as ${username} Пошук тендера по ідентифікатору ${tender_id} ${save_location} 113 Run as ${username} Пошук тендера по ідентифікатору ${tender_id} ${save_location}
91 114
92 115
  116 +Можливість оприлюднити рішення про початок моніторингу
  117 + Run As ${dasu_user} Оприлюднити рішення про початок моніторингу ${MONITORING['MONITORING_UAID']}
  118 +
  119 +
93 Можливість змінити поле ${field_name} тендера на ${field_value} 120 Можливість змінити поле ${field_name} тендера на ${field_value}
94 Run As ${tender_owner} Внести зміни в тендер ${TENDER['TENDER_UAID']} ${field_name} ${field_value} 121 Run As ${tender_owner} Внести зміни в тендер ${TENDER['TENDER_UAID']} ${field_name} ${field_value}
95 122
@@ -101,6 +128,63 @@ Resource resource.robot @@ -101,6 +128,63 @@ Resource resource.robot
101 Run As ${tender_owner} Внести зміни в план ${TENDER['TENDER_UAID']} ${field_name} ${field_value} 128 Run As ${tender_owner} Внести зміни в план ${TENDER['TENDER_UAID']} ${field_name} ${field_value}
102 129
103 130
  131 +Можливість додати замовника як учасника процесу моніторингу
  132 + ${patry_data}= test_party ${USERS.users['${tender_owner}'].initial_data.data.procuringEntity}
  133 + Run As ${dasu_user} Додати замовника як учасника процесу моніторингу ${MONITORING['MONITORING_UAID']} ${patry_data}
  134 +
  135 +
  136 +Можливість запитати в замовника пояснення
  137 + ${patry_data}= test_dialogue ${USERS.users['${dasu_user}'].monitoring_data.data.parties[1].id}
  138 + Run As ${dasu_user} Запитати в замовника пояснення ${MONITORING['MONITORING_UAID']} ${patry_data}
  139 +
  140 +
  141 +Можливість надати пояснення замовником
  142 + ${answer_data}= test_question_answer_data
  143 + Run As ${tender_owner} Надати пояснення замовником ${MONITORING['MONITORING_UAID']} ${answer_data}
  144 +
  145 +
  146 +Можливість надати висновок про наявність порушення в тендері
  147 + ${conclusion_data}= test_conclusion ${True}
  148 + Run As ${dasu_user} Надати висновок про наявність/відсутність порушення в тендері ${MONITORING['MONITORING_UAID']} ${conclusion_data}
  149 +
  150 +
  151 +Можливість надати висновок про відсутність порушення в тендері
  152 + ${conclusion_data}= test_conclusion ${False}
  153 + Run As ${dasu_user} Надати висновок про наявність/відсутність порушення в тендері ${MONITORING['MONITORING_UAID']} ${conclusion_data}
  154 +
  155 +
  156 +Можливість змінити статус об’єкта моніторингу на ${status}
  157 + ${conclusion_data}= test_status_data ${status}
  158 + Run As ${dasu_user} Змінити статус об’єкта моніторингу ${MONITORING['MONITORING_UAID']} ${conclusion_data}
  159 +
  160 +
  161 +Можливість надати пояснення замовником з власної ініціативи
  162 + ${patry_data}= test_dialogue ${USERS.users['${dasu_user}'].monitoring_data.data.parties[1].id}
  163 + Remove From Dictionary ${patry_data.data} relatedParty
  164 + Run As ${tender_owner} Надати пояснення замовником з власної ініціативи ${MONITORING['MONITORING_UAID']} ${patry_data}
  165 +
  166 +
  167 +Можливість надати звіт про усунення порушення замовником
  168 + ${description}= create_fake_sentence
  169 + ${resolution}= munch_dict data=${True}
  170 + Set To Dictionary ${resolution.data} description=${description}
  171 + ${file_path} ${file_name} ${file_content}= create_fake_doc
  172 + Run As ${tender_owner} Надати звіт про усунення порушення замовником ${MONITORING['MONITORING_UAID']} ${resolution} ${file_path}
  173 +
  174 +
  175 +Можливість зазначити, що порушення було оскаржено в суді
  176 + ${description}= create_fake_sentence
  177 + ${appeal}= munch_dict data=${True}
  178 + Set To Dictionary ${appeal.data} description=${description}
  179 + ${file_path} ${file_name} ${file_content}= create_fake_doc
  180 + Run As ${tender_owner} Зазначити, що порушення було оскаржено в суді ${MONITORING['MONITORING_UAID']} ${appeal} ${file_path}
  181 +
  182 +
  183 +Можливість оприлюднути рішення про усунення порушення
  184 + ${report_data}= test_elimination_report ${USERS.users['${dasu_user}'].monitoring_data.data.conclusion.violationType[0]}
  185 + Run As ${dasu_user} Оприлюднити рішення про усунення порушення ${MONITORING['MONITORING_UAID']} ${report_data}
  186 +
  187 +
104 Можливість додати документацію до тендера 188 Можливість додати документацію до тендера
105 ${file_path} ${file_name} ${file_content}= create_fake_doc 189 ${file_path} ${file_name} ${file_content}= create_fake_doc
106 Run As ${tender_owner} Завантажити документ ${file_path} ${TENDER['TENDER_UAID']} 190 Run As ${tender_owner} Завантажити документ ${file_path} ${TENDER['TENDER_UAID']}
@@ -113,6 +197,18 @@ Resource resource.robot @@ -113,6 +197,18 @@ Resource resource.robot
113 Remove File ${file_path} 197 Remove File ${file_path}
114 198
115 199
  200 +Можливість додати документацію до об'єкта моніторингу
  201 + ${file_path} ${file_name} ${file_content}= create_fake_doc
  202 + Run As ${dasu_user} Завантажити документ до об'єкта моніторингу ${file_path} ${MONITORING['MONITORING_UAID']} decision
  203 + ${doc_id}= get_id_from_string ${file_name}
  204 + ${monitoring_document}= Create Dictionary
  205 + ... doc_name=${file_name}
  206 + ... doc_id=${doc_id}
  207 + ... doc_content=${file_content}
  208 + Set To Dictionary ${USERS.users['${dasu_user}']} monitoring_document=${monitoring_document}
  209 + Remove File ${file_path}
  210 +
  211 +
116 Можливість додати предмет закупівлі в тендер 212 Можливість додати предмет закупівлі в тендер
117 ${item}= Підготувати дані для створення предмету закупівлі ${USERS.users['${tender_owner}'].initial_data.data['items'][0]['classification']['id']} 213 ${item}= Підготувати дані для створення предмету закупівлі ${USERS.users['${tender_owner}'].initial_data.data['items'][0]['classification']['id']}
118 Run As ${tender_owner} Додати предмет закупівлі ${TENDER['TENDER_UAID']} ${item} 214 Run As ${tender_owner} Додати предмет закупівлі ${TENDER['TENDER_UAID']} ${item}
@@ -174,6 +270,10 @@ Resource resource.robot @@ -174,6 +270,10 @@ Resource resource.robot
174 Звірити поле тендера ${username} ${TENDER['TENDER_UAID']} ${USERS.users['${tender_owner}'].initial_data} ${field} 270 Звірити поле тендера ${username} ${TENDER['TENDER_UAID']} ${USERS.users['${tender_owner}'].initial_data} ${field}
175 271
176 272
  273 +Звірити відображення поля ${field} об'єкта моніторингу для користувача ${username}
  274 + Звірити поле об'єкта моніторингу ${username} ${MONITORING['MONITORING_UAID']} ${USERS.users['${dasu_user}'].initial_data} ${field}
  275 +
  276 +
177 Звірити відображення поля ${field} плану для користувача ${username} 277 Звірити відображення поля ${field} плану для користувача ${username}
178 Звірити поле плану ${username} ${TENDER['TENDER_UAID']} ${USERS.users['${tender_owner}'].initial_data} ${field} 278 Звірити поле плану ${username} ${TENDER['TENDER_UAID']} ${USERS.users['${tender_owner}'].initial_data} ${field}
179 279
@@ -300,6 +400,15 @@ Resource resource.robot @@ -300,6 +400,15 @@ Resource resource.robot
300 Отримати дані із поля ${field} тендера для користувача ${username} 400 Отримати дані із поля ${field} тендера для користувача ${username}
301 Отримати дані із тендера ${username} ${TENDER['TENDER_UAID']} ${field} 401 Отримати дані із тендера ${username} ${TENDER['TENDER_UAID']} ${field}
302 402
  403 +
  404 +Отримати дані із поля ${field} об'єкта моніторингу для усіх користувачів
  405 + :FOR ${username} IN ${viewer} ${tender_owner} ${dasu_user}
  406 + \ Отримати дані із поля ${field} об'єкта моніторингу для користувача ${username}
  407 +
  408 +
  409 +Отримати дані із поля ${field} об'єкта моніторингу для користувача ${username}
  410 + Отримати дані із об'єкта моніторингу ${username} ${MONITORING['MONITORING_UAID']} ${field}
  411 +
303 ############################################################################################## 412 ##############################################################################################
304 # LOTS 413 # LOTS
305 ############################################################################################## 414 ##############################################################################################
@@ -30,6 +30,19 @@ Library openprocurement_client.utils @@ -30,6 +30,19 @@ Library openprocurement_client.utils
30 [return] ${tender_id} 30 [return] ${tender_id}
31 31
32 32
  33 +Отримати internal id об'єкта моніторингу по UAid
  34 + [Arguments] ${username} ${monitoring_uaid}
  35 + Log ${username}
  36 + Log ${monitoring_uaid}
  37 + Log Many ${USERS.users['${username}'].id_map}
  38 + ${status}= Run Keyword And Return Status Dictionary Should Contain Key ${USERS.users['${username}'].id_map} ${monitoring_uaid}
  39 + Run Keyword And Return If ${status} Get From Dictionary ${USERS.users['${username}'].id_map} ${monitoring_uaid}
  40 + Call Method ${USERS.users['${username}'].dasu_client} get_monitorings
  41 + ${monitoring_id}= Wait Until Keyword Succeeds 5x 30 sec get_monitoring_id_by_uaid ${monitoring_uaid} ${USERS.users['${username}'].dasu_client}
  42 + Set To Dictionary ${USERS.users['${username}'].id_map} ${monitoring_uaid} ${monitoring_id}
  43 + [return] ${monitoring_id}
  44 +
  45 +
33 Підготувати клієнт для користувача 46 Підготувати клієнт для користувача
34 [Arguments] ${username} 47 [Arguments] ${username}
35 [Documentation] Відкрити браузер, створити об’єкти api wrapper і 48 [Documentation] Відкрити браузер, створити об’єкти api wrapper і
@@ -48,7 +61,9 @@ Library openprocurement_client.utils @@ -48,7 +61,9 @@ Library openprocurement_client.utils
48 ${api_wrapper}= Run Keyword If '${RESOURCE}' == 'plans' 61 ${api_wrapper}= Run Keyword If '${RESOURCE}' == 'plans'
49 ... prepare_plan_api_wrapper ${USERS.users['${username}'].api_key} ${API_HOST_URL} ${API_VERSION} 62 ... prepare_plan_api_wrapper ${USERS.users['${username}'].api_key} ${API_HOST_URL} ${API_VERSION}
50 ... ELSE prepare_api_wrapper ${USERS.users['${username}'].api_key} ${RESOURCE} ${API_HOST_URL} ${API_VERSION} ${ds_api_wraper} 63 ... ELSE prepare_api_wrapper ${USERS.users['${username}'].api_key} ${RESOURCE} ${API_HOST_URL} ${API_VERSION} ${ds_api_wraper}
  64 + ${dasu_api_wraper}= prepare_dasu_api_wrapper ${USERS.users['${username}'].dasu_api_key} ${DASU_RESOURCE} ${DASU_API_HOST_URL} ${DASU_API_VERSION} ${ds_api_wraper}
51 Set To Dictionary ${USERS.users['${username}']} client=${api_wrapper} 65 Set To Dictionary ${USERS.users['${username}']} client=${api_wrapper}
  66 + Set To Dictionary ${USERS.users['${username}']} dasu_client=${dasu_api_wraper}
52 Set To Dictionary ${USERS.users['${username}']} access_token=${EMPTY} 67 Set To Dictionary ${USERS.users['${username}']} access_token=${EMPTY}
53 ${id_map}= Create Dictionary 68 ${id_map}= Create Dictionary
54 Set To Dictionary ${USERS.users['${username}']} id_map=${id_map} 69 Set To Dictionary ${USERS.users['${username}']} id_map=${id_map}
@@ -78,6 +93,18 @@ Library openprocurement_client.utils @@ -78,6 +93,18 @@ Library openprocurement_client.utils
78 [return] ${reply} 93 [return] ${reply}
79 94
80 95
  96 +Завантажити документ до об'єкта моніторингу
  97 + [Arguments] ${username} ${filepath} ${monitoring_uaid} ${monitoring_obj}
  98 + Log ${username}
  99 + Log ${monitoring_uaid}
  100 + Log ${filepath}
  101 + ${monitoring}= openprocurement_client.Пошук об'єкта моніторингу по ідентифікатору ${username} ${monitoring_uaid}
  102 + ${monitoring}= set_access_key ${monitoring} ${USERS.users['${username}'].access_token}
  103 + ${reply}= Call Method ${USERS.users['${username}'].dasu_client} upload_monitoring_document ${filepath} ${monitoring} ${monitoring_obj}
  104 + Log object data ${reply} reply
  105 + [return] ${reply}
  106 +
  107 +
81 Отримати інформацію із документа 108 Отримати інформацію із документа
82 [Arguments] ${username} ${tender_uaid} ${doc_id} ${field} 109 [Arguments] ${username} ${tender_uaid} ${doc_id} ${field}
83 ${tender}= openprocurement_client.Пошук тендера по ідентифікатору ${username} ${tender_uaid} 110 ${tender}= openprocurement_client.Пошук тендера по ідентифікатору ${username} ${tender_uaid}
@@ -160,6 +187,29 @@ Library openprocurement_client.utils @@ -160,6 +187,29 @@ Library openprocurement_client.utils
160 [return] ${tender.data.tenderID} 187 [return] ${tender.data.tenderID}
161 188
162 189
  190 +Створити об'єкт моніторингу
  191 + [Arguments] ${username} ${monitoring_data}
  192 + ${monitoring}= Call Method ${USERS.users['${username}'].dasu_client} create_monitoring ${monitoring_data}
  193 + Log ${monitoring}
  194 + ${access_token}= Get Variable Value ${monitoring.access.token}
  195 + Log ${\n}${DASU_API_HOST_URL}/api/${DASU_API_VERSION}/monitorings/${monitoring.data.id}${\n} WARN
  196 + Set To Dictionary ${USERS.users['${username}']} access_token=${access_token}
  197 + Set To Dictionary ${USERS.users['${username}']} monitoring_data=${monitoring}
  198 + Log ${USERS.users['${username}'].monitoring_data}
  199 + [return] ${monitoring.data.monitoring_id}
  200 +
  201 +
  202 +Оприлюднити рішення про початок моніторингу
  203 + [Arguments] ${username} ${monitoring_uaid}
  204 + ${monitoring}= openprocurement_client.Пошук об'єкта моніторингу по ідентифікатору ${username} ${monitoring_uaid}
  205 + ${monitoring_data}= test_status_data active
  206 + Log ${monitoring_data}
  207 + ${reply}= Call Method ${USERS.users['${username}'].dasu_client} patch_monitoring ${monitoring_data} ${monitoring.data.id}
  208 + Log ${reply}
  209 + Set To Dictionary ${USERS.users['${username}']} monitoring_data=${reply}
  210 + [return] ${reply}
  211 +
  212 +
163 Створити план 213 Створити план
164 [Arguments] ${username} ${tender_data} 214 [Arguments] ${username} ${tender_data}
165 ${tender}= Call Method ${USERS.users['${username}'].client} create_plan ${tender_data} 215 ${tender}= Call Method ${USERS.users['${username}'].client} create_plan ${tender_data}
@@ -185,6 +235,117 @@ Library openprocurement_client.utils @@ -185,6 +235,117 @@ Library openprocurement_client.utils
185 [return] ${tender} 235 [return] ${tender}
186 236
187 237
  238 +Пошук об'єкта моніторингу по ідентифікатору
  239 + [Arguments] ${username} ${monitoring_uaid} ${save_key}=monitoring_data
  240 + ${internalid}= openprocurement_client.Отримати internal id об'єкта моніторингу по UAid ${username} ${monitoring_uaid}
  241 + ${monitoring}= Call Method ${USERS.users['${username}'].dasu_client} get_monitoring ${internalid}
  242 + Set To Dictionary ${USERS.users['${username}']} ${save_key}=${monitoring}
  243 + ${monitoring}= munch_dict arg=${monitoring}
  244 + Log ${monitoring}
  245 + [return] ${monitoring}
  246 +
  247 +
  248 +Отримати доступ до об'єкта моніторингу
  249 + [Arguments] ${username} ${monitoring_uaid} ${save_key}=monitoring
  250 + ${token}= Set Variable ${USERS.users['${username}'].access_token}
  251 + ${internalid}= openprocurement_client.Отримати internal id об'єкта моніторингу по UAid ${username} ${monitoring_uaid}
  252 + ${monitoring}= Call Method ${USERS.users['${username}'].dasu_client} patch_credentials ${token} ${internalid}
  253 + Set To Dictionary ${USERS.users['${username}']} ${save_key}=${monitoring}
  254 + Log ${USERS.users['${username}'].monitoring_data}
  255 + ${monitoring}= munch_dict arg=${monitoring}
  256 + [return] ${monitoring}
  257 +
  258 +
  259 +Додати замовника як учасника процесу моніторингу
  260 + [Arguments] ${username} ${monitoring_uaid} ${party_data}
  261 + ${monitoring}= openprocurement_client.Пошук об'єкта моніторингу по ідентифікатору ${username} ${monitoring_uaid}
  262 + Log ${monitoring}
  263 + ${party}= Call Method ${USERS.users['${username}'].dasu_client} create_party ${monitoring} ${party_data}
  264 + Log ${party}
  265 + ${monitoring}= openprocurement_client.Пошук об'єкта моніторингу по ідентифікатору ${username} ${monitoring_uaid}
  266 + Set To Dictionary ${USERS.users['${username}']} monitoring_data=${monitoring}
  267 + Log ${USERS.users['${username}'].monitoring_data}
  268 + [return] ${monitoring}
  269 +
  270 +
  271 +Запитати в замовника пояснення
  272 + [Arguments] ${username} ${monitoring_uaid} ${dialogue_data}
  273 + ${monitoring}= openprocurement_client.Пошук об'єкта моніторингу по ідентифікатору ${username} ${monitoring_uaid}
  274 + ${dialogue}= Call Method ${USERS.users['${username}'].dasu_client} create_dialogue ${monitoring} ${dialogue_data}
  275 + Log ${dialogue}
  276 + ${monitoring}= openprocurement_client.Пошук об'єкта моніторингу по ідентифікатору ${username} ${monitoring_uaid}
  277 + Set To Dictionary ${USERS.users['${username}']} monitoring_data=${monitoring}
  278 + Log ${USERS.users['${username}'].monitoring_data}
  279 + [return] ${monitoring}
  280 +
  281 +
  282 +Надати пояснення замовником
  283 + [Arguments] ${username} ${monitoring_uaid} ${answer_data}
  284 + Log ${USERS.users['${username}'].access_token}
  285 + ${monitoring}= openprocurement_client.Отримати доступ до об'єкта моніторингу ${username} ${monitoring_uaid}
  286 + ${answer}= Call Method ${USERS.users['${username}'].dasu_client} patch_dialogue ${monitoring} ${answer_data} ${monitoring.data.dialogues[0].id}
  287 + Log ${answer}
  288 + [return] ${answer}
  289 +
  290 +
  291 +Змінити статус об’єкта моніторингу
  292 + [Arguments] ${username} ${monitoring_uaid} ${status_data}
  293 + ${monitoring}= openprocurement_client.Пошук об'єкта моніторингу по ідентифікатору ${username} ${monitoring_uaid}
  294 + ${reply}= Call Method ${USERS.users['${username}'].dasu_client} patch_monitoring ${status_data} ${monitoring.data.id}
  295 + Log ${reply}
  296 + Set To Dictionary ${USERS.users['${username}']} monitoring_data=${reply}
  297 + [return] ${reply}
  298 +
  299 +
  300 +Оприлюднити рішення про усунення порушення
  301 + [Arguments] ${username} ${monitoring_uaid} ${report_data}
  302 + ${monitoring}= openprocurement_client.Пошук об'єкта моніторингу по ідентифікатору ${username} ${monitoring_uaid}
  303 + ${reply}= Call Method ${USERS.users['${username}'].dasu_client} patch_monitoring ${report_data} ${monitoring.data.id}
  304 + Log ${reply}
  305 + Set To Dictionary ${USERS.users['${username}']} monitoring_data=${reply}
  306 + [return] ${reply}
  307 +
  308 +
  309 +Надати звіт про усунення порушення замовником
  310 + [Arguments] ${username} ${monitoring_uaid} ${resolution_data} ${file_path}
  311 + ${reply}= Call Method ${USERS.users['${username}'].dasu_client} upload_obj_document ${file_path} ${USERS.users['${username}'].monitoring_data}
  312 + ${documents}= Create List
  313 + Append To List ${documents} ${reply.data}
  314 + Set To Dictionary ${resolution_data.data} documents=${documents}
  315 + Log ${resolution_data}
  316 + ${resolution}= Call Method ${USERS.users['${username}'].dasu_client} patch_eliminationReport ${USERS.users['${username}'].monitoring} ${resolution_data}
  317 + Log ${resolution}
  318 + [return] ${resolution}
  319 +
  320 +
  321 +Зазначити, що порушення було оскаржено в суді
  322 + [Arguments] ${username} ${monitoring_uaid} ${appeal_data} ${file_path}
  323 + ${reply}= Call Method ${USERS.users['${username}'].dasu_client} upload_obj_document ${filepath} ${USERS.users['${username}'].monitoring}
  324 + ${documents}= Create List
  325 + Append To List ${documents} ${reply.data}
  326 + Set To Dictionary ${appeal_data.data} documents=${documents}
  327 + Log ${appeal_data}
  328 + ${appeal}= Call Method ${USERS.users['${username}'].dasu_client} patch_appeal ${USERS.users['${username}'].monitoring} ${appeal_data}
  329 + Log ${appeal}
  330 + [return] ${appeal}
  331 +
  332 +
  333 +Надати пояснення замовником з власної ініціативи
  334 + [Arguments] ${username} ${monitoring_uaid} ${dialogue_data}
  335 + ${party}= Call Method ${USERS.users['${username}'].dasu_client} create_dialogue ${USERS.users['${username}'].monitoring} ${dialogue_data}
  336 + Log ${party}
  337 + [return] ${monitoring}
  338 +
  339 +
  340 +Надати висновок про наявність/відсутність порушення в тендері
  341 + [Arguments] ${username} ${monitoring_uaid} ${conclusion_data}
  342 + ${monitoring}= openprocurement_client.Пошук об'єкта моніторингу по ідентифікатору ${username} ${monitoring_uaid}
  343 + ${reply}= Call Method ${USERS.users['${username}'].dasu_client} patch_monitoring ${conclusion_data} ${monitoring.data.id}
  344 + Log ${reply}
  345 + Set To Dictionary ${USERS.users['${username}']} monitoring_data=${reply}
  346 + [return] ${reply}
  347 +
  348 +
188 Пошук плану по ідентифікатору 349 Пошук плану по ідентифікатору
189 [Arguments] ${username} ${tender_uaid} ${save_key}=tender_data 350 [Arguments] ${username} ${tender_uaid} ${save_key}=tender_data
190 ${internalid}= openprocurement_client.Отримати internal id плану по UAid ${username} ${tender_uaid} 351 ${internalid}= openprocurement_client.Отримати internal id плану по UAid ${username} ${tender_uaid}
@@ -223,6 +384,11 @@ Library openprocurement_client.utils @@ -223,6 +384,11 @@ Library openprocurement_client.utils
223 openprocurement_client.Пошук плану по ідентифікатору ${username} ${tender_uaid} 384 openprocurement_client.Пошук плану по ідентифікатору ${username} ${tender_uaid}
224 385
225 386
  387 +Оновити сторінку з об'єктом моніторингу
  388 + [Arguments] ${username} ${monitoring_uaid}
  389 + openprocurement_client.Пошук об'єкта моніторингу по ідентифікатору ${username} ${monitoring_uaid}
  390 +
  391 +
226 Отримати інформацію із тендера 392 Отримати інформацію із тендера
227 [Arguments] ${username} ${tender_uaid} ${field_name} 393 [Arguments] ${username} ${tender_uaid} ${field_name}
228 openprocurement_client.Пошук тендера по ідентифікатору 394 openprocurement_client.Пошук тендера по ідентифікатору
@@ -253,6 +419,21 @@ Library openprocurement_client.utils @@ -253,6 +419,21 @@ Library openprocurement_client.utils
253 Fail Field not found: ${field_name} 419 Fail Field not found: ${field_name}
254 420
255 421
  422 +Отримати інформацію із об'єкта моніторингу
  423 + [Arguments] ${username} ${monitoring_uaid} ${field_name}
  424 + openprocurement_client.Пошук об'єкта моніторингу по ідентифікатору
  425 + ... ${username}
  426 + ... ${monitoring_uaid}
  427 +
  428 + ${status} ${field_value}= Run keyword and ignore error
  429 + ... Get from object
  430 + ... ${USERS.users['${username}'].monitoring_data.data}
  431 + ... ${field_name}
  432 + Run Keyword if '${status}' == 'PASS' Return from keyword ${field_value}
  433 +
  434 + Fail Field not found: ${field_name}
  435 +
  436 +
256 Внести зміни в тендер 437 Внести зміни в тендер
257 [Arguments] ${username} ${tender_uaid} ${fieldname} ${fieldvalue} 438 [Arguments] ${username} ${tender_uaid} ${fieldname} ${fieldvalue}
258 ${tender}= openprocurement_client.Пошук тендера по ідентифікатору ${username} ${tender_uaid} 439 ${tender}= openprocurement_client.Пошук тендера по ідентифікатору ${username} ${tender_uaid}
@@ -708,7 +889,6 @@ Library openprocurement_client.utils @@ -708,7 +889,6 @@ Library openprocurement_client.utils
708 [return] ${complaintID} 889 [return] ${complaintID}
709 890
710 891
711 -  
712 Завантажити документацію до вимоги 892 Завантажити документацію до вимоги
713 [Arguments] ${username} ${tender_uaid} ${complaintID} ${document} 893 [Arguments] ${username} ${tender_uaid} ${complaintID} ${document}
714 ${tender}= openprocurement_client.Пошук тендера по ідентифікатору ${username} ${tender_uaid} 894 ${tender}= openprocurement_client.Пошук тендера по ідентифікатору ${username} ${tender_uaid}
1 from openprocurement_client.client import Client, EDRClient 1 from openprocurement_client.client import Client, EDRClient
  2 +from openprocurement_client.dasu_client import DasuClient
2 from openprocurement_client.document_service_client \ 3 from openprocurement_client.document_service_client \
3 import DocumentServiceClient 4 import DocumentServiceClient
4 from openprocurement_client.plan import PlansClient 5 from openprocurement_client.plan import PlansClient
@@ -158,3 +159,16 @@ class StableClient_plan(PlansClient): @@ -158,3 +159,16 @@ class StableClient_plan(PlansClient):
158 159
159 def prepare_plan_api_wrapper(key, host_url, api_version): 160 def prepare_plan_api_wrapper(key, host_url, api_version):
160 return StableClient_plan(key, host_url, api_version) 161 return StableClient_plan(key, host_url, api_version)
  162 +
  163 +
  164 +class StableClient_dasu(DasuClient):
  165 + @retry(stop_max_attempt_number=100, wait_random_min=500,
  166 + wait_random_max=4000, retry_on_exception=retry_if_request_failed)
  167 + def request(self, *args, **kwargs):
  168 + return super(StableClient_dasu, self).request(*args, **kwargs)
  169 +
  170 +
  171 +def prepare_dasu_api_wrapper(key, resource, host_url, api_version, ds_client=None):
  172 + print key
  173 + return StableClient_dasu(key, resource, host_url, api_version,
  174 + ds_client=ds_client)
@@ -67,6 +67,7 @@ Quinta: @@ -67,6 +67,7 @@ Quinta:
67 provider2: Tender_User2 67 provider2: Tender_User2
68 tender_owner: Tender_Owner 68 tender_owner: Tender_Owner
69 viewer: Tender_Viewer 69 viewer: Tender_Viewer
  70 + dasu_user: Dasu_User
70 timeout_on_wait: 15 71 timeout_on_wait: 15
71 Etender: 72 Etender:
72 intervals: 73 intervals:
@@ -4,7 +4,8 @@ users: @@ -4,7 +4,8 @@ users:
4 tenders: [test.quintagroup.com, test.quintagroup.com] 4 tenders: [test.quintagroup.com, test.quintagroup.com]
5 plans: [test.quintagroup.com, test.quintagroup.com] 5 plans: [test.quintagroup.com, test.quintagroup.com]
6 auctions: [test.quintagroup.com, bc698baa8b814908bc75405ed3d63548] 6 auctions: [test.quintagroup.com, bc698baa8b814908bc75405ed3d63548]
7 - api_key: e9c3ccb8e8124f26941d5f9639a4ebc3 7 + api_key: e9c3ccb8e8124f26941d5f9639a4ebc3
  8 + dasu_api_key: e9c3ccb8e8124f26941d5f9639a4ebc3
8 broker: Quinta 9 broker: Quinta
9 auth_edr: [test.quintagroup.com, f5111c99a97a45348d8165ba8fcf0d62] 10 auth_edr: [test.quintagroup.com, f5111c99a97a45348d8165ba8fcf0d62]
10 browser: phantomjs 11 browser: phantomjs
@@ -16,6 +17,7 @@ users: @@ -16,6 +17,7 @@ users:
16 plans: [test.quintagroup.com, test.quintagroup.com] 17 plans: [test.quintagroup.com, test.quintagroup.com]
17 auctions: [test.quintagroup.com, bc698baa8b814908bc75405ed3d63548] 18 auctions: [test.quintagroup.com, bc698baa8b814908bc75405ed3d63548]
18 api_key: e9c3ccb8e8124f26941d5f9639a4ebc3 19 api_key: e9c3ccb8e8124f26941d5f9639a4ebc3
  20 + dasu_api_key: ""
19 broker: Quinta 21 broker: Quinta
20 auth_edr: [test.quintagroup.com, f5111c99a97a45348d8165ba8fcf0d62] 22 auth_edr: [test.quintagroup.com, f5111c99a97a45348d8165ba8fcf0d62]
21 browser: phantomjs 23 browser: phantomjs
@@ -27,6 +29,7 @@ users: @@ -27,6 +29,7 @@ users:
27 plans: [test.quintagroup.com, test.quintagroup.com] 29 plans: [test.quintagroup.com, test.quintagroup.com]
28 auctions: [test.quintagroup.com, bc698baa8b814908bc75405ed3d63548] 30 auctions: [test.quintagroup.com, bc698baa8b814908bc75405ed3d63548]
29 api_key: e9c3ccb8e8124f26941d5f9639a4ebc3 31 api_key: e9c3ccb8e8124f26941d5f9639a4ebc3
  32 + dasu_api_key: ""
30 broker: Quinta 33 broker: Quinta
31 auth_edr: [test.quintagroup.com, f5111c99a97a45348d8165ba8fcf0d62] 34 auth_edr: [test.quintagroup.com, f5111c99a97a45348d8165ba8fcf0d62]
32 browser: phantomjs 35 browser: phantomjs
@@ -38,6 +41,7 @@ users: @@ -38,6 +41,7 @@ users:
38 plans: [test.quintagroup.com, test.quintagroup.com] 41 plans: [test.quintagroup.com, test.quintagroup.com]
39 auctions: [test.quintagroup.com, bc698baa8b814908bc75405ed3d63548] 42 auctions: [test.quintagroup.com, bc698baa8b814908bc75405ed3d63548]
40 api_key: e9c3ccb8e8124f26941d5f9639a4ebc3 43 api_key: e9c3ccb8e8124f26941d5f9639a4ebc3
  44 + dasu_api_key: ""
41 broker: Quinta 45 broker: Quinta
42 auth_edr: [test.quintagroup.com, f5111c99a97a45348d8165ba8fcf0d62] 46 auth_edr: [test.quintagroup.com, f5111c99a97a45348d8165ba8fcf0d62]
43 browser: phantomjs 47 browser: phantomjs
@@ -45,15 +49,29 @@ users: @@ -45,15 +49,29 @@ users:
45 size: [1400, 900] 49 size: [1400, 900]
46 Tender_Viewer: 50 Tender_Viewer:
47 auth_ds: 51 auth_ds:
48 - tenders: [test.quintagroup.com, test.quintagroup.com]  
49 - plans: [test.quintagroup.com, test.quintagroup.com] 52 + tenders: [test.quintagroup.com, test.quintagroup.com]
  53 + plans: [test.quintagroup.com, test.quintagroup.com]
  54 + monitorings: [test.quintagroup.com, test.quintagroup.com]
50 auctions: [test.quintagroup.com, bc698baa8b814908bc75405ed3d63548] 55 auctions: [test.quintagroup.com, bc698baa8b814908bc75405ed3d63548]
51 api_key: "" 56 api_key: ""
  57 + dasu_api_key: ""
52 broker: Quinta 58 broker: Quinta
53 browser: firefox 59 browser: firefox
54 auth_edr: [test.quintagroup.com, f5111c99a97a45348d8165ba8fcf0d62] 60 auth_edr: [test.quintagroup.com, f5111c99a97a45348d8165ba8fcf0d62]
55 position: [0, 0] 61 position: [0, 0]
56 size: [1400, 900] 62 size: [1400, 900]
  63 + Dasu_User:
  64 + auth_ds:
  65 + monitorings: [test.quintagroup.com, test.quintagroup.com]
  66 + plans: [test.quintagroup.com, test.quintagroup.com]
  67 + tenders: [test.quintagroup.com, test.quintagroup.com]
  68 + dasu_api_key: 9b3aaafba9fe4f4c95c3be3e1feaae31
  69 + api_key: 9b3aaafba9fe4f4c95c3be3e1feaae31
  70 + broker: Quinta
  71 + browser: phantomjs
  72 + auth_edr: [test.quintagroup.com, f5111c99a97a45348d8165ba8fcf0d62]
  73 + position: [0, 0]
  74 + size: [1400, 900]
57 Etender_Owner: 75 Etender_Owner:
58 broker: Etender 76 broker: Etender
59 homepage: "http://bid.uat.e-tender.biz/#/" 77 homepage: "http://bid.uat.e-tender.biz/#/"
@@ -19,9 +19,12 @@ fake_uk = Factory.create(locale='uk_UA') @@ -19,9 +19,12 @@ fake_uk = Factory.create(locale='uk_UA')
19 fake_uk.add_provider(OP_Provider) 19 fake_uk.add_provider(OP_Provider)
20 fake = fake_uk 20 fake = fake_uk
21 used_identifier_id = [] 21 used_identifier_id = []
22 -mode_open = ["belowThreshold", "aboveThresholdUA", "aboveThresholdEU",  
23 - "aboveThresholdUA.defense", "competitiveDialogueUA", "competitiveDialogueEU", "esco"]  
24 -mode_limited = ["reporting", "negotiation.quick", "negotiation"] 22 +mode_open = ["belowThreshold", "aboveThresholdUA", "aboveThresholdEU",
  23 + "aboveThresholdUA.defense", "competitiveDialogueUA", "competitiveDialogueEU", "esco"]
  24 +mode_limited = ["reporting", "negotiation.quick", "negotiation"]
  25 +violationType = ["corruptionDescription", "corruptionProcurementMethodType", "corruptionChanges",
  26 + "corruptionPublicDisclosure", "corruptionBiddingDocuments", "documentsForm",
  27 + "corruptionAwarded", "corruptionCancelled", "corruptionContracting"]
25 28
26 # This workaround fixes an error caused by missing "catch_phrase" class method 29 # This workaround fixes an error caused by missing "catch_phrase" class method
27 # for the "ru_RU" locale in Faker >= 0.7.4 30 # for the "ru_RU" locale in Faker >= 0.7.4
@@ -511,6 +514,7 @@ def test_lot_document_data(document, lot_id): @@ -511,6 +514,7 @@ def test_lot_document_data(document, lot_id):
511 document.data.update({"documentOf": "lot", "relatedItem": lot_id}) 514 document.data.update({"documentOf": "lot", "relatedItem": lot_id})
512 return munchify(document) 515 return munchify(document)
513 516
  517 +
514 def test_change_document_data(document, change_id): 518 def test_change_document_data(document, change_id):
515 document.data.update({"documentOf": "change", "relatedItem": change_id}) 519 document.data.update({"documentOf": "change", "relatedItem": change_id})
516 return munchify(document) 520 return munchify(document)
@@ -588,4 +592,79 @@ def test_change_data(): @@ -588,4 +592,79 @@ def test_change_data():
588 592
589 593
590 def get_hash(file_contents): 594 def get_hash(file_contents):
591 - return ("md5:"+hashlib.md5(file_contents).hexdigest())  
  595 + return ("md5:"+hashlib.md5(file_contents).hexdigest())
  596 +
  597 +
  598 +def tets_monitoring_data( tender_id, accelerator=None):
  599 + data = {
  600 + "reasons": [random.choice(["public", "fiscal", "indicator", "authorities", "media"])],
  601 + "tender_id": tender_id,
  602 + "procuringStages": [random.choice(["awarding", "contracting", "planning"])],
  603 + "parties": [fake.procuringEntity()],
  604 + "decision": {
  605 + "date": get_now().isoformat(),
  606 + "description": fake_en.sentence(nb_words=10, variable_nb_words=True)
  607 + },
  608 + "mode": "test"
  609 + }
  610 + data["parties"][0]["roles"] = [random.choice(["create", "decision", "conclusion"])]
  611 + data["parties"][0]["name"] = "The State Audit Service of Ukraine"
  612 + data['monitoringDetails'] = 'quick, ' \
  613 + 'accelerator={}'.format(accelerator)
  614 + return munchify({'data':data})
  615 +
  616 +
  617 +def test_party(party):
  618 + party["roles"] = "dialogue"
  619 + del party["kind"]
  620 + return munchify({"data":party})
  621 +
  622 +
  623 +def test_dialogue(relatedParty_id):
  624 + return munchify(
  625 + {
  626 + "data":
  627 + {
  628 + "title": fake_en.sentence(nb_words=10, variable_nb_words=True),
  629 + "relatedParty": relatedParty_id,
  630 + "description": fake_en.sentence(nb_words=10, variable_nb_words=True)
  631 + }
  632 + })
  633 +
  634 +
  635 +def test_conclusion(violationOccurred=False):
  636 + return munchify(
  637 + {
  638 + "data": {
  639 + "conclusion": {
  640 + "violationOccurred": violationOccurred,
  641 + "violationType": random.choice(violationType)
  642 + }
  643 + }
  644 + })
  645 +
  646 +
  647 +def test_status_data(status):
  648 + data = {
  649 + "data": {
  650 + "status": status
  651 + }
  652 + }
  653 + if status in ('stopped', 'cancelled'):
  654 + data["data"]["cancellation"] = {}
  655 + data["data"]["cancellation"]["description"] = fake_en.sentence(nb_words=10, variable_nb_words=True)
  656 + return munchify(data)
  657 +
  658 +
  659 +def test_elimination_report(corruption):
  660 + return munchify({
  661 + "data": {
  662 + "eliminationResolution": {
  663 + "resultByType": {
  664 + corruption: random.choice(["eliminated", "not_eliminated", "no_mechanism"])
  665 + },
  666 + "result": random.choice(["completely", "partly", "none"]),
  667 + "description": fake_en.sentence(nb_words=10, variable_nb_words=True)
  668 + }
  669 + }
  670 + })
@@ -134,6 +134,7 @@ Set Suite Variable With Default Value @@ -134,6 +134,7 @@ Set Suite Variable With Default Value
134 \ Set To Dictionary ${USERS} ${username}=${USERS.users.${username}} 134 \ Set To Dictionary ${USERS} ${username}=${USERS.users.${username}}
135 \ Set To Dictionary ${USERS.${username}} tender_data=${munch_dict} 135 \ Set To Dictionary ${USERS.${username}} tender_data=${munch_dict}
136 \ Set To Dictionary ${USERS.${username}} LAST_REFRESH_DATE ${LAST_REFRESH_DATE} 136 \ Set To Dictionary ${USERS.${username}} LAST_REFRESH_DATE ${LAST_REFRESH_DATE}
  137 + \ Set To Dictionary ${USERS.${username}} DASU_LAST_REFRESH_DATE ${LAST_REFRESH_DATE}
137 138
138 # Drop all unused users 139 # Drop all unused users
139 Keep In Dictionary ${USERS.users} @{used_users} 140 Keep In Dictionary ${USERS.users} @{used_users}
@@ -255,10 +256,12 @@ Get Broker Property By Username @@ -255,10 +256,12 @@ Get Broker Property By Username
255 ${reply}= Create Dictionary data=${lot} 256 ${reply}= Create Dictionary data=${lot}
256 [Return] ${reply} 257 [Return] ${reply}
257 258
  259 +
258 Підготувати дані для створення нецінового показника 260 Підготувати дані для створення нецінового показника
259 ${reply}= test_feature_data 261 ${reply}= test_feature_data
260 [Return] ${reply} 262 [Return] ${reply}
261 263
  264 +
262 Підготувати дані для подання вимоги 265 Підготувати дані для подання вимоги
263 ${claim}= test_claim_data 266 ${claim}= test_claim_data
264 [Return] ${claim} 267 [Return] ${claim}
@@ -449,6 +452,29 @@ Log differences between dicts @@ -449,6 +452,29 @@ Log differences between dicts
449 ... Set To Dictionary ${USERS.users['${username}']} LAST_REFRESH_DATE=${LAST_REFRESH_DATE} 452 ... Set To Dictionary ${USERS.users['${username}']} LAST_REFRESH_DATE=${LAST_REFRESH_DATE}
450 453
451 454
  455 +Дочекатись синхронізації з ДАСУ
  456 + [Arguments] ${username}
  457 + ${timeout_on_wait}= Get Broker Property By Username ${username} timeout_on_wait
  458 + ${last_modification_date_corrected}= Add Time To Date
  459 + ... ${MONITORING['DASU_LAST_MODIFICATION_DATE']}
  460 + ... ${timeout_on_wait} s
  461 + ${now}= Get Current TZdate
  462 + ${sleep}= Subtract Date From Date
  463 + ... ${last_modification_date_corrected}
  464 + ... ${now}
  465 + Run Keyword If ${sleep} > 0 Sleep ${sleep}
  466 +
  467 +
  468 + ${time_diff}= Subtract Date From Date
  469 + ... ${last_modification_date_corrected}
  470 + ... ${USERS.users['${username}']['DASU_LAST_REFRESH_DATE']}
  471 + ${LAST_REFRESH_DATE}= Get Current TZdate
  472 + Run Keyword If ${time_diff} > 0 Run Keywords
  473 + ... Оновити сторінку з об'єктом моніторингу ${username} ${MONITORING['MONITORING_UAID']}
  474 + ... AND
  475 + ... Set To Dictionary ${USERS.users['${username}']} DASU_LAST_REFRESH_DATE=${LAST_REFRESH_DATE}
  476 +
  477 +
452 Оновити сторінку 478 Оновити сторінку
453 [Arguments] ${username} 479 [Arguments] ${username}
454 Run Keyword If '${RESOURCE}' == 'plans' Run As ${username} Оновити сторінку з планом ${TENDER['TENDER_UAID']} 480 Run Keyword If '${RESOURCE}' == 'plans' Run As ${username} Оновити сторінку з планом ${TENDER['TENDER_UAID']}
@@ -461,6 +487,12 @@ Log differences between dicts @@ -461,6 +487,12 @@ Log differences between dicts
461 Звірити поле тендера із значенням ${username} ${tender_uaid} ${left} ${field} 487 Звірити поле тендера із значенням ${username} ${tender_uaid} ${left} ${field}
462 488
463 489
  490 +Звірити поле об'єкта моніторингу
  491 + [Arguments] ${username} ${tender_uaid} ${tender_data} ${field}
  492 + ${left}= get_from_object ${tender_data.data} ${field}
  493 + Звірити поле об'єкта моніторингу із значенням ${username} ${tender_uaid} ${left} ${field}
  494 +
  495 +
464 Звірити поле плану 496 Звірити поле плану
465 [Arguments] ${username} ${tender_uaid} ${tender_data} ${field} 497 [Arguments] ${username} ${tender_uaid} ${tender_data} ${field}
466 ${left}= get_from_object ${tender_data.data} ${field} 498 ${left}= get_from_object ${tender_data.data} ${field}
@@ -479,6 +511,12 @@ Log differences between dicts @@ -479,6 +511,12 @@ Log differences between dicts
479 Порівняти об'єкти ${left} ${right} 511 Порівняти об'єкти ${left} ${right}
480 512
481 513
  514 +Звірити поле об'єкта моніторингу із значенням
  515 + [Arguments] ${username} ${tender_uaid} ${left} ${field} ${object_id}=${Empty}
  516 + ${right}= Отримати дані із об'єкта моніторингу ${username} ${tender_uaid} ${field} ${object_id}
  517 + Порівняти об'єкти ${left} ${right}
  518 +
  519 +
482 Звірити поле договору 520 Звірити поле договору
483 [Arguments] ${username} ${contract_uaid} ${cotract_data} ${field} 521 [Arguments] ${username} ${contract_uaid} ${cotract_data} ${field}
484 ${left}= get_from_object ${contract_data.data} ${field} 522 ${left}= get_from_object ${contract_data.data} ${field}
@@ -633,6 +671,21 @@ Log differences between dicts @@ -633,6 +671,21 @@ Log differences between dicts
633 [return] ${field_value} 671 [return] ${field_value}
634 672
635 673
  674 +Отримати дані із об'єкта моніторингу
  675 + [Arguments] ${username} ${monitoring_uaid} ${field_name} ${object_id}=${Empty}
  676 + ${status} ${field_value}= Run keyword and ignore error
  677 + ... get_from_object
  678 + ... ${USERS.users['${username}'].monitoring_data.data}
  679 + ... ${field_name}
  680 + Run Keyword if '${status}' == 'PASS' Return from keyword ${field_value}
  681 + ${field_value}= Run As ${username} Отримати інформацію із об'єкта моніторингу ${monitoring_uaid} ${field_name}
  682 + Set_To_Object ${USERS.users['${username}'].monitoring_data.data} ${field_name} ${field_value}
  683 + ${data}= munch_dict arg=${USERS.users['${username}'].monitoring_data.data}
  684 + Set To Dictionary ${USERS.users['${username}'].monitoring_data} data=${data}
  685 + Log ${USERS.users['${username}'].monitoring_data.data}
  686 + [return] ${field_value}
  687 +
  688 +
636 Отримати дані із плану 689 Отримати дані із плану
637 [Arguments] ${username} ${tender_uaid} ${field_name} ${object_id}=${Empty} 690 [Arguments] ${username} ${tender_uaid} ${field_name} ${object_id}=${Empty}
638 ${field}= Run Keyword If '${object_id}' Отримати шлях до поля об’єкта ${username} ${field_name} ${object_id} 691 ${field}= Run Keyword If '${object_id}' Отримати шлях до поля об’єкта ${username} ${field_name} ${object_id}
@@ -826,6 +879,12 @@ Require Failure @@ -826,6 +879,12 @@ Require Failure
826 Порівняти об'єкти ${left} ${right} 879 Порівняти об'єкти ${left} ${right}
827 880
828 881
  882 +Звірити статус об'єкта моніторингу
  883 + [Arguments] ${username} ${monitoring_uaid} ${left}
  884 + ${right}= Run As ${username} Отримати інформацію із об'єкта моніторингу ${monitoring_uaid} status
  885 + Порівняти об'єкти ${left} ${right}
  886 +
  887 +
829 Звірити статус вимоги/скарги 888 Звірити статус вимоги/скарги
830 [Arguments] ${username} ${tender_uaid} ${complaintID} ${left} ${award_index}=${None} 889 [Arguments] ${username} ${tender_uaid} ${complaintID} ${left} ${award_index}=${None}
831 ${right}= Run as ${username} Отримати інформацію із скарги ${tender_uaid} ${complaintID} status ${award_index} 890 ${right}= Run as ${username} Отримати інформацію із скарги ${tender_uaid} ${complaintID} status ${award_index}
@@ -1017,6 +1076,12 @@ Require Failure @@ -1017,6 +1076,12 @@ Require Failure
1017 Run Keyword If '${status}' == 'PASS' Set To Dictionary ${TENDER} LAST_MODIFICATION_DATE=${LAST_MODIFICATION_DATE} 1076 Run Keyword If '${status}' == 'PASS' Set To Dictionary ${TENDER} LAST_MODIFICATION_DATE=${LAST_MODIFICATION_DATE}
1018 1077
1019 1078
  1079 +Оновити DASU_LAST_MODIFICATION_DATE
  1080 + ${LAST_MODIFICATION_DATE}= Get Current TZdate
  1081 + ${status}= Get Variable Value ${TEST_STATUS} PASS
  1082 + Run Keyword If '${status}' == 'PASS' Set To Dictionary ${MONITORING} DASU_LAST_MODIFICATION_DATE=${LAST_MODIFICATION_DATE}
  1083 +
  1084 +
1020 Отримати останній індекс 1085 Отримати останній індекс
1021 [Arguments] ${object} @{username} 1086 [Arguments] ${object} @{username}
1022 :FOR ${role} IN @{username} 1087 :FOR ${role} IN @{username}
  1 +*** Settings ***
  2 +Resource base_keywords.robot
  3 +Suite Setup Test Suite Setup
  4 +Suite Teardown Test Suite Teardown
  5 +
  6 +
  7 +*** Variables ***
  8 +${MODE} belowThreshold
  9 +
  10 +@{USED_ROLES} dasu_user tender_owner provider provider1 provider2 viewer
  11 +
  12 +${NUMBER_OF_ITEMS} ${1}
  13 +${NUMBER_OF_LOTS} ${1}
  14 +${TENDER_MEAT} ${True}
  15 +${LOT_MEAT} ${True}
  16 +${ITEM_MEAT} ${True}
  17 +${MOZ_INTEGRATION} ${False}
  18 +
  19 +*** Test Cases ***
  20 +Можливість оголосити тендер
  21 + [Tags] ${USERS.users['${tender_owner}'].broker}: Оголошення тендера
  22 + ... tender_owner
  23 + ... ${USERS.users['${tender_owner}'].broker}
  24 + ... create_tender
  25 + ... critical
  26 + [Teardown] Оновити LAST_MODIFICATION_DATE
  27 + Можливість оголосити тендер
  28 +
  29 +
  30 +Можливість знайти тендер по ідентифікатору
  31 + [Tags] ${USERS.users['${viewer}'].broker}: Пошук тендера
  32 + ... viewer tender_owner provider provider1
  33 + ... ${USERS.users['${viewer}'].broker} ${USERS.users['${tender_owner}'].broker}
  34 + ... ${USERS.users['${provider}'].broker} ${USERS.users['${provider1}'].broker}
  35 + ... ${USERS.users['${provider2}'].broker}
  36 + ... find_tender
  37 + ... critical
  38 + Можливість знайти тендер по ідентифікатору для усіх користувачів
  39 +
  40 +
  41 +Можливість знайти тендер по ідентифікатору користувачем ДАСУ
  42 + [Tags] ${USERS.users['${dasu_user}'].broker}: Пошук тендера
  43 + ... dasu_user
  44 + ... ${USERS.users['${dasu_user}'].broker}
  45 + ... find_tender
  46 + ... critical
  47 + Можливість знайти тендер по ідентифікатору для користувача ${dasu_user}
  48 +
  49 +
  50 +Відображення ідентифікатора тендера
  51 + [Tags] ${USERS.users['${dasu_user}'].broker}: Відображення основних даних тендера
  52 + ... dasu_user
  53 + ... ${USERS.users['${dasu_user}'].broker}
  54 + ... tender_view
  55 + ... critical
  56 + [Setup] Дочекатись синхронізації з майданчиком ${viewer}
  57 + Звірити відображення поля tenderID тендера із ${TENDER['TENDER_UAID']} для користувача ${dasu_user}
  58 +
  59 +
  60 +Відображення імені замовника тендера
  61 + [Tags] ${USERS.users['${dasu_user}'].broker}: Відображення основних даних тендера
  62 + ... dasu_user
  63 + ... ${USERS.users['${dasu_user}'].broker}
  64 + ... tender_view
  65 + ... critical
  66 + Звірити відображення поля procuringEntity.name тендера для користувача ${dasu_user}
  67 +
  68 +
  69 +Відображення типу оголошеного тендера
  70 + [Tags] ${USERS.users['${dasu_user}'].broker}: Відображення основних даних тендера
  71 + ... dasu_user
  72 + ... ${USERS.users['${dasu_user}'].broker}
  73 + ... tender_view
  74 + ... critical
  75 + Отримати дані із поля procurementMethodType тендера для користувача ${dasu_user}
  76 +
  77 +
  78 +Відображення бюджету тендера
  79 + [Tags] ${USERS.users['${dasu_user}'].broker}: Відображення основних даних тендера
  80 + ... dasu_user
  81 + ... ${USERS.users['${dasu_user}'].broker}
  82 + ... tender_view
  83 + ... critical
  84 + Звірити відображення поля value.amount тендера для користувача ${dasu_user}
  85 +
  86 +
  87 +Відображення валюти тендера
  88 + [Tags] ${USERS.users['${dasu_user}'].broker}: Відображення основних даних тендера
  89 + ... dasu_user
  90 + ... ${USERS.users['${dasu_user}'].broker}
  91 + ... tender_view
  92 + ... critical
  93 + Звірити відображення поля value.currency тендера для користувача ${dasu_user}
  94 +
  95 +
  96 +Відображення опису номенклатур тендера
  97 + [Tags] ${USERS.users['${dasu_user}'].broker}: Відображення основних даних тендера
  98 + ... dasu_user
  99 + ... ${USERS.users['${dasu_user}'].broker}
  100 + ... tender_view
  101 + ... critical
  102 + Звірити відображення поля description усіх предметів для користувача ${dasu_user}
  103 +
  104 +
  105 +Відображення схеми класифікації номенклатур тендера
  106 + [Tags] ${USERS.users['${dasu_user}'].broker}: Відображення основних даних тендера
  107 + ... dasu_user
  108 + ... ${USERS.users['${dasu_user}'].broker}
  109 + ... tender_view
  110 + ... critical
  111 + Звірити відображення поля classification.scheme усіх предметів для користувача ${dasu_user}
  112 +
  113 +
  114 +Відображення кількості номенклатур тендера
  115 + [Tags] ${USERS.users['${dasu_user}'].broker}: Відображення основних даних тендера
  116 + ... dasu_user
  117 + ... ${USERS.users['${dasu_user}'].broker}
  118 + ... tender_view
  119 + ... critical
  120 + Звірити відображення поля quantity усіх предметів для користувача ${dasu_user}
  121 +
  122 +
  123 +Відображення назви одиниці номенклатур тендера
  124 + [Tags] ${USERS.users['${dasu_user}'].broker}: Відображення основних даних тендера
  125 + ... dasu_user
  126 + ... ${USERS.users['${dasu_user}'].broker}
  127 + ... tender_view
  128 + ... critical
  129 + Звірити відображення поля unit.name усіх предметів для користувача ${dasu_user}
  130 +
  131 +
  132 +Відображення дати кінця доставки номенклатур тендера
  133 + [Tags] ${USERS.users['${dasu_user}'].broker}: Відображення основних даних тендера
  134 + ... dasu_user
  135 + ... ${USERS.users['${dasu_user}'].broker}
  136 + ... tender_view
  137 + ... critical
  138 + Звірити відображення дати deliveryDate.endDate усіх предметів для користувача ${dasu_user}
  139 +
  140 +
  141 +Відображення країни доставки номенклатур тендера
  142 + [Tags] ${USERS.users['${dasu_user}'].broker}: Відображення основних даних тендера
  143 + ... dasu_user
  144 + ... ${USERS.users['${dasu_user}'].broker}
  145 + ... tender_view
  146 + ... critical
  147 + Звірити відображення поля deliveryAddress.countryName усіх предметів для користувача ${dasu_user}
  148 +
  149 +
  150 +Відображення пошт. коду доставки номенклатур тендера
  151 + [Tags] ${USERS.users['${dasu_user}'].broker}: Відображення основних даних тендера
  152 + ... dasu_user
  153 + ... ${USERS.users['${dasu_user}'].broker}
  154 + ... tender_view
  155 + ... critical
  156 + Звірити відображення поля deliveryAddress.postalCode усіх предметів для користувача ${dasu_user}
  157 +
  158 +
  159 +Відображення регіону доставки номенклатур тендера
  160 + [Tags] ${USERS.users['${dasu_user}'].broker}: Відображення основних даних тендера
  161 + ... dasu_user
  162 + ... ${USERS.users['${dasu_user}'].broker}
  163 + ... tender_view
  164 + ... critical
  165 + Звірити відображення поля deliveryAddress.region усіх предметів для користувача ${dasu_user}
  166 +
  167 +
  168 +Відображення статусу тендера
  169 + [Tags] ${USERS.users['${dasu_user}'].broker}: Відображення основних даних тендера
  170 + ... dasu_user
  171 + ... ${USERS.users['${dasu_user}'].broker}
  172 + ... tender_view
  173 + ... critical
  174 + Отримати дані із поля status тендера для користувача ${dasu_user}
  175 +
  176 +
  177 +Можливість створити об'єкт моніторингу
  178 + [Tags] ${USERS.users['${dasu_user}'].broker}: Створення об'єкта моніторингу
  179 + ... dasu_user
  180 + ... ${USERS.users['${dasu_user}'].broker}
  181 + ... create_monitoring
  182 + ... critical
  183 + [Teardown] Оновити DASU_LAST_MODIFICATION_DATE
  184 + Можливість створити об'єкт моніторингу
  185 +
  186 +
  187 +Можливість додати документацію до об’єкта моніторингу
  188 + [Tags] ${USERS.users['${dasu_user}'].broker}: Додання документації
  189 + ... dasu_user
  190 + ... ${USERS.users['${dasu_user}'].broker}
  191 + ... add_doc
  192 + ... critical
  193 + [Setup] Дочекатись синхронізації з ДАСУ ${dasu_user}
  194 + [Teardown] Оновити DASU_LAST_MODIFICATION_DATE
  195 + Можливість додати документацію до об'єкта моніторингу
  196 +
  197 +
  198 +Можливість оприлюднити рішення про початок моніторингу
  199 + [Tags] ${USERS.users['${dasu_user}'].broker}: Оприлюднити рішення
  200 + ... dasu_user
  201 + ... ${USERS.users['${dasu_user}'].broker}
  202 + ... active_monitoring
  203 + ... critical
  204 + [Teardown] Оновити DASU_LAST_MODIFICATION_DATE
  205 + Можливість оприлюднити рішення про початок моніторингу
  206 +
  207 +
  208 +Можливість знайти об'єкт моніторингу по ідентифікатору
  209 + [Tags] ${USERS.users['${viewer}'].broker}: Пошук об'єкта моніторингу
  210 + ... viewer dasu_user
  211 + ... ${USERS.users['${viewer}'].broker} ${USERS.users['${dasu_user}'].broker}
  212 + ... find_monitoring
  213 + ... critical
  214 + Можливість знайти об'єкт моніторингу по ідентифікатору
  215 +
  216 +
  217 +Відображення статусу active об’єкта моніторингу
  218 + [Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних моніторингу
  219 + ... viewer
  220 + ... ${USERS.users['${viewer}'].broker}
  221 + ... active_monitoring
  222 + ... critical
  223 + Звірити статус об'єкта моніторингу ${viewer} ${MONITORING['MONITORING_UAID']} active
  224 +
  225 +
  226 +Відображення ідентифікатора тендера об’єкта моніторингу
  227 + [Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних моніторингу
  228 + ... viewer
  229 + ... ${USERS.users['${viewer}'].broker}
  230 + ... monitoring_view
  231 + ... critical
  232 + Звірити відображення поля tender_id об'єкта моніторингу для користувача ${viewer}
  233 +
  234 +
  235 +Відображення дати прийняття рішення про проведення моніторингу
  236 + [Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних моніторингу
  237 + ... viewer
  238 + ... ${USERS.users['${viewer}'].broker}
  239 + ... monitoring_view
  240 + ... critical
  241 + Звірити відображення поля decision.date об'єкта моніторингу для користувача ${viewer}
  242 +
  243 +
  244 +Відображення опису прийняття рішення про проведення моніторингу
  245 + [Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних моніторингу
  246 + ... viewer
  247 + ... ${USERS.users['${viewer}'].broker}
  248 + ... monitoring_view
  249 + ... critical
  250 + Звірити відображення поля decision.description об'єкта моніторингу для користувача ${viewer}
  251 +
  252 +
  253 +Відображення причини для проведення моніторингу
  254 + [Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних моніторингу
  255 + ... viewer
  256 + ... ${USERS.users['${viewer}'].broker}
  257 + ... monitoring_view
  258 + ... critical
  259 + Звірити відображення поля reasons об'єкта моніторингу для користувача ${viewer}
  260 +
  261 +
  262 +Відображення імені учасника моніторингу
  263 + [Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних моніторингу
  264 + ... viewer
  265 + ... ${USERS.users['${viewer}'].broker}
  266 + ... monitoring_view
  267 + ... critical
  268 + Звірити відображення поля parties[0].name об'єкта моніторингу для користувача ${viewer}
  269 +
  270 +
  271 +Відображення ролі учасника моніторингу
  272 + [Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних моніторингу
  273 + ... viewer
  274 + ... ${USERS.users['${viewer}'].broker}
  275 + ... monitoring_view
  276 + ... critical
  277 + Звірити відображення поля parties[0].roles об'єкта моніторингу для користувача ${viewer}
  278 +
  279 +
  280 +Можливість додати замовника як учасника процесу моніторингу
  281 + [Tags] ${USERS.users['${dasu_user}'].broker}: Додати замовника
  282 + ... dasu_user
  283 + ... ${USERS.users['${dasu_user}'].broker}
  284 + ... add_party_tender_owner
  285 + ... critical
  286 + [Teardown] Оновити DASU_LAST_MODIFICATION_DATE
  287 + Можливість додати замовника як учасника процесу моніторингу
  288 +
  289 +
  290 +Відображення імені замовника в моніторингу
  291 + [Tags] ${USERS.users['${viewer}'].broker}: Додати замовника
  292 + ... viewer
  293 + ... ${USERS.users['${viewer}'].broker}
  294 + ... add_party_tender_owner
  295 + ... critical
  296 + [Setup] Дочекатись синхронізації з ДАСУ ${viewer}
  297 + Отримати дані із поля parties[1].name об'єкта моніторингу для користувача ${viewer}
  298 +
  299 +
  300 +Відображення ролі замовника в моніторингу
  301 + [Tags] ${USERS.users['${viewer}'].broker}: Додати замовника
  302 + ... viewer
  303 + ... ${USERS.users['${viewer}'].broker}
  304 + ... add_party_tender_owner
  305 + ... critical
  306 + Отримати дані із поля parties[1].roles об'єкта моніторингу для користувача ${viewer}
  307 +
  308 +
  309 +Можливість запитати в замовника пояснення
  310 + [Tags] ${USERS.users['${dasu_user}'].broker}: Створення діалогу
  311 + ... dasu_user
  312 + ... ${USERS.users['${dasu_user}'].broker}
  313 + ... create_dialogue
  314 + ... critical
  315 + [Teardown] Оновити DASU_LAST_MODIFICATION_DATE
  316 + Можливість запитати в замовника пояснення
  317 +
  318 +
  319 +Можливість надати пояснення замовником
  320 + [Tags] ${USERS.users['${tender_owner}'].broker}: Надання пояснення
  321 + ... tender_owner
  322 + ... ${USERS.users['${tender_owner}'].broker}
  323 + ... answer_tender_owner
  324 + ... critical
  325 + [Setup] Дочекатись синхронізації з ДАСУ ${tender_owner}
  326 + [Teardown] Оновити DASU_LAST_MODIFICATION_DATE
  327 + Можливість надати пояснення замовником
  328 +
  329 +
  330 +Можливість надати висновок про відсутність порушення в тендері
  331 + [Tags] ${USERS.users['${dasu_user}'].broker}: Надання висновоку
  332 + ... dasu_user
  333 + ... ${USERS.users['${dasu_user}'].broker}
  334 + ... declined
  335 + ... critical
  336 + [Setup] Дочекатись синхронізації з ДАСУ ${dasu_user}
  337 + [Teardown] Оновити DASU_LAST_MODIFICATION_DATE
  338 + Можливість надати висновок про відсутність порушення в тендері
  339 +
  340 +
  341 +Можливість надати висновок про наявність порушення в тендері
  342 + [Tags] ${USERS.users['${dasu_user}'].broker}: Надання висновоку
  343 + ... dasu_user
  344 + ... ${USERS.users['${dasu_user}'].broker}
  345 + ... addressed
  346 + ... critical
  347 + [Setup] Дочекатись синхронізації з ДАСУ ${dasu_user}
  348 + [Teardown] Оновити DASU_LAST_MODIFICATION_DATE
  349 + Можливість надати висновок про наявність порушення в тендері
  350 +
  351 +
  352 +Можливість змінити статус об’єкта моніторингу на declined
  353 + [Tags] ${USERS.users['${dasu_user}'].broker}: Порушення не виявлені
  354 + ... dasu_user
  355 + ... ${USERS.users['${dasu_user}'].broker}
  356 + ... declined
  357 + ... critical
  358 + [Setup] Дочекатись синхронізації з ДАСУ ${dasu_user}
  359 + [Teardown] Оновити DASU_LAST_MODIFICATION_DATE
  360 + Можливість змінити статус об’єкта моніторингу на declined
  361 +
  362 +
  363 +Відображення статусу declined об’єкта моніторингу
  364 + [Tags] ${USERS.users['${tender_owner}'].broker}: Порушення не виявлені
  365 + ... tender_owner
  366 + ... ${USERS.users['${tender_owner}'].broker}
  367 + ... declined
  368 + ... critical
  369 + [Setup] Дочекатись синхронізації з ДАСУ ${tender_owner}
  370 + Звірити статус об'єкта моніторингу ${tender_owner} ${MONITORING['MONITORING_UAID']} declined
  371 +
  372 +
  373 +Можливість змінити статус об’єкта моніторингу на addressed
  374 + [Tags] ${USERS.users['${dasu_user}'].broker}: Порушення виявлені
  375 + ... dasu_user
  376 + ... ${USERS.users['${dasu_user}'].broker}
  377 + ... addressed
  378 + ... critical
  379 + [Setup] Дочекатись синхронізації з ДАСУ ${dasu_user}
  380 + [Teardown] Оновити DASU_LAST_MODIFICATION_DATE
  381 + Можливість змінити статус об’єкта моніторингу на addressed
  382 +
  383 +
  384 +Відображення статусу addressed об’єкта моніторингу
  385 + [Tags] ${USERS.users['${tender_owner}'].broker}: Порушення виявлені
  386 + ... tender_owner
  387 + ... ${USERS.users['${tender_owner}'].broker}
  388 + ... addressed
  389 + ... critical
  390 + [Setup] Дочекатись синхронізації з ДАСУ ${tender_owner}
  391 + Звірити статус об'єкта моніторингу ${tender_owner} ${MONITORING['MONITORING_UAID']} addressed
  392 +
  393 +
  394 +Можливість надати пояснення замовником з власної ініціативи
  395 + [Tags] ${USERS.users['${tender_owner}'].broker}: Надання пояснення
  396 + ... tender_owner
  397 + ... ${USERS.users['${tender_owner}'].broker}
  398 + ... addressed
  399 + ... critical
  400 + [Setup] Дочекатись синхронізації з ДАСУ ${tender_owner}
  401 + [Teardown] Оновити DASU_LAST_MODIFICATION_DATE
  402 + Можливість надати пояснення замовником з власної ініціативи
  403 +
  404 +
  405 +Можливість надати звіт про усунення порушення замовником
  406 + [Tags] ${USERS.users['${tender_owner}'].broker}: Надання звіту
  407 + ... tender_owner
  408 + ... ${USERS.users['${tender_owner}'].broker}
  409 + ... addressed
  410 + ... critical
  411 + [Setup] Дочекатись синхронізації з ДАСУ ${tender_owner}
  412 + [Teardown] Оновити DASU_LAST_MODIFICATION_DATE
  413 + Можливість надати звіт про усунення порушення замовником
  414 +
  415 +
  416 +Можливість оприлюднити рішення про усунення порушення
  417 + [Tags] ${USERS.users['${dasu_user}'].broker}: Оприлюднити рішення
  418 + ... dasu_user
  419 + ... ${USERS.users['${dasu_user}'].broker}
  420 + ... addressed
  421 + ... critical
  422 + [Setup] Дочекатись синхронізації з ДАСУ ${dasu_user}
  423 + [Teardown] Оновити DASU_LAST_MODIFICATION_DATE
  424 + Можливість оприлюднути рішення про усунення порушення
  425 +
  426 +
  427 +Можливість зазначити, що порушення було оскаржено в суді
  428 + [Tags] ${USERS.users['${tender_owner}'].broker}: Оскарження в суді
  429 + ... tender_owner
  430 + ... ${USERS.users['${tender_owner}'].broker}
  431 + ... addressed
  432 + ... critical
  433 + [Setup] Дочекатись синхронізації з ДАСУ ${tender_owner}
  434 + [Teardown] Оновити DASU_LAST_MODIFICATION_DATE
  435 + Можливість зазначити, що порушення було оскаржено в суді
  436 +
  437 +
  438 +Відображення дати закінчення моніторингу
  439 + [Tags] ${USERS.users['${dasu_user}'].broker}: Завершення моніторингу
  440 + ... dasu_user
  441 + ... ${USERS.users['${dasu_user}'].broker}
  442 + ... eliminationPeriod_endDate
  443 + ... critical
  444 + [Setup] Дочекатись синхронізації з ДАСУ ${dasu_user}
  445 + Отримати дані із поля eliminationPeriod.endDate об'єкта моніторингу для користувача ${dasu_user}
  446 + Дочекатись дати ${USERS.users['${dasu_user}'].monitoring_data.data.eliminationPeriod.endDate}
  447 +
  448 +
  449 +Можливість змінити статус об’єкта моніторингу на completed
  450 + [Tags] ${USERS.users['${dasu_user}'].broker}: Завершення моніторингу
  451 + ... dasu_user
  452 + ... ${USERS.users['${dasu_user}'].broker}
  453 + ... completed
  454 + ... critical
  455 + [Teardown] Оновити DASU_LAST_MODIFICATION_DATE
  456 + Можливість змінити статус об’єкта моніторингу на completed
  457 +
  458 +
  459 +Відображення статусу completed об’єкта моніторингу
  460 + [Tags] ${USERS.users['${tender_owner}'].broker}: Завершення моніторингу
  461 + ... tender_owner
  462 + ... ${USERS.users['${tender_owner}'].broker}
  463 + ... completed
  464 + ... critical
  465 + [Setup] Дочекатись синхронізації з ДАСУ ${tender_owner}
  466 + Звірити статус об'єкта моніторингу ${tender_owner} ${MONITORING['MONITORING_UAID']} completed
  467 +
  468 +
  469 +Можливість змінити статус об’єкта моніторингу на stopped
  470 + [Tags] ${USERS.users['${dasu_user}'].broker}: Завершення моніторингу
  471 + ... dasu_user
  472 + ... ${USERS.users['${dasu_user}'].broker}
  473 + ... stopped
  474 + ... critical
  475 + [Setup] Дочекатись синхронізації з ДАСУ ${dasu_user}
  476 + [Teardown] Оновити DASU_LAST_MODIFICATION_DATE
  477 + Можливість змінити статус об’єкта моніторингу на stopped
  478 +
  479 +
  480 +Відображення статусу stopped об’єкта моніторингу
  481 + [Tags] ${USERS.users['${tender_owner}'].broker}: Завершення моніторингу
  482 + ... tender_owner
  483 + ... ${USERS.users['${tender_owner}'].broker}
  484 + ... stopped
  485 + ... critical
  486 + [Setup] Дочекатись синхронізації з ДАСУ ${tender_owner}
  487 + Звірити статус об'єкта моніторингу ${tender_owner} ${MONITORING['MONITORING_UAID']} stopped
  488 +
  489 +
  490 +Можливість змінити статус об’єкта моніторингу на cancelled
  491 + [Tags] ${USERS.users['${dasu_user}'].broker}: Завершення моніторингу
  492 + ... dasu_user
  493 + ... ${USERS.users['${dasu_user}'].broker}
  494 + ... cancelled
  495 + ... critical
  496 + [Setup] Дочекатись синхронізації з ДАСУ ${dasu_user}
  497 + [Teardown] Оновити DASU_LAST_MODIFICATION_DATE
  498 + Можливість змінити статус об’єкта моніторингу на cancelled
  499 +
  500 +
  501 +Відображення статусу cancelled об’єкта моніторингу
  502 + [Tags] ${USERS.users['${tender_owner}'].broker}: Завершення моніторингу
  503 + ... viewer
  504 + ... ${USERS.users['${tender_owner}'].broker}
  505 + ... cancelled
  506 + ... critical
  507 + [Setup] Дочекатись синхронізації з ДАСУ ${tender_owner}
  508 + Звірити статус об'єкта моніторингу ${tender_owner} ${MONITORING['MONITORING_UAID']} cancelled
  509 +
  510 +
  511 +Можливість змінити статус об’єкта моніторингу на closed
  512 + [Tags] ${USERS.users['${dasu_user}'].broker}: Завершення моніторингу
  513 + ... dasu_user
  514 + ... ${USERS.users['${dasu_user}'].broker}
  515 + ... closed
  516 + ... critical
  517 + [Teardown] Оновити DASU_LAST_MODIFICATION_DATE
  518 + Можливість змінити статус об’єкта моніторингу на closed
  519 +
  520 +
  521 +Відображення статусу closed об’єкта моніторингу
  522 + [Tags] ${USERS.users['${viewer}'].broker}: Завершення моніторингу
  523 + ... viewer
  524 + ... ${USERS.users['${viewer}'].broker}
  525 + ... closed
  526 + ... critical
  527 + [Setup] Дочекатись синхронізації з ДАСУ ${tender_owner}
  528 + Звірити статус об'єкта моніторингу ${tender_owner} ${MONITORING['MONITORING_UAID']} closed
@@ -7,3 +7,7 @@ ${DS_HOST_URL} https://upload.docs-sandbox.openprocurement.org @@ -7,3 +7,7 @@ ${DS_HOST_URL} https://upload.docs-sandbox.openprocurement.org
7 ${ROLE} viewer 7 ${ROLE} viewer
8 ${EDR_HOST_URL} https://lb.edr-sandbox.openprocurement.org 8 ${EDR_HOST_URL} https://lb.edr-sandbox.openprocurement.org
9 ${EDR_VERSION} 0 9 ${EDR_VERSION} 0
  10 +
  11 +${DASU_RESOURCE} monitorings
  12 +${DASU_API_HOST_URL} https://audit-api-sandbox.prozorro.gov.ua
  13 +${DASU_API_VERSION} 2.4
@@ -52,6 +52,12 @@ from .initial_data import ( @@ -52,6 +52,12 @@ from .initial_data import (
52 test_tender_data_planning, 52 test_tender_data_planning,
53 test_tender_data_openua_defense, 53 test_tender_data_openua_defense,
54 test_bid_competitive_data, 54 test_bid_competitive_data,
  55 + tets_monitoring_data,
  56 + test_party,
  57 + test_dialogue,
  58 + test_conclusion,
  59 + test_status_data,
  60 + test_elimination_report,
55 create_fake_title, 61 create_fake_title,
56 create_fake_value_amount, 62 create_fake_value_amount,
57 test_change_document_data, 63 test_change_document_data,
  1 +-v MODE:belowThreshold
  2 +
  3 +-v NUMBER_OF_ITEMS:1
  4 +-v NUMBER_OF_LOTS:1
  5 +
  6 +-v TENDER_MEAT:True
  7 +-v ITEM_MEAT:True
  8 +-v LOT_MEAT:True
  9 +
  10 +-i create_tender
  11 +-i find_tender
  12 +-i tender_view
  13 +
  14 +-i create_monitoring
  15 +-i find_monitoring
  16 +-i add_doc
  17 +-i cancelled
  1 +-v MODE:belowThreshold
  2 +
  3 +-v NUMBER_OF_ITEMS:1
  4 +-v NUMBER_OF_LOTS:1
  5 +
  6 +-v TENDER_MEAT:True
  7 +-v ITEM_MEAT:True
  8 +-v LOT_MEAT:True
  9 +
  10 +-i create_tender
  11 +-i find_tender
  12 +-i tender_view
  13 +
  14 +-i create_monitoring
  15 +-i find_monitoring
  16 +-i monitoring_view
  17 +-i add_doc
  18 +-i active_monitoring
  19 +
  20 +-i add_party_tender_owner
  21 +-i create_dialogue
  22 +-i answer_tender_owner
  23 +
  24 +-i declined
  25 +
  26 +-i eliminationPeriod_endDate
  27 +
  28 +-i closed
  1 +-v MODE:belowThreshold
  2 +
  3 +-v NUMBER_OF_ITEMS:1
  4 +-v NUMBER_OF_LOTS:1
  5 +
  6 +-v TENDER_MEAT:True
  7 +-v ITEM_MEAT:True
  8 +-v LOT_MEAT:True
  9 +
  10 +-i create_tender
  11 +-i find_tender
  12 +-i tender_view
  13 +
  14 +-i create_monitoring
  15 +-i find_monitoring
  16 +-i monitoring_view
  17 +
  18 +-i add_doc
  19 +-i active_monitoring
  20 +
  21 +-i add_party_tender_owner
  22 +-i create_dialogue
  23 +-i answer_tender_owner
  24 +
  25 +-i addressed
  26 +
  27 +-i eliminationPeriod_endDate
  28 +
  29 +-i completed
  1 +-v MODE:belowThreshold
  2 +
  3 +-v NUMBER_OF_ITEMS:1
  4 +-v NUMBER_OF_LOTS:1
  5 +
  6 +-v TENDER_MEAT:True
  7 +-v ITEM_MEAT:True
  8 +-v LOT_MEAT:True
  9 +
  10 +-i create_tender
  11 +-i find_tender
  12 +-i tender_view
  13 +
  14 +-i create_monitoring
  15 +-i find_monitoring
  16 +-i add_doc
  17 +-i active_monitoring
  18 +-i stopped
Please register or login to post a comment