Commit 4538bf531ea89926315fd97f0b3a5b57bb600a3c

Authored by ivanka12
Committed by GitHub
2 parents 2dee30eb fa3f0c20

Merge pull request #69 from openprocurement/master

closeFrameworkAgreementSelectionUA
@@ -48,9 +48,10 @@ Resource base_keywords.robot @@ -48,9 +48,10 @@ Resource base_keywords.robot
48 Run As ${username} Змінити документацію в ставці ${TENDER['TENDER_UAID']} ${privat_doc} ${USERS.users['${username}']['bid_document']['doc_id']} 48 Run As ${username} Змінити документацію в ставці ${TENDER['TENDER_UAID']} ${privat_doc} ${USERS.users['${username}']['bid_document']['doc_id']}
49 49
50 50
51 -Можливість завантажити ${doc_type} документ до пропозиції учасником ${username} 51 +Можливість завантажити документ до пропозиції учасником
  52 + [Arguments] ${username} ${doc_name} ${doc_type}=${NONE}
52 ${file_path} ${file_name} ${file_content}= create_fake_doc 53 ${file_path} ${file_name} ${file_content}= create_fake_doc
53 - ${bid_doc_upload}= Run As ${username} Завантажити документ в ставку ${file_path} ${TENDER['TENDER_UAID']} ${doc_type} 54 + ${bid_doc_upload}= Run As ${username} Завантажити документ в ставку ${file_path} ${TENDER['TENDER_UAID']} ${doc_name} ${doc_type}
54 Set To Dictionary ${USERS.users['${username}'].bidresponses} bid_doc_upload=${bid_doc_upload} 55 Set To Dictionary ${USERS.users['${username}'].bidresponses} bid_doc_upload=${bid_doc_upload}
55 Remove File ${file_path} 56 Remove File ${file_path}
56 57
  1 +*** Settings ***
  2 +Resource base_keywords.robot
  3 +Suite Setup Test Suite Setup
  4 +Suite Teardown Test Suite Teardown
  5 +
  6 +*** Variables ***
  7 +@{USED_ROLES} tender_owner viewer
  8 +
  9 +*** Test Cases ***
  10 +Можливість знайти закупівлю по ідентифікатору
  11 + [Tags] ${USERS.users['${viewer}'].broker}: Пошук тендера
  12 + ... viewer tender_owner
  13 + ... ${USERS.users['${viewer}'].broker} ${USERS.users['${tender_owner}'].broker}
  14 + ... find_tender
  15 + ... critical
  16 + Завантажити дані про тендер
  17 + :FOR ${username} IN ${viewer} ${tender_owner}
  18 + \ Run As ${username} Пошук тендера по ідентифікатору ${TENDER['TENDER_UAID']}
  19 +
  20 +
  21 +Відображення ідентифікатора угоди
  22 + [Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних тендера
  23 + ... viewer tender_owner
  24 + ... ${USERS.users['${viewer}'].broker} ${USERS.users['${tender_owner}'].broker}
  25 + ... tender_view
  26 + ... critical
  27 + :FOR ${username} IN ${viewer} ${tender_owner}
  28 + \ Отримати дані із поля agreements[0].agreementID тендера для користувача ${username}
  29 + ${AGREEMENT_UAID}= Get Variable Value ${USERS.users['${tender_owner}'].tender_data.data.agreements[0].agreementID}
  30 + Set Suite Variable ${AGREEMENT_UAID}
  31 +
  32 +
  33 +Можливість знайти угоду по ідентифікатору
  34 + [Tags] ${USERS.users['${viewer}'].broker}: Пошук угоди
  35 + ... viewer tender_owner
  36 + ... ${USERS.users['${viewer}'].broker} ${USERS.users['${tender_owner}'].broker}
  37 + ... find_agreement
  38 + ... critical
  39 + :FOR ${username} IN ${viewer} ${tender_owner}
  40 + \ Run As ${username} Пошук угоди по ідентифікатору ${AGREEMENT_UAID}
  41 +
  42 +
  43 +Відображення ідентифікатора контракту в угоді
  44 + [Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних угоди
  45 + ... viewer tender_owner
  46 + ... ${USERS.users['${viewer}'].broker} ${USERS.users['${tender_owner}'].broker}
  47 + ... agreement_view
  48 + ... critical
  49 + :FOR ${username} IN ${viewer} ${tender_owner}
  50 + \ Отримати дані із угоди ${username} ${AGREEMENT_UAID} contracts[0].id
  51 +
  52 +
  53 +Відображення ідентифікатора предмету в угоді
  54 + [Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних угоди
  55 + ... viewer tender_owner
  56 + ... ${USERS.users['${viewer}'].broker} ${USERS.users['${tender_owner}'].broker}
  57 + ... agreement_view
  58 + ... critical
  59 + :FOR ${username} IN ${viewer} ${tender_owner}
  60 + \ Отримати дані із угоди ${username} ${AGREEMENT_UAID} items[0].id
  61 +
  62 +
  63 +Можливість отримати доступ до угоди
  64 + [Tags] ${USERS.users['${tender_owner}'].broker}: Отримання прав доступу до угоди
  65 + ... tender_owner
  66 + ... ${USERS.users['${tender_owner}'].broker}
  67 + ... find_agreement
  68 + ... critical
  69 + Run As ${tender_owner} Отримати доступ до угоди ${AGREEMENT_UAID}
  70 +
  71 +
  72 +Можливість завантажити документацію в угоду
  73 + [Tags] ${USERS.users['${tender_owner}'].broker}: Завантаження документації в угоду
  74 + ... tender_owner
  75 + ... ${USERS.users['${tender_owner}'].broker}
  76 + ... add_agreement_doc
  77 + ... non-critical
  78 + [Setup] Дочекатись синхронізації з майданчиком ${tender_owner}
  79 + [Teardown] Оновити LAST_MODIFICATION_DATE
  80 + Можливість завантажити документ для рамкової угоди користувачем ${tender_owner}
  81 +
  82 +
  83 +Можливість внести зміну до угоди taxRate
  84 + [Tags] ${USERS.users['${tender_owner}'].broker}: Внесення зміни
  85 + ... tender_owner
  86 + ... ${USERS.users['${tender_owner}'].broker}
  87 + ... submit_change
  88 + ... critical
  89 + [Setup] Дочекатись синхронізації з майданчиком ${tender_owner}
  90 + [Teardown] Оновити LAST_MODIFICATION_DATE
  91 + ${change_data}= Підготувати дані про зміну до угоди ${tender_owner} taxRate
  92 + Run As ${tender_owner} Внести зміну в угоду ${AGREEMENT_UAID} ${change_data}
  93 +
  94 +
  95 +Відображення типу зміни taxRate
  96 + [Tags] ${USERS.users['${viewer}'].broker}: Відображення зміни
  97 + ... viewer
  98 + ... ${USERS.users['${viewer}'].broker}
  99 + ... change_view
  100 + ... non-critical
  101 + [Setup] Дочекатись синхронізації з майданчиком ${viewer}
  102 + Звірити поле угоди із значенням
  103 + ... ${viewer}
  104 + ... ${AGREEMENT_UAID}
  105 + ... ${USERS.users['${tender_owner}'].change_data.data.rationaleType}
  106 + ... changes[0].rationaleType
  107 +
  108 +
  109 +Відображення обгрунтування зміни taxRate
  110 + [Tags] ${USERS.users['${viewer}'].broker}: Відображення зміни
  111 + ... viewer
  112 + ... ${USERS.users['${viewer}'].broker}
  113 + ... change_view
  114 + ... non-critical
  115 + Звірити поле угоди із значенням
  116 + ... ${viewer}
  117 + ... ${AGREEMENT_UAID}
  118 + ... ${USERS.users['${tender_owner}'].change_data.data.rationale}
  119 + ... changes[0].rationale
  120 +
  121 +
  122 +Можливість оновити властивості угоди для внесених змін taxRate
  123 + [Tags] ${USERS.users['${tender_owner}'].broker}: Внесення зміни
  124 + ... tender_owner
  125 + ... ${USERS.users['${tender_owner}'].broker}
  126 + ... modification
  127 + ... critical
  128 + [Teardown] Оновити LAST_MODIFICATION_DATE
  129 + ${change_data}= Підготувати дані для оновлення властивості угоди ${tender_owner} addend ${0.9}
  130 + Run As ${tender_owner} Оновити властивості угоди ${AGREEMENT_UAID} ${change_data}
  131 +
  132 +
  133 +Відображення ідентифікатора предмету у властивостях taxRate
  134 + [Tags] ${USERS.users['${viewer}'].broker}: Відображення зміни
  135 + ... viewer
  136 + ... ${USERS.users['${viewer}'].broker}
  137 + ... modification_view
  138 + ... non-critical
  139 + [Setup] Дочекатись синхронізації з майданчиком ${viewer}
  140 + Звірити поле угоди із значенням
  141 + ... ${viewer}
  142 + ... ${AGREEMENT_UAID}
  143 + ... ${USERS.users['${tender_owner}'].modification_data.data.modifications[0]['itemId']}
  144 + ... changes[0].modifications[0].itemId
  145 +
  146 +
  147 +Відображення addend у властивостях taxRate
  148 + [Tags] ${USERS.users['${viewer}'].broker}: Відображення зміни
  149 + ... viewer
  150 + ... ${USERS.users['${viewer}'].broker}
  151 + ... modification_view
  152 + ... non-critical
  153 + Звірити поле угоди із значенням
  154 + ... ${viewer}
  155 + ... ${AGREEMENT_UAID}
  156 + ... ${USERS.users['${tender_owner}'].modification_data.data.modifications[0]['addend']}
  157 + ... changes[0].modifications[0].addend
  158 +
  159 +
  160 +Можливість завантажити документацію в зміну
  161 + [Tags] ${USERS.users['${tender_owner}'].broker}: Завантаження документації в угоду
  162 + ... tender_owner
  163 + ... ${USERS.users['${tender_owner}'].broker}
  164 + ... add_agreement_doc
  165 + ... non-critical
  166 + [Setup] Дочекатись синхронізації з майданчиком ${tender_owner}
  167 + [Teardown] Оновити LAST_MODIFICATION_DATE
  168 + Можливість завантажити документ для зміни у рамковій угоді користувачем ${tender_owner}
  169 +
  170 +
  171 +Можливість застосувати зміну договору taxRate
  172 + [Tags] ${USERS.users['${tender_owner}'].broker}: Внесення зміни
  173 + ... tender_owner
  174 + ... ${USERS.users['${tender_owner}'].broker}
  175 + ... apply_change
  176 + ... critical
  177 + [Setup] Дочекатись синхронізації з майданчиком ${tender_owner}
  178 + [Teardown] Оновити LAST_MODIFICATION_DATE
  179 + ${dateSigned}= create_fake_date
  180 + Run As ${tender_owner} Застосувати зміну для угоди ${AGREEMENT_UAID} ${dateSigned} active
  181 +
  182 +
  183 +Відображення статусу active зміни taxRate
  184 + [Tags] ${USERS.users['${viewer}'].broker}: Відображення зміни
  185 + ... viewer
  186 + ... ${USERS.users['${viewer}'].broker}
  187 + ... change_view
  188 + ... critical
  189 + [Setup] Дочекатись синхронізації з майданчиком ${viewer}
  190 + Звірити поле угоди із значенням
  191 + ... ${viewer}
  192 + ... ${AGREEMENT_UAID}
  193 + ... active
  194 + ... changes[0].status
  195 +
  196 +
  197 +Можливість внести зміну до угоди itemPriceVariation
  198 + [Tags] ${USERS.users['${tender_owner}'].broker}: Внесення зміни
  199 + ... tender_owner
  200 + ... ${USERS.users['${tender_owner}'].broker}
  201 + ... submit_change
  202 + ... critical
  203 + [Teardown] Оновити LAST_MODIFICATION_DATE
  204 + ${change_data}= Підготувати дані про зміну до угоди ${tender_owner} itemPriceVariation
  205 + Run As ${tender_owner} Внести зміну в угоду ${AGREEMENT_UAID} ${change_data}
  206 +
  207 +
  208 +Відображення типу зміни itemPriceVariation
  209 + [Tags] ${USERS.users['${viewer}'].broker}: Відображення зміни
  210 + ... viewer
  211 + ... ${USERS.users['${viewer}'].broker}
  212 + ... change_view
  213 + ... non-critical
  214 + [Setup] Дочекатись синхронізації з майданчиком ${viewer}
  215 + Звірити поле угоди із значенням
  216 + ... ${viewer}
  217 + ... ${AGREEMENT_UAID}
  218 + ... ${USERS.users['${tender_owner}'].change_data.data.rationaleType}
  219 + ... changes[1].rationaleType
  220 +
  221 +
  222 +Відображення обгрунтування зміни itemPriceVariation
  223 + [Tags] ${USERS.users['${viewer}'].broker}: Відображення зміни
  224 + ... viewer
  225 + ... ${USERS.users['${viewer}'].broker}
  226 + ... change_view
  227 + ... non-critical
  228 + Звірити поле угоди із значенням
  229 + ... ${viewer}
  230 + ... ${AGREEMENT_UAID}
  231 + ... ${USERS.users['${tender_owner}'].change_data.data.rationale}
  232 + ... changes[1].rationale
  233 +
  234 +
  235 +Можливість оновити властивості угоди для внесених змін itemPriceVariation
  236 + [Tags] ${USERS.users['${tender_owner}'].broker}: Внесення зміни
  237 + ... tender_owner
  238 + ... ${USERS.users['${tender_owner}'].broker}
  239 + ... modification
  240 + ... critical
  241 + [Setup] Дочекатись синхронізації з майданчиком ${tender_owner}
  242 + [Teardown] Оновити LAST_MODIFICATION_DATE
  243 + ${change_data}= Підготувати дані для оновлення властивості угоди ${tender_owner} factor ${1.1}
  244 + Run As ${tender_owner} Оновити властивості угоди ${AGREEMENT_UAID} ${change_data}
  245 +
  246 +
  247 +Відображення ідентифікатора предмету у властивостях itemPriceVariation
  248 + [Tags] ${USERS.users['${viewer}'].broker}: Відображення зміни
  249 + ... viewer
  250 + ... ${USERS.users['${viewer}'].broker}
  251 + ... modification_view
  252 + ... non-critical
  253 + [Setup] Дочекатись синхронізації з майданчиком ${viewer}
  254 + Звірити поле угоди із значенням
  255 + ... ${viewer}
  256 + ... ${AGREEMENT_UAID}
  257 + ... ${USERS.users['${tender_owner}'].modification_data.data.modifications[0]['itemId']}
  258 + ... changes[1].modifications[0].itemId
  259 +
  260 +
  261 +Відображення factor у властивостях itemPriceVariation
  262 + [Tags] ${USERS.users['${viewer}'].broker}: Відображення зміни
  263 + ... viewer
  264 + ... ${USERS.users['${viewer}'].broker}
  265 + ... modification_view
  266 + ... non-critical
  267 + Звірити поле угоди із значенням
  268 + ... ${viewer}
  269 + ... ${AGREEMENT_UAID}
  270 + ... ${USERS.users['${tender_owner}'].modification_data.data.modifications[0]['factor']}
  271 + ... changes[1].modifications[0].factor
  272 +
  273 +
  274 +Можливість скасувати зміну договору itemPriceVariation
  275 + [Tags] ${USERS.users['${tender_owner}'].broker}: Внесення зміни
  276 + ... tender_owner
  277 + ... ${USERS.users['${tender_owner}'].broker}
  278 + ... apply_change
  279 + ... critical
  280 + [Setup] Дочекатись синхронізації з майданчиком ${tender_owner}
  281 + [Teardown] Оновити LAST_MODIFICATION_DATE
  282 + ${dateSigned}= create_fake_date
  283 + Run As ${tender_owner} Застосувати зміну для угоди ${AGREEMENT_UAID} ${dateSigned} cancelled
  284 +
  285 +
  286 +Відображення статусу cancelled зміни itemPriceVariation
  287 + [Tags] ${USERS.users['${viewer}'].broker}: Відображення зміни
  288 + ... viewer
  289 + ... ${USERS.users['${viewer}'].broker}
  290 + ... change_view
  291 + ... critical
  292 + [Setup] Дочекатись синхронізації з майданчиком ${viewer}
  293 + Звірити поле угоди із значенням
  294 + ... ${viewer}
  295 + ... ${AGREEMENT_UAID}
  296 + ... cancelled
  297 + ... changes[1].status
  298 +
  299 +
  300 +Можливість внести зміну до угоди thirdParty
  301 + [Tags] ${USERS.users['${tender_owner}'].broker}: Внесення зміни
  302 + ... tender_owner
  303 + ... ${USERS.users['${tender_owner}'].broker}
  304 + ... submit_change
  305 + ... critical
  306 + [Setup] Дочекатись синхронізації з майданчиком ${tender_owner}
  307 + [Teardown] Оновити LAST_MODIFICATION_DATE
  308 + ${change_data}= Підготувати дані про зміну до угоди ${tender_owner} thirdParty
  309 + Run As ${tender_owner} Внести зміну в угоду ${AGREEMENT_UAID} ${change_data}
  310 +
  311 +
  312 +Відображення типу зміни thirdParty
  313 + [Tags] ${USERS.users['${viewer}'].broker}: Відображення зміни
  314 + ... viewer
  315 + ... ${USERS.users['${viewer}'].broker}
  316 + ... change_view
  317 + ... non-critical
  318 + [Setup] Дочекатись синхронізації з майданчиком ${viewer}
  319 + Звірити поле угоди із значенням
  320 + ... ${viewer}
  321 + ... ${AGREEMENT_UAID}
  322 + ... ${USERS.users['${tender_owner}'].change_data.data.rationaleType}
  323 + ... changes[2].rationaleType
  324 +
  325 +
  326 +Відображення обгрунтування зміни thirdParty
  327 + [Tags] ${USERS.users['${viewer}'].broker}: Відображення зміни
  328 + ... viewer
  329 + ... ${USERS.users['${viewer}'].broker}
  330 + ... change_view
  331 + ... non-critical
  332 + Звірити поле угоди із значенням
  333 + ... ${viewer}
  334 + ... ${AGREEMENT_UAID}
  335 + ... ${USERS.users['${tender_owner}'].change_data.data.rationale}
  336 + ... changes[2].rationale
  337 +
  338 +
  339 +Можливість оновити властивості угоди для внесених змін thirdParty
  340 + [Tags] ${USERS.users['${tender_owner}'].broker}: Внесення зміни
  341 + ... tender_owner
  342 + ... ${USERS.users['${tender_owner}'].broker}
  343 + ... modification
  344 + ... critical
  345 + [Setup] Дочекатись синхронізації з майданчиком ${tender_owner}
  346 + [Teardown] Оновити LAST_MODIFICATION_DATE
  347 + Log ${USERS.users['${tender_owner}'].agreement_data}
  348 + ${change_data}= Підготувати дані для оновлення властивості угоди ${tender_owner} factor ${0.97}
  349 + Run As ${tender_owner} Оновити властивості угоди ${AGREEMENT_UAID} ${change_data}
  350 +
  351 +
  352 +Відображення ідентифікатора предмету у властивостях thirdParty
  353 + [Tags] ${USERS.users['${viewer}'].broker}: Відображення зміни
  354 + ... viewer
  355 + ... ${USERS.users['${viewer}'].broker}
  356 + ... modification_view
  357 + ... non-critical
  358 + [Setup] Дочекатись синхронізації з майданчиком ${viewer}
  359 + Звірити поле угоди із значенням
  360 + ... ${viewer}
  361 + ... ${AGREEMENT_UAID}
  362 + ... ${USERS.users['${tender_owner}'].modification_data.data.modifications[0]['itemId']}
  363 + ... changes[2].modifications[0].itemId
  364 +
  365 +
  366 +Відображення factor у властивостях thirdParty
  367 + [Tags] ${USERS.users['${viewer}'].broker}: Відображення зміни
  368 + ... viewer
  369 + ... ${USERS.users['${viewer}'].broker}
  370 + ... modification_view
  371 + ... non-critical
  372 + Звірити поле угоди із значенням
  373 + ... ${viewer}
  374 + ... ${AGREEMENT_UAID}
  375 + ... ${USERS.users['${tender_owner}'].modification_data.data.modifications[0]['factor']}
  376 + ... changes[2].modifications[0].factor
  377 +
  378 +
  379 +Можливість застосувати зміну договору thirdParty
  380 + [Tags] ${USERS.users['${tender_owner}'].broker}: Внесення зміни
  381 + ... tender_owner
  382 + ... ${USERS.users['${tender_owner}'].broker}
  383 + ... apply_change
  384 + ... critical
  385 + [Setup] Дочекатись синхронізації з майданчиком ${tender_owner}
  386 + [Teardown] Оновити LAST_MODIFICATION_DATE
  387 + ${dateSigned}= create_fake_date
  388 + Run As ${tender_owner} Застосувати зміну для угоди ${AGREEMENT_UAID} ${dateSigned} active
  389 +
  390 +
  391 +Відображення статусу active зміни thirdParty
  392 + [Tags] ${USERS.users['${viewer}'].broker}: Відображення зміни
  393 + ... viewer
  394 + ... ${USERS.users['${viewer}'].broker}
  395 + ... change_view
  396 + ... critical
  397 + [Setup] Дочекатись синхронізації з майданчиком ${viewer}
  398 + Звірити поле угоди із значенням
  399 + ... ${viewer}
  400 + ... ${AGREEMENT_UAID}
  401 + ... active
  402 + ... changes[2].status
  403 +
  404 +
  405 +Можливість внести зміну до угоди partyWithdrawal
  406 + [Tags] ${USERS.users['${tender_owner}'].broker}: Внесення зміни
  407 + ... tender_owner
  408 + ... ${USERS.users['${tender_owner}'].broker}
  409 + ... submit_change
  410 + ... critical
  411 + [Setup] Дочекатись синхронізації з майданчиком ${tender_owner}
  412 + [Teardown] Оновити LAST_MODIFICATION_DATE
  413 + ${change_data}= Підготувати дані про зміну до угоди ${tender_owner} partyWithdrawal
  414 + Run As ${tender_owner} Внести зміну в угоду ${AGREEMENT_UAID} ${change_data}
  415 +
  416 +
  417 +Відображення типу зміни partyWithdrawal
  418 + [Tags] ${USERS.users['${viewer}'].broker}: Відображення зміни
  419 + ... viewer
  420 + ... ${USERS.users['${viewer}'].broker}
  421 + ... change_view
  422 + ... non-critical
  423 + [Setup] Дочекатись синхронізації з майданчиком ${viewer}
  424 + Звірити поле угоди із значенням
  425 + ... ${viewer}
  426 + ... ${AGREEMENT_UAID}
  427 + ... ${USERS.users['${tender_owner}'].change_data.data.rationaleType}
  428 + ... changes[3].rationaleType
  429 +
  430 +
  431 +Відображення обгрунтування зміни partyWithdrawal
  432 + [Tags] ${USERS.users['${viewer}'].broker}: Відображення зміни
  433 + ... viewer
  434 + ... ${USERS.users['${viewer}'].broker}
  435 + ... change_view
  436 + ... non-critical
  437 + Звірити поле угоди із значенням
  438 + ... ${viewer}
  439 + ... ${AGREEMENT_UAID}
  440 + ... ${USERS.users['${tender_owner}'].change_data.data.rationale}
  441 + ... changes[3].rationale
  442 +
  443 +
  444 +Можливість оновити властивості угоди для внесених змін partyWithdrawal
  445 + [Tags] ${USERS.users['${tender_owner}'].broker}: Внесення зміни
  446 + ... tender_owner
  447 + ... ${USERS.users['${tender_owner}'].broker}
  448 + ... modification
  449 + ... critical
  450 + [Setup] Дочекатись синхронізації з майданчиком ${tender_owner}
  451 + [Teardown] Оновити LAST_MODIFICATION_DATE
  452 + ${change_data}= Підготувати дані для оновлення властивості угоди
  453 + ... ${tender_owner}
  454 + ... contractId
  455 + ... ${USERS.users['${tender_owner}'].agreement_data.data['contracts'][0]['id']}
  456 + Run As ${tender_owner} Оновити властивості угоди ${AGREEMENT_UAID} ${change_data}
  457 +
  458 +
  459 +Відображення ідентифікатора предмету у властивостях partyWithdrawal
  460 + [Tags] ${USERS.users['${viewer}'].broker}: Відображення зміни
  461 + ... viewer
  462 + ... ${USERS.users['${viewer}'].broker}
  463 + ... modification_view
  464 + ... non-critical
  465 + [Setup] Дочекатись синхронізації з майданчиком ${viewer}
  466 + Звірити поле угоди із значенням
  467 + ... ${viewer}
  468 + ... ${AGREEMENT_UAID}
  469 + ... ${USERS.users['${tender_owner}'].modification_data.data.modifications[0]['itemId']}
  470 + ... changes[3].modifications[0].itemId
  471 +
  472 +
  473 +Відображення contractId у властивостях partyWithdrawal
  474 + [Tags] ${USERS.users['${viewer}'].broker}: Відображення зміни
  475 + ... viewer
  476 + ... ${USERS.users['${viewer}'].broker}
  477 + ... modification_view
  478 + ... non-critical
  479 + Звірити поле угоди із значенням
  480 + ... ${viewer}
  481 + ... ${AGREEMENT_UAID}
  482 + ... ${USERS.users['${tender_owner}'].modification_data.data.modifications[0]['contractId']}
  483 + ... changes[3].modifications[0].contractId
  484 +
  485 +
  486 +Можливість скасувати зміну договору partyWithdrawal
  487 + [Tags] ${USERS.users['${tender_owner}'].broker}: Внесення зміни
  488 + ... tender_owner
  489 + ... ${USERS.users['${tender_owner}'].broker}
  490 + ... apply_change
  491 + ... critical
  492 + [Setup] Дочекатись синхронізації з майданчиком ${tender_owner}
  493 + [Teardown] Оновити LAST_MODIFICATION_DATE
  494 + ${dateSigned}= create_fake_date
  495 + Run As ${tender_owner} Застосувати зміну для угоди ${AGREEMENT_UAID} ${dateSigned} cancelled
  496 +
  497 +
  498 +Відображення статусу cancelled зміни partyWithdrawal
  499 + [Tags] ${USERS.users['${viewer}'].broker}: Відображення зміни
  500 + ... viewer
  501 + ... ${USERS.users['${viewer}'].broker}
  502 + ... change_view
  503 + ... critical
  504 + [Setup] Дочекатись синхронізації з майданчиком ${viewer}
  505 + Звірити поле угоди із значенням
  506 + ... ${viewer}
  507 + ... ${AGREEMENT_UAID}
  508 + ... cancelled
  509 + ... changes[3].status
  510 +
  511 +
  512 +Можливість завершити угоду
  513 + [Tags] ${USERS.users['${tender_owner}'].broker}: Завершення угоди
  514 + ... tender_owner
  515 + ... ${USERS.users['${tender_owner}'].broker}
  516 + ... agreement_termination
  517 + ... critical
  518 + [Setup] Дочекатись синхронізації з майданчиком ${tender_owner}
  519 + [Teardown] Оновити LAST_MODIFICATION_DATE
  520 + Run As ${tender_owner} Завершити угоду ${AGREEMENT_UAID}
  521 +
  522 +
  523 +Звірити статус завершеної угоди
  524 + [Tags] ${USERS.users['${viewer}'].broker}: Завершення угоди
  525 + ... viewer
  526 + ... ${USERS.users['${viewer}'].broker}
  527 + ... agreement_termination
  528 + ... critical
  529 + [Setup] Дочекатись синхронізації з майданчиком ${viewer}
  530 + Remove From Dictionary ${USERS.users['${viewer}'].agreement_data.data} status
  531 + Звірити поле угоди із значенням
  532 + ... ${viewer}
  533 + ... ${AGREEMENT_UAID}
  534 + ... terminated
  535 + ... status
@@ -29,6 +29,29 @@ Resource resource.robot @@ -29,6 +29,29 @@ Resource resource.robot
29 Set To Dictionary ${TENDER} TENDER_UAID=${TENDER_UAID} 29 Set To Dictionary ${TENDER} TENDER_UAID=${TENDER_UAID}
30 30
31 31
  32 +Можливість оголосити тендер другого етапу
  33 + ${NUMBER_OF_LOTS}= Convert To Integer ${NUMBER_OF_LOTS}
  34 + ${NUMBER_OF_ITEMS}= Convert To Integer ${NUMBER_OF_ITEMS}
  35 + ${tender_parameters}= Create Dictionary
  36 + ... mode=${MODE}
  37 + ... number_of_items=${NUMBER_OF_ITEMS}
  38 + ... number_of_lots=${NUMBER_OF_LOTS}
  39 + ... tender_meat=${${TENDER_MEAT}}
  40 + ... lot_meat=${${LOT_MEAT}}
  41 + ... item_meat=${${ITEM_MEAT}}
  42 + ... api_host_url=${API_HOST_URL}
  43 + ... moz_integration=${${MOZ_INTEGRATION}}
  44 + ${submissionMethodDetails}= Get Variable Value ${submissionMethodDetails}
  45 + ${period_intervals}= compute_intrs ${BROKERS} ${used_brokers}
  46 + ${first_stage}= Run As ${provider2} Пошук тендера по ідентифікатору ${TENDER['TENDER_UAID']}
  47 + ${tender_data}= test_tender_data_selection ${period_intervals} ${tender_parameters} ${submissionMethodDetails} tender_data=${first_stage}
  48 + ${adapted_data}= Адаптувати дані для оголошення тендера ${tender_data}
  49 + ${TENDER_UAID}= Run As ${tender_owner} Створити тендер ${adapted_data}
  50 + Set To Dictionary ${USERS.users['${tender_owner}']} initial_data=${adapted_data}
  51 + Set To Dictionary ${TENDER} TENDER_UAID=${TENDER_UAID}
  52 + Дочекатись дати початку періоду уточнення ${tender_owner} ${TENDER_UAID}
  53 +
  54 +
32 Можливість створити об'єкт моніторингу 55 Можливість створити об'єкт моніторингу
33 ${period_intervals}= compute_intrs ${BROKERS} ${used_brokers} 56 ${period_intervals}= compute_intrs ${BROKERS} ${used_brokers}
34 ${accelerator}= Get Variable Value ${accelerator} 57 ${accelerator}= Get Variable Value ${accelerator}
@@ -683,6 +706,27 @@ Resource resource.robot @@ -683,6 +706,27 @@ Resource resource.robot
683 ... object_id=${feature_id} 706 ... object_id=${feature_id}
684 707
685 708
  709 +Отримати дані із поля ${field_name} нецінових показників для усіх користувачів
  710 + :FOR ${username} IN ${viewer} ${tender_owner} ${provider} ${provider1}
  711 + \ Отримати дані із поля ${field_name} нецінових показників для користувача ${username}
  712 +
  713 +
  714 +Отримати дані із поля ${field_name} нецінових показників для користувача ${username}
  715 + ${number_of_features}= Get Length ${USERS.users['${provider2}'].tender_data.data.features}
  716 + :FOR ${feature_index} IN RANGE ${number_of_features}
  717 + \ Отримати дані із нецінового показника ${username} ${TENDER['TENDER_UAID']} features[${feature_index}].${field_name}
  718 +
  719 +
  720 +Отримати дані із нецінового показника
  721 + [Arguments] ${username} ${tender_uaid} ${field_name}
  722 + ${field_value}= Run As ${username} Отримати інформацію із тендера ${tender_uaid} ${field_name}
  723 + Set_To_Object ${USERS.users['${username}'].tender_data.data} ${field_name} ${field_value}
  724 + ${data}= munch_dict arg=${USERS.users['${username}'].tender_data.data}
  725 + Set To Dictionary ${USERS.users['${username}'].tender_data} data=${data}
  726 + Log ${USERS.users['${username}'].tender_data.data}
  727 + [return] ${field_value}
  728 +
  729 +
686 Можливість видалити ${feature_index} неціновий показник 730 Можливість видалити ${feature_index} неціновий показник
687 ${feature_id}= get_id_from_object ${USERS.users['${tender_owner}'].tender_data.data['features'][${feature_index}]} 731 ${feature_id}= get_id_from_object ${USERS.users['${tender_owner}'].tender_data.data['features'][${feature_index}]}
688 Run As ${tender_owner} Видалити неціновий показник ${TENDER['TENDER_UAID']} ${feature_id} 732 Run As ${tender_owner} Видалити неціновий показник ${TENDER['TENDER_UAID']} ${feature_id}
@@ -1267,6 +1311,18 @@ Resource resource.robot @@ -1267,6 +1311,18 @@ Resource resource.robot
1267 Run As ${username} Подати цінову пропозицію ${TENDER['TENDER_UAID']} ${bid} ${lots_ids} ${features_ids} 1311 Run As ${username} Подати цінову пропозицію ${TENDER['TENDER_UAID']} ${bid} ${lots_ids} ${features_ids}
1268 1312
1269 1313
  1314 +Можливість подати цінову пропозицію на другому етапі рамкової угоди користувачем
  1315 + [Arguments] ${username} ${index}=${0}
  1316 + ${bid}= Підготувати дані для подання пропозиції другого етапу рамкової угоди ${index}
  1317 + ${bidresponses}= Create Dictionary bid=${bid}
  1318 + Set To Dictionary ${USERS.users['${username}']} bidresponses=${bidresponses}
  1319 + ${lots}= Get Variable Value ${USERS.users['${tender_owner}'].initial_data.data.lots} ${None}
  1320 + ${lots_ids}= Run Keyword IF ${lots}
  1321 + ... Отримати ідентифікатори об’єктів ${username} lots
  1322 + ... ELSE Set Variable ${None}
  1323 + Run As ${username} Подати цінову пропозицію ${TENDER['TENDER_UAID']} ${bid} ${lots_ids}
  1324 +
  1325 +
1270 Можливість подати цінову пропозицію на другий етап користувачем ${username} 1326 Можливість подати цінову пропозицію на другий етап користувачем ${username}
1271 ${bid}= Підготувати дані для подання пропозиції для другого етапу ${username} 1327 ${bid}= Підготувати дані для подання пропозиції для другого етапу ${username}
1272 ${bidresponses}= Create Dictionary bid=${bid} 1328 ${bidresponses}= Create Dictionary bid=${bid}
@@ -1365,6 +1421,33 @@ Resource resource.robot @@ -1365,6 +1421,33 @@ Resource resource.robot
1365 Remove File ${file_path} 1421 Remove File ${file_path}
1366 1422
1367 1423
  1424 +Можливість завантажити документ для рамкової угоди користувачем ${username}
  1425 + ${file_path} ${file_name} ${file_content}= create_fake_doc
  1426 + ${doc_id}= get_id_from_string ${file_name}
  1427 + ${doc}= Create Dictionary
  1428 + ... id=${doc_id}
  1429 + ... name=${file_name}
  1430 + ... content=${file_content}
  1431 + Set to dictionary ${USERS.users['${username}']} contract_doc=${doc}
  1432 + Run As ${username} Завантажити документ в рамкову угоду ${file_path} ${USERS.users['${username}'].tender_data.data.agreements[0].agreementID}
  1433 + Remove File ${file_path}
  1434 +
  1435 +
  1436 +Можливість завантажити документ для зміни у рамковій угоді користувачем ${username}
  1437 + ${file_path} ${file_name} ${file_content}= create_fake_doc
  1438 + ${doc_id}= get_id_from_string ${file_name}
  1439 + ${doc}= Create Dictionary
  1440 + ... id=${doc_id}
  1441 + ... name=${file_name}
  1442 + ... content=${file_content}
  1443 + Set to dictionary ${USERS.users['${username}']} contract_doc=${doc}
  1444 + Run As ${username} Завантажити документ для зміни у рамковій угоді
  1445 + ... ${file_path}
  1446 + ... ${USERS.users['${username}'].tender_data.data.agreements[0].agreementID}
  1447 + ... ${USERS.users['${username}'].agreement_data.data['items'][0]['id']}
  1448 + Remove File ${file_path}
  1449 +
  1450 +
1368 Можливість укласти угоду для закупівлі 1451 Можливість укласти угоду для закупівлі
1369 Run as ${tender_owner} 1452 Run as ${tender_owner}
1370 ... Підтвердити підписання контракту 1453 ... Підтвердити підписання контракту
@@ -43,6 +43,19 @@ Library openprocurement_client.utils @@ -43,6 +43,19 @@ Library openprocurement_client.utils
43 [return] ${monitoring_id} 43 [return] ${monitoring_id}
44 44
45 45
  46 +Отримати internal id угоди по UAid
  47 + [Arguments] ${username} ${agreement_uaid}
  48 + Log ${username}
  49 + Log ${agreement_uaid}
  50 + Log Many ${USERS.users['${username}'].id_map}
  51 + ${status}= Run Keyword And Return Status Dictionary Should Contain Key ${USERS.users['${username}'].id_map} ${agreement_uaid}
  52 + Run Keyword And Return If ${status} Get From Dictionary ${USERS.users['${username}'].id_map} ${agreement_uaid}
  53 + Call Method ${USERS.users['${username}'].agreement_client} get_agreements
  54 + ${agreement_id}= Wait Until Keyword Succeeds 5x 30 sec get_agreement_id_by_uaid ${agreement_uaid} ${USERS.users['${username}'].agreement_client}
  55 + Set To Dictionary ${USERS.users['${username}'].id_map} ${agreement_uaid} ${agreement_id}
  56 + [return] ${agreement_id}
  57 +
  58 +
46 Підготувати клієнт для користувача 59 Підготувати клієнт для користувача
47 [Arguments] ${username} 60 [Arguments] ${username}
48 [Documentation] Відкрити браузер, створити об’єкти api wrapper і 61 [Documentation] Відкрити браузер, створити об’єкти api wrapper і
@@ -62,7 +75,9 @@ Library openprocurement_client.utils @@ -62,7 +75,9 @@ Library openprocurement_client.utils
62 ... prepare_plan_api_wrapper ${USERS.users['${username}'].api_key} PLANS ${API_HOST_URL} ${API_VERSION} 75 ... prepare_plan_api_wrapper ${USERS.users['${username}'].api_key} PLANS ${API_HOST_URL} ${API_VERSION}
63 ... ELSE prepare_api_wrapper ${USERS.users['${username}'].api_key} ${RESOURCE} ${API_HOST_URL} ${API_VERSION} ${ds_api_wraper} 76 ... 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} 77 ${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}
  78 + ${agreement_wrapper}= prepare_agreement_api_wrapper ${USERS.users['${username}'].api_key} AGREEMENTS ${API_HOST_URL} ${API_VERSION} ${ds_api_wraper}
65 Set To Dictionary ${USERS.users['${username}']} client=${api_wrapper} 79 Set To Dictionary ${USERS.users['${username}']} client=${api_wrapper}
  80 + Set To Dictionary ${USERS.users['${username}']} agreement_client=${agreement_wrapper}
66 Set To Dictionary ${USERS.users['${username}']} dasu_client=${dasu_api_wraper} 81 Set To Dictionary ${USERS.users['${username}']} dasu_client=${dasu_api_wraper}
67 Set To Dictionary ${USERS.users['${username}']} access_token=${EMPTY} 82 Set To Dictionary ${USERS.users['${username}']} access_token=${EMPTY}
68 ${id_map}= Create Dictionary 83 ${id_map}= Create Dictionary
@@ -75,6 +90,8 @@ Library openprocurement_client.utils @@ -75,6 +90,8 @@ Library openprocurement_client.utils
75 ${contract_api_wrapper}= prepare_contract_api_wrapper ${USERS.users['${username}'].api_key} CONTRACTS ${api_host_url} ${api_version} ${ds_api_wraper} 90 ${contract_api_wrapper}= prepare_contract_api_wrapper ${USERS.users['${username}'].api_key} CONTRACTS ${api_host_url} ${api_version} ${ds_api_wraper}
76 Set To Dictionary ${USERS.users['${username}']} contracting_client=${contract_api_wrapper} 91 Set To Dictionary ${USERS.users['${username}']} contracting_client=${contract_api_wrapper}
77 Set To Dictionary ${USERS.users['${username}']} contract_access_token=${EMPTY} 92 Set To Dictionary ${USERS.users['${username}']} contract_access_token=${EMPTY}
  93 + Set To Dictionary ${USERS.users['${username}']} agreement_access_token=${EMPTY}
  94 + ${contracts_id_map}= Create Dictionary
78 ${contracts_id_map}= Create Dictionary 95 ${contracts_id_map}= Create Dictionary
79 Set To Dictionary ${USERS.users['${username}']} contracts_id_map=${contracts_id_map} 96 Set To Dictionary ${USERS.users['${username}']} contracts_id_map=${contracts_id_map}
80 Log Variables 97 Log Variables
@@ -167,6 +184,7 @@ Library openprocurement_client.utils @@ -167,6 +184,7 @@ Library openprocurement_client.utils
167 ${access_token}= Get Variable Value ${tender.access.token} 184 ${access_token}= Get Variable Value ${tender.access.token}
168 ${status}= Set Variable If 'open' in '${MODE}' active.tendering ${EMPTY} 185 ${status}= Set Variable If 'open' in '${MODE}' active.tendering ${EMPTY}
169 ${status}= Set Variable If 'below' in '${MODE}' active.enquiries ${status} 186 ${status}= Set Variable If 'below' in '${MODE}' active.enquiries ${status}
  187 + ${status}= Set Variable If 'selection' in '${MODE}' draft.pending ${status}
170 ${status}= Set Variable If '${status}'=='${EMPTY}' active ${status} 188 ${status}= Set Variable If '${status}'=='${EMPTY}' active ${status}
171 Set To Dictionary ${tender['data']} status=${status} 189 Set To Dictionary ${tender['data']} status=${status}
172 ${tender}= Call Method ${USERS.users['${username}'].client} patch_tender 190 ${tender}= Call Method ${USERS.users['${username}'].client} patch_tender
@@ -258,6 +276,16 @@ Library openprocurement_client.utils @@ -258,6 +276,16 @@ Library openprocurement_client.utils
258 [return] ${monitoring} 276 [return] ${monitoring}
259 277
260 278
  279 +Пошук угоди по ідентифікатору
  280 + [Arguments] ${username} ${agreement_uaid} ${save_key}=agreement_data
  281 + ${internalid}= openprocurement_client.Отримати internal id угоди по UAid ${username} ${agreement_uaid}
  282 + ${agreement}= Call Method ${USERS.users['${username}'].agreement_client} get_agreement ${internalid}
  283 + Set To Dictionary ${USERS.users['${username}']} ${save_key}=${agreement}
  284 + ${agreement}= munch_dict arg=${agreement}
  285 + Log ${agreement}
  286 + [return] ${agreement}
  287 +
  288 +
261 Отримати доступ до об'єкта моніторингу 289 Отримати доступ до об'єкта моніторингу
262 [Arguments] ${username} ${monitoring_uaid} ${save_key}=monitoring 290 [Arguments] ${username} ${monitoring_uaid} ${save_key}=monitoring
263 ${token}= Set Variable ${USERS.users['${username}'].access_token} 291 ${token}= Set Variable ${USERS.users['${username}'].access_token}
@@ -1295,7 +1323,7 @@ Library openprocurement_client.utils @@ -1295,7 +1323,7 @@ Library openprocurement_client.utils
1295 1323
1296 1324
1297 Завантажити документ в ставку 1325 Завантажити документ в ставку
1298 - [Arguments] ${username} ${path} ${tender_uaid} ${doc_type}=documents 1326 + [Arguments] ${username} ${path} ${tender_uaid} ${doc_name}=documents ${doc_type}=${None}
1299 ${bid_id}= Get Variable Value ${USERS.users['${username}'].bidresponses['bid'].data.id} 1327 ${bid_id}= Get Variable Value ${USERS.users['${username}'].bidresponses['bid'].data.id}
1300 ${tender}= openprocurement_client.Пошук тендера по ідентифікатору ${username} ${tender_uaid} 1328 ${tender}= openprocurement_client.Пошук тендера по ідентифікатору ${username} ${tender_uaid}
1301 ${tender}= set_access_key ${tender} ${USERS.users['${username}']['access_token']} 1329 ${tender}= set_access_key ${tender} ${USERS.users['${username}']['access_token']}
@@ -1303,7 +1331,9 @@ Library openprocurement_client.utils @@ -1303,7 +1331,9 @@ Library openprocurement_client.utils
1303 ... ${path} 1331 ... ${path}
1304 ... ${tender.data.id} 1332 ... ${tender.data.id}
1305 ... ${bid_id} 1333 ... ${bid_id}
  1334 + ... doc_type=${doc_type}
1306 ... access_token=${tender.access.token} 1335 ... access_token=${tender.access.token}
  1336 + ... subitem_name=${doc_name}
1307 ${uploaded_file} = Create Dictionary 1337 ${uploaded_file} = Create Dictionary
1308 ... filepath=${path} 1338 ... filepath=${path}
1309 ... upload_response=${response} 1339 ... upload_response=${response}
@@ -2039,3 +2069,102 @@ Library openprocurement_client.utils @@ -2039,3 +2069,102 @@ Library openprocurement_client.utils
2039 ${document}= get_document_by_id ${tender.data} ${doc_id} 2069 ${document}= get_document_by_id ${tender.data} ${doc_id}
2040 ${filename}= download_file_from_url ${document.url} ${OUTPUT_DIR}${/}${document.title} 2070 ${filename}= download_file_from_url ${document.url} ${OUTPUT_DIR}${/}${document.title}
2041 [return] ${filename} 2071 [return] ${filename}
  2072 +
  2073 +
  2074 +Отримати доступ до угоди
  2075 + [Arguments] ${username} ${agreement_uaid}
  2076 + ${token}= Set Variable ${USERS.users['${username}'].access_token}
  2077 + ${internalid}= openprocurement_client.Отримати internal id угоди по UAid ${username} ${agreement_uaid}
  2078 + ${agreement}= Call Method ${USERS.users['${username}'].agreement_client} patch_credentials ${internalid} ${token}
  2079 + Set To Dictionary ${USERS.users['${username}']} agreement_access_token=${agreement.access.token}
  2080 + ${agreement}= munch_dict arg=${agreement}
  2081 + [return] ${agreement}
  2082 +
  2083 +
  2084 +Внести зміну в угоду
  2085 + [Arguments] ${username} ${agreement_uaid} ${change_data}
  2086 + ${internalid}= openprocurement_client.Отримати internal id угоди по UAid ${username} ${agreement_uaid}
  2087 + ${reply}= Call Method ${USERS.users['${username}'].agreement_client} create_change
  2088 + ... ${internalid}
  2089 + ... ${change_data}
  2090 + ... access_token=${USERS.users['${username}'].agreement_access_token}
  2091 + Log ${reply}
  2092 +
  2093 +
  2094 +Застосувати зміну для угоди
  2095 + [Arguments] ${username} ${agreement_uaid} ${dateSigned} ${status}
  2096 + ${agreement}= openprocurement_client.Пошук угоди по ідентифікатору ${username} ${agreement_uaid}
  2097 + ${data}= Create Dictionary status=${status} dateSigned=${dateSigned}
  2098 + ${data}= Create Dictionary data=${data}
  2099 + ${reply}= Call Method ${USERS.users['${username}'].agreement_client} patch_change
  2100 + ... ${agreement.data.id}
  2101 + ... ${data}
  2102 + ... ${agreement.data.changes[-1].id}
  2103 + ... access_token=${USERS.users['${username}'].agreement_access_token}
  2104 + Log ${reply}
  2105 +
  2106 +
  2107 +Оновити властивості угоди
  2108 + [Arguments] ${username} ${agreement_uaid} ${data}
  2109 + ${agreement}= openprocurement_client.Пошук угоди по ідентифікатору ${username} ${agreement_uaid}
  2110 + ${reply}= Call Method ${USERS.users['${username}'].agreement_client} patch_change
  2111 + ... ${agreement.data.id}
  2112 + ... ${data}
  2113 + ... ${agreement.data.changes[-1].id}
  2114 + ... access_token=${USERS.users['${username}'].agreement_access_token}
  2115 + Log ${reply}
  2116 +
  2117 +
  2118 +Завантажити документ в рамкову угоду
  2119 + [Arguments] ${username} ${filepath} ${agreement_uaid}
  2120 + Log ${username}
  2121 + Log ${agreement_uaid}
  2122 + Log ${filepath}
  2123 + ${agreement}= openprocurement_client.Пошук угоди по ідентифікатору ${username} ${agreement_uaid}
  2124 + ${reply}= Call Method ${USERS.users['${username}'].agreement_client} upload_document
  2125 + ... ${filepath}
  2126 + ... ${agreement.data.id}
  2127 + ... access_token=${USERS.users['${username}'].agreement_access_token}
  2128 + Log Object Data ${reply} reply
  2129 + [return] ${reply}
  2130 +
  2131 +
  2132 +Завантажити документ для зміни у рамковій угоді
  2133 + [Arguments] ${username} ${filepath} ${agreement_uaid} ${item_id}
  2134 + Log ${username}
  2135 + Log ${agreement_uaid}
  2136 + Log ${filepath}
  2137 + ${agreement}= openprocurement_client.Пошук угоди по ідентифікатору ${username} ${agreement_uaid}
  2138 + ${document}= openprocurement_client.Завантажити документ в рамкову угоду ${username} ${filepath} ${agreement_uaid}
  2139 + Set to dictionary ${document.data} documentOf=change
  2140 + Set to dictionary ${document.data} relatedItem=${item_id}
  2141 + ${reply}= Call Method ${USERS.users['${username}'].agreement_client} patch_document
  2142 + ... ${agreement.data.id}
  2143 + ... ${document}
  2144 + ... ${document.data.id}
  2145 + ... access_token=${USERS.users['${username}'].agreement_access_token}
  2146 + [return] ${reply}
  2147 +
  2148 +
  2149 +Завершити угоду
  2150 + [Arguments] ${username} ${agreement_uaid}
  2151 + ${internalid}= openprocurement_client.Отримати internal id угоди по UAid ${username} ${agreement_uaid}
  2152 + ${data}= Create Dictionary status=terminated
  2153 + ${data}= Create Dictionary data=${data}
  2154 + ${reply}= Call Method ${USERS.users['${username}'].agreement_client} patch_agreement
  2155 + ... ${internalid}
  2156 + ... ${data}
  2157 + ... access_token=${USERS.users['${username}'].agreement_access_token}
  2158 +
  2159 +
  2160 +Отримати інформацію із угоди
  2161 + [Arguments] ${username} ${agreement_uaid} ${field_name}
  2162 + openprocurement_client.Пошук угоди по ідентифікатору
  2163 + ... ${username}
  2164 + ... ${agreement_uaid}
  2165 + ${status} ${field_value}= Run Keyword And Ignore Error
  2166 + ... Get From Object
  2167 + ... ${USERS.users['${username}'].agreement_data.data}
  2168 + ... ${field_name}
  2169 + Run Keyword If '${status}' == 'PASS' Return From Keyword ${field_value}
  2170 + Fail Field not found: ${field_name}
1 from openprocurement_client.resources.tenders import Client 1 from openprocurement_client.resources.tenders import Client
2 from openprocurement_client.resources.edr import EDRClient 2 from openprocurement_client.resources.edr import EDRClient
  3 +from openprocurement_client.resources.agreements import AgreementClient
3 from openprocurement_client.dasu_client import DasuClient 4 from openprocurement_client.dasu_client import DasuClient
4 from openprocurement_client.resources.document_service import DocumentServiceClient 5 from openprocurement_client.resources.document_service import DocumentServiceClient
5 from openprocurement_client.resources.plans import PlansClient 6 from openprocurement_client.resources.plans import PlansClient
@@ -34,6 +35,13 @@ class StableDsClient(DocumentServiceClient): @@ -34,6 +35,13 @@ class StableDsClient(DocumentServiceClient):
34 return super(StableDsClient, self).request(*args, **kwargs) 35 return super(StableDsClient, self).request(*args, **kwargs)
35 36
36 37
  38 +class StableAgreementClient(AgreementClient):
  39 + @retry(stop_max_attempt_number=100, wait_random_min=500,
  40 + wait_random_max=4000, retry_on_exception=retry_if_request_failed)
  41 + def request(self, *args, **kwargs):
  42 + return super(StableAgreementClient, self).request(*args, **kwargs)
  43 +
  44 +
37 def prepare_api_wrapper(key, resource, host_url, api_version, ds_client=None): 45 def prepare_api_wrapper(key, resource, host_url, api_version, ds_client=None):
38 return StableClient(key, resource, host_url, api_version, 46 return StableClient(key, resource, host_url, api_version,
39 ds_client=ds_client) 47 ds_client=ds_client)
@@ -43,6 +51,11 @@ def prepare_ds_api_wrapper(ds_host_url, auth_ds): @@ -43,6 +51,11 @@ def prepare_ds_api_wrapper(ds_host_url, auth_ds):
43 return StableDsClient(ds_host_url, auth_ds) 51 return StableDsClient(ds_host_url, auth_ds)
44 52
45 53
  54 +def prepare_agreement_api_wrapper(key, resource, host_url, api_version, ds_client=None):
  55 + return StableAgreementClient(key, resource, host_url, api_version,
  56 + ds_client=ds_client)
  57 +
  58 +
46 class ContractingStableClient(ContractingClient): 59 class ContractingStableClient(ContractingClient):
47 @retry(stop_max_attempt_number=100, wait_random_min=500, wait_random_max=4000, retry_on_exception=retry_if_request_failed) 60 @retry(stop_max_attempt_number=100, wait_random_min=500, wait_random_max=4000, retry_on_exception=retry_if_request_failed)
48 def request(self, *args, **kwargs): 61 def request(self, *args, **kwargs):
@@ -26,7 +26,7 @@ Suite Teardown Test Suite Teardown @@ -26,7 +26,7 @@ Suite Teardown Test Suite Teardown
26 [Tags] ${USERS.users['${tender_owner}'].broker}: Відображення основних даних тендера 26 [Tags] ${USERS.users['${tender_owner}'].broker}: Відображення основних даних тендера
27 ... tender_owner 27 ... tender_owner
28 ... ${USERS.users['${tender_owner}'].broker} 28 ... ${USERS.users['${tender_owner}'].broker}
29 - ... tender_view 29 + ... contract_stand_still
30 ... critical 30 ... critical
31 ${award_index}= Отримати останній індекс awards ${tender_owner} ${viewer} 31 ${award_index}= Отримати останній індекс awards ${tender_owner} ${viewer}
32 :FOR ${username} IN ${viewer} ${tender_owner} 32 :FOR ${username} IN ${viewer} ${tender_owner}
@@ -177,7 +177,7 @@ Suite Teardown Test Suite Teardown @@ -177,7 +177,7 @@ Suite Teardown Test Suite Teardown
177 [Tags] ${USERS.users['${viewer}'].broker}: Відображення документації 177 [Tags] ${USERS.users['${viewer}'].broker}: Відображення документації
178 ... viewer 178 ... viewer
179 ... ${USERS.users['${viewer}'].broker} 179 ... ${USERS.users['${viewer}'].broker}
180 - ... add_doc_to_contract 180 + ... contract_doc_documentOf
181 Звірити відображення поля documentOf документа ${USERS.users['${tender_owner}']['contract_doc']['id']} із tender для користувача ${viewer} 181 Звірити відображення поля documentOf документа ${USERS.users['${tender_owner}']['contract_doc']['id']} із tender для користувача ${viewer}
182 182
183 183
@@ -51,6 +51,8 @@ Default: @@ -51,6 +51,8 @@ Default:
51 open_framework: 51 open_framework:
52 accelerator: 1440 52 accelerator: 1440
53 tender: [0, 30] 53 tender: [0, 30]
  54 + framework_selection:
  55 + accelerator: 360
54 # Synchronization delay, in seconds 56 # Synchronization delay, in seconds
55 timeout_on_wait: 300 57 timeout_on_wait: 300
56 Quinta: 58 Quinta:
@@ -74,6 +76,8 @@ Quinta: @@ -74,6 +76,8 @@ Quinta:
74 open_framework: 76 open_framework:
75 accelerator: 1440 77 accelerator: 1440
76 tender: [0, 30] 78 tender: [0, 30]
  79 + framework_selection:
  80 + accelerator: 360
77 keywords_file: openprocurement_client 81 keywords_file: openprocurement_client
78 roles: 82 roles:
79 provider: Tender_User 83 provider: Tender_User
@@ -478,6 +478,19 @@ def test_bid_value_esco(tender_data): @@ -478,6 +478,19 @@ def test_bid_value_esco(tender_data):
478 }) 478 })
479 479
480 480
  481 +def test_bid_data_selection(data, index):
  482 + bid = munchify({
  483 + "data": {
  484 + "tenderers": [
  485 + data['agreements'][0]['contracts'][index]['suppliers'][0]
  486 + ]
  487 + }
  488 + })
  489 + bid.data['status'] = 'draft'
  490 + bid.data['parameters'] = data['agreements'][0]['contracts'][index]['parameters']
  491 + bid.data['lotValues'] = [test_bid_value(data['lots'][0]['value']['amount'])]
  492 + return bid
  493 +
481 494
482 def test_supplier_data(): 495 def test_supplier_data():
483 return munchify({ 496 return munchify({
@@ -636,6 +649,22 @@ def test_tender_data_competitive_dialogue(params, submissionMethodDetails): @@ -636,6 +649,22 @@ def test_tender_data_competitive_dialogue(params, submissionMethodDetails):
636 return data 649 return data
637 650
638 651
  652 +def test_tender_data_selection(procedure_intervals, params, submissionMethodDetails, tender_data=None):
  653 + intervals = procedure_intervals['framework_selection']
  654 + params['intervals'] = intervals
  655 + data = test_tender_data(params, (), submissionMethodDetails)
  656 + data['title_en'] = "[TESTING]"
  657 + data['procuringEntity'] = tender_data['data']['procuringEntity']
  658 + del data['procuringEntity']['contactPoint']['availableLanguage']
  659 + data['procurementMethodType'] = 'closeFrameworkAgreementSelectionUA'
  660 + data['items'] = tender_data['data']['items']
  661 + data['lots'] = tender_data['data']['lots']
  662 + data['agreements'] = [{'id': tender_data['data']['agreements'][0]['id']}]
  663 + del data['value']
  664 + del data['minimalStep']
  665 + return munchify({'data':data})
  666 +
  667 +
639 def test_change_data(): 668 def test_change_data():
640 return munchify( 669 return munchify(
641 { 670 {
@@ -650,6 +679,32 @@ def test_change_data(): @@ -650,6 +679,32 @@ def test_change_data():
650 }) 679 })
651 680
652 681
  682 +def test_agreement_change_data(rationaleType):
  683 + return munchify(
  684 + {
  685 + "data":
  686 + {
  687 + "rationale": fake.description(),
  688 + "rationale_en": fake_en.sentence(nb_words=10, variable_nb_words=True),
  689 + "rationale_ru": fake_ru.sentence(nb_words=10, variable_nb_words=True),
  690 + "rationaleType": rationaleType,
  691 + }
  692 + })
  693 +
  694 +
  695 +def test_modification_data(item_id, field_name, field_value):
  696 + data = {
  697 + "modifications": [
  698 + {
  699 + "itemId": item_id,
  700 + field_name: field_value
  701 + }
  702 + ]
  703 + }
  704 + return munchify({'data':data})
  705 +
  706 +
  707 +
653 def get_hash(file_contents): 708 def get_hash(file_contents):
654 return ("md5:"+hashlib.md5(file_contents).hexdigest()) 709 return ("md5:"+hashlib.md5(file_contents).hexdigest())
655 710
@@ -294,6 +294,12 @@ Get Broker Property By Username @@ -294,6 +294,12 @@ Get Broker Property By Username
294 [Return] ${bid} 294 [Return] ${bid}
295 295
296 296
  297 +Підготувати дані для подання пропозиції другого етапу рамкової угоди
  298 + [Arguments] ${index}=${0}
  299 + ${bid}= test_bid_data_selection ${USERS.users['${provider2}'].tender_data.data} ${index}
  300 + [Return] ${bid}
  301 +
  302 +
297 Підготувати дані для подання пропозиції для другого етапу 303 Підготувати дані для подання пропозиції для другого етапу
298 [Arguments] ${username} 304 [Arguments] ${username}
299 ${value}= Evaluate ${USERS.users['${username}'].bidresponses.bid.data.lotValues[0].value.amount}*0.95 305 ${value}= Evaluate ${USERS.users['${username}'].bidresponses.bid.data.lotValues[0].value.amount}*0.95
@@ -340,6 +346,25 @@ Get Broker Property By Username @@ -340,6 +346,25 @@ Get Broker Property By Username
340 [Return] ${change_data} 346 [Return] ${change_data}
341 347
342 348
  349 +Підготувати дані про зміну до угоди
  350 + [Arguments] ${username} ${rationaleType}
  351 + ${change_data}= test_agreement_change_data ${rationaleType}
  352 + Set To Dictionary ${USERS.users['${username}']} change_data=${change_data}
  353 + Log ${change_data}
  354 + [Return] ${change_data}
  355 +
  356 +
  357 +Підготувати дані для оновлення властивості угоди
  358 + [Arguments] ${username} ${field_name} ${field_value}
  359 + ${modification_data}= test_modification_data
  360 + ... ${USERS.users['${username}'].agreement_data.data['items'][0]['id']}
  361 + ... ${field_name}
  362 + ... ${field_value}
  363 + Set To Dictionary ${USERS.users['${username}']} modification_data=${modification_data}
  364 + Log ${modification_data}
  365 + [Return] ${modification_data}
  366 +
  367 +
343 Адаптувати дані для оголошення тендера 368 Адаптувати дані для оголошення тендера
344 [Arguments] ${tender_data} 369 [Arguments] ${tender_data}
345 # munchify is used to make deep copy of ${tender_data} 370 # munchify is used to make deep copy of ${tender_data}
@@ -530,6 +555,12 @@ Log differences between dicts @@ -530,6 +555,12 @@ Log differences between dicts
530 Порівняти об'єкти ${left} ${right} 555 Порівняти об'єкти ${left} ${right}
531 556
532 557
  558 +Звірити поле угоди із значенням
  559 + [Arguments] ${username} ${agreement_uaid} ${left} ${field}
  560 + ${right}= Run As ${username} Отримати інформацію із угоди ${agreement_uaid} ${field}
  561 + Порівняти об'єкти ${left} ${right}
  562 +
  563 +
533 Звірити поле зміни до договору 564 Звірити поле зміни до договору
534 [Arguments] ${username} ${contract_uaid} ${change_data} ${field} 565 [Arguments] ${username} ${contract_uaid} ${change_data} ${field}
535 ${left}= get_from_object ${change_data.data} ${field} 566 ${left}= get_from_object ${change_data.data} ${field}
@@ -604,7 +635,9 @@ Log differences between dicts @@ -604,7 +635,9 @@ Log differences between dicts
604 [Arguments] ${username} ${tender_uaid} ${tender_data} ${item_id} 635 [Arguments] ${username} ${tender_uaid} ${tender_data} ${item_id}
605 ${item_index}= get_object_index_by_id ${tender_data.data['items']} ${item_id} 636 ${item_index}= get_object_index_by_id ${tender_data.data['items']} ${item_id}
606 ${left_lat}= get_from_object ${tender_data.data} items[${item_index}].deliveryLocation.latitude 637 ${left_lat}= get_from_object ${tender_data.data} items[${item_index}].deliveryLocation.latitude
  638 + ${left_lat}= Convert To Number ${left_lat}
607 ${left_lon}= get_from_object ${tender_data.data} items[${item_index}].deliveryLocation.longitude 639 ${left_lon}= get_from_object ${tender_data.data} items[${item_index}].deliveryLocation.longitude
  640 + ${left_lon}= Convert To Number ${left_lon}
608 ${right_lat}= Отримати дані із тендера ${username} ${tender_uaid} deliveryLocation.latitude ${item_id} 641 ${right_lat}= Отримати дані із тендера ${username} ${tender_uaid} deliveryLocation.latitude ${item_id}
609 ${right_lat}= Convert To Number ${right_lat} 642 ${right_lat}= Convert To Number ${right_lat}
610 ${right_lon}= Отримати дані із тендера ${username} ${tender_uaid} deliveryLocation.longitude ${item_id} 643 ${right_lon}= Отримати дані із тендера ${username} ${tender_uaid} deliveryLocation.longitude ${item_id}
@@ -690,6 +723,24 @@ Log differences between dicts @@ -690,6 +723,24 @@ Log differences between dicts
690 [return] ${field_value} 723 [return] ${field_value}
691 724
692 725
  726 +Отримати дані із угоди
  727 + [Arguments] ${username} ${agreement_uaid} ${field_name}
  728 + ${status} ${field_value}= Run keyword and ignore error
  729 + ... get_from_object
  730 + ... ${USERS.users['${username}'].agreement_data.data}
  731 + ... ${field_name}
  732 + # If field in cache, return its value
  733 + Run Keyword if '${status}' == 'PASS' Return from keyword ${field_value}
  734 + # Else call broker to find field
  735 + ${field_value}= Run As ${username} Отримати інформацію із угоди ${agreement_uaid} ${field_name}
  736 + # And caching its value before return
  737 + Set_To_Object ${USERS.users['${username}'].agreement_data.data} ${field_name} ${field_value}
  738 + ${data}= munch_dict arg=${USERS.users['${username}'].agreement_data.data}
  739 + Set To Dictionary ${USERS.users['${username}'].agreement_data} data=${data}
  740 + Log ${USERS.users['${username}'].agreement_data.data}
  741 + [return] ${field_value}
  742 +
  743 +
693 Отримати дані із об'єкта моніторингу 744 Отримати дані із об'єкта моніторингу
694 [Arguments] ${username} ${monitoring_uaid} ${field_name} ${object_id}=${Empty} 745 [Arguments] ${username} ${monitoring_uaid} ${field_name} ${object_id}=${Empty}
695 ${status} ${field_value}= Run keyword and ignore error 746 ${status} ${field_value}= Run keyword and ignore error
@@ -912,6 +963,19 @@ Require Failure @@ -912,6 +963,19 @@ Require Failure
912 Порівняти об'єкти ${left} ${right} 963 Порівняти об'єкти ${left} ${right}
913 964
914 965
  966 +Дочекатись дати початку періоду уточнення
  967 + [Arguments] ${username} ${tender_uaid}
  968 + Оновити LAST_MODIFICATION_DATE
  969 + Дочекатись синхронізації з майданчиком ${username}
  970 + Wait until keyword succeeds
  971 + ... 10 min 15 sec
  972 + ... 15 sec
  973 + ... Звірити статус тендера
  974 + ... ${username}
  975 + ... ${tender_uaid}
  976 + ... active.enquiries
  977 +
  978 +
915 Дочекатись дати початку прийому пропозицій 979 Дочекатись дати початку прийому пропозицій
916 [Arguments] ${username} ${tender_uaid} 980 [Arguments] ${username} ${tender_uaid}
917 # This tries to get the date from current user's procurement data cache. 981 # This tries to get the date from current user's procurement data cache.
@@ -1136,12 +1200,15 @@ Require Failure @@ -1136,12 +1200,15 @@ Require Failure
1136 [Return] ${index} 1200 [Return] ${index}
1137 1201
1138 1202
1139 -Розрахувати ціну для ${index} контракту  
1140 - ${contract_data}= Create Dictionary data=${USERS.users['${tender_owner}'].tender_data.data.agreements[0].contracts[${index}]}  
1141 - ${quantity}= Convert To Integer ${USERS.users['${tender_owner}'].tender_data.data['items'][0]['quantity']}  
1142 - ${value}= Evaluate ${USERS.users['${tender_owner}'].tender_data.data.awards[${index}+1].value.amount}/${quantity} 1203 +Розрахувати ціну для ${contract_number} контракту
  1204 + ${contract_data}= Create Dictionary data=${USERS.users['${tender_owner}'].tender_data.data.agreements[0].contracts[${contract_number}]}
  1205 + ${quantity}= Set Variable ${0}
  1206 + :FOR ${index} IN RANGE ${NUMBER_OF_ITEMS}
  1207 + \ ${quantity}= Evaluate ${quantity}+${USERS.users['${tender_owner}'].tender_data.data['items'][${index}]['quantity']}
  1208 + ${value}= Evaluate ${USERS.users['${tender_owner}'].tender_data.data.awards[${contract_number}+1].value.amount}/${quantity}
1143 ${value}= Convert To Integer ${value} 1209 ${value}= Convert To Integer ${value}
1144 - Set To Dictionary ${contract_data.data.unitPrices[0].value} amount=${value} 1210 + :FOR ${index} IN RANGE ${NUMBER_OF_ITEMS}
  1211 + \ Set To Dictionary ${contract_data.data.unitPrices[${index}].value} amount=${value}
1145 ${contract_data}= munch_dict arg=${contract_data} 1212 ${contract_data}= munch_dict arg=${contract_data}
1146 Log ${contract_data} 1213 Log ${contract_data}
1147 [Return] ${contract_data} 1214 [Return] ${contract_data}
@@ -1779,7 +1779,17 @@ ${MOZ_INTEGRATION} ${False} @@ -1779,7 +1779,17 @@ ${MOZ_INTEGRATION} ${False}
1779 ... openeu_add_financial_bid_doc_by_provider 1779 ... openeu_add_financial_bid_doc_by_provider
1780 ... critical 1780 ... critical
1781 [Teardown] Оновити LAST_MODIFICATION_DATE 1781 [Teardown] Оновити LAST_MODIFICATION_DATE
1782 - Можливість завантажити financial_documents документ до пропозиції учасником ${provider} 1782 + Можливість завантажити документ до пропозиції учасником ${provider} financial_documents
  1783 +
  1784 +
  1785 +Можливість завантажити фінансовий документ winningBid до пропозиції першим учасником
  1786 + [Tags] ${USERS.users['${provider}'].broker}: Подання пропозиції
  1787 + ... provider
  1788 + ... ${USERS.users['${provider}'].broker}
  1789 + ... add_winningBid_doc_by_provider
  1790 + ... critical
  1791 + [Teardown] Оновити LAST_MODIFICATION_DATE
  1792 + Можливість завантажити документ до пропозиції учасником ${provider} financial_documents winningBid
1783 1793
1784 1794
1785 Можливість завантажити кваліфікаційний документ до пропозиції першим учасником 1795 Можливість завантажити кваліфікаційний документ до пропозиції першим учасником
@@ -1789,7 +1799,7 @@ ${MOZ_INTEGRATION} ${False} @@ -1789,7 +1799,7 @@ ${MOZ_INTEGRATION} ${False}
1789 ... openeu_add_qualification_bid_doc_by_provider 1799 ... openeu_add_qualification_bid_doc_by_provider
1790 ... critical 1800 ... critical
1791 [Teardown] Оновити LAST_MODIFICATION_DATE 1801 [Teardown] Оновити LAST_MODIFICATION_DATE
1792 - Можливість завантажити qualification_documents документ до пропозиції учасником ${provider} 1802 + Можливість завантажити документ до пропозиції учасником ${provider} qualification_documents
1793 1803
1794 1804
1795 Можливість завантажити документ для критеріїв прийнятності до пропозиції першим учасником 1805 Можливість завантажити документ для критеріїв прийнятності до пропозиції першим учасником
@@ -1799,7 +1809,7 @@ ${MOZ_INTEGRATION} ${False} @@ -1799,7 +1809,7 @@ ${MOZ_INTEGRATION} ${False}
1799 ... openeu_add_eligibility_bid_doc_by_provider 1809 ... openeu_add_eligibility_bid_doc_by_provider
1800 ... critical 1810 ... critical
1801 [Teardown] Оновити LAST_MODIFICATION_DATE 1811 [Teardown] Оновити LAST_MODIFICATION_DATE
1802 - Можливість завантажити eligibility_documents документ до пропозиції учасником ${provider} 1812 + Можливість завантажити документ до пропозиції учасником ${provider} eligibility_documents
1803 1813
1804 1814
1805 Неможливість задати запитання на тендер після завершення періоду уточнень 1815 Неможливість задати запитання на тендер після завершення періоду уточнень
  1 +*** Settings ***
  2 +Resource base_keywords.robot
  3 +Resource aboveThreshold_keywords.robot
  4 +Suite Setup Test Suite Setup
  5 +Suite Teardown Test Suite Teardown
  6 +
  7 +
  8 +*** Variables ***
  9 +${MODE} framework_selection
  10 +@{USED_ROLES} tender_owner provider provider1 provider2 viewer
  11 +
  12 +${NUMBER_OF_ITEMS} ${1}
  13 +${NUMBER_OF_LOTS} ${1}
  14 +${TENDER_MEAT} ${True}
  15 +${LOT_MEAT} ${False}
  16 +${ITEM_MEAT} ${False}
  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 +Можливість знайти тендер по ідентифікатору для замовника
  32 + [Tags] ${USERS.users['${tender_owner}'].broker}: Пошук тендера
  33 + ... tender_owner
  34 + ... ${USERS.users['${tender_owner}'].broker}
  35 + ... find_tender
  36 + ... critical
  37 + [Setup] Дочекатись синхронізації з майданчиком ${tender_owner}
  38 + Можливість знайти тендер по ідентифікатору для користувача ${tender_owner}
  39 +
  40 +
  41 +Відображення бюджету тендера для замовника
  42 + [Tags] ${USERS.users['${tender_owner}'].broker}: Відображення основних даних тендера
  43 + ... tender_owner
  44 + ... ${USERS.users['${tender_owner}'].broker}
  45 + ... tender_view
  46 + ... critical
  47 + Отримати дані із поля value.amount тендера для користувача ${tender_owner}
  48 +
  49 +
  50 +Відображення бюджету лоту для замовника
  51 + [Tags] ${USERS.users['${tender_owner}'].broker}: Відображення основних даних тендера
  52 + ... tender_owner
  53 + ... ${USERS.users['${tender_owner}'].broker}
  54 + ... tender_view
  55 + ... critical
  56 + Отримати дані із поля lots[0].value.amount тендера для користувача ${tender_owner}
  57 +
  58 +
  59 +Відображення мінімального кроку лоту для замовника
  60 + [Tags] ${USERS.users['${tender_owner}'].broker}: Відображення основних даних тендера
  61 + ... tender_owner
  62 + ... ${USERS.users['${tender_owner}'].broker}
  63 + ... tender_view
  64 + ... critical
  65 + Отримати дані із поля lots[0].minimalStep.amount тендера для користувача ${tender_owner}
  66 +
  67 +
  68 +Відображення закінчення періоду подачі пропозицій для замовника
  69 + [Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних тендера
  70 + ... viewer
  71 + ... ${USERS.users['${viewer}'].broker}
  72 + ... tender_view level1
  73 + ... critical
  74 + Отримати дані із поля tenderPeriod.endDate тендера для користувача ${tender_owner}
  75 +
  76 +
  77 +Можливість змінити дату закінчення періоду подання пропозиції на 10 днів
  78 + [Tags] ${USERS.users['${tender_owner}'].broker}: Можливість редагувати тендер
  79 + ... tender_owner
  80 + ... ${USERS.users['${tender_owner}'].broker}
  81 + ... extend_tendering_period level3
  82 + ... critical
  83 + [Teardown] Оновити LAST_MODIFICATION_DATE
  84 + Можливість продовжити період подання пропозиції на ${10} днів
  85 + Remove From Dictionary ${USERS.users['${tender_owner}'].tender_data.data.tenderPeriod} endDate
  86 +
  87 +
  88 +Можливість змінити кількість одиниць в предметі закупівлі
  89 + [Tags] ${USERS.users['${tender_owner}'].broker}: Можливість редагувати тендер
  90 + ... tender_owner
  91 + ... ${USERS.users['${tender_owner}'].broker}
  92 + ... modify_item
  93 + ... critical
  94 + [Setup] Дочекатись синхронізації з майданчиком ${tender_owner}
  95 + [Teardown] Оновити LAST_MODIFICATION_DATE
  96 + ${new_quantity}= create_fake_number ${1} ${USERS.users['${tender_owner}'].tender_data.data['items'][0]['quantity']}
  97 + Можливість змінити поле items[0].quantity тендера на ${new_quantity}
  98 +
  99 +
  100 +Можливість збільшити мінімальний крок лоту на 5 процентів
  101 + [Tags] ${USERS.users['${tender_owner}'].broker}: Редагування тендера
  102 + ... tender_owner
  103 + ... ${USERS.users['${tender_owner}'].broker}
  104 + ... modify_lot
  105 + ... critical
  106 + [Setup] Дочекатись синхронізації з майданчиком ${tender_owner}
  107 + [Teardown] Оновити LAST_MODIFICATION_DATE
  108 + ${step_value}= mult_and_round ${USERS.users['${tender_owner}'].tender_data.data.lots[0].minimalStep.amount} ${1.05} precision=${2}
  109 + Можливість змінити поле minimalStep.amount 0 лоту на ${step_value}
  110 +
  111 +
  112 +Можливість знайти тендер по ідентифікатору
  113 + [Tags] ${USERS.users['${viewer}'].broker}: Пошук тендера
  114 + ... viewer tender_owner provider provider1
  115 + ... ${USERS.users['${viewer}'].broker} ${USERS.users['${tender_owner}'].broker}
  116 + ... ${USERS.users['${provider}'].broker} ${USERS.users['${provider1}'].broker}
  117 + ... find_tender
  118 + ... critical
  119 + Можливість знайти тендер по ідентифікатору для усіх користувачів
  120 +
  121 +
  122 +Можливість додати документацію до тендера
  123 + [Tags] ${USERS.users['${tender_owner}'].broker}: Додання документації
  124 + ... tender_owner
  125 + ... ${USERS.users['${tender_owner}'].broker}
  126 + ... add_tender_doc
  127 + ... critical
  128 + [Teardown] Оновити LAST_MODIFICATION_DATE
  129 + Можливість додати документацію до тендера
  130 +
  131 +
  132 +Можливість додати документацію до всіх лотів
  133 + [Tags] ${USERS.users['${tender_owner}'].broker}: Додання документації
  134 + ... tender_owner
  135 + ... ${USERS.users['${tender_owner}'].broker}
  136 + ... add_lot_doc
  137 + ... critical
  138 + [Teardown] Оновити LAST_MODIFICATION_DATE
  139 + Можливість додати документацію до всіх лотів
  140 +
  141 +
  142 +Відображення заголовку документації до тендера
  143 + [Tags] ${USERS.users['${viewer}'].broker}: Відображення документації
  144 + ... viewer
  145 + ... ${USERS.users['${viewer}'].broker}
  146 + ... add_tender_doc
  147 + ... non-critical
  148 + [Setup] Дочекатись синхронізації з майданчиком ${viewer}
  149 + Звірити відображення поля title документа ${USERS.users['${tender_owner}']['tender_document']['doc_id']} із ${USERS.users['${tender_owner}'].tender_document.doc_name} для користувача ${viewer}
  150 +
  151 +
  152 +Відображення заголовку документації до всіх лотів
  153 + [Tags] ${USERS.users['${viewer}'].broker}: Відображення документації
  154 + ... viewer
  155 + ... ${USERS.users['${viewer}'].broker}
  156 + ... add_lot_doc
  157 + ... critical
  158 + Звірити відображення заголовку документації до всіх лотів для користувача ${viewer}
  159 +
  160 +
  161 +Відображення вмісту документації до тендера
  162 + [Tags] ${USERS.users['${viewer}'].broker}: Відображення документації
  163 + ... viewer
  164 + ... ${USERS.users['${viewer}'].broker}
  165 + ... add_tender_doc
  166 + ... non-critical
  167 + Звірити відображення вмісту документа ${USERS.users['${tender_owner}'].tender_document.doc_id} із ${USERS.users['${tender_owner}'].tender_document.doc_content} для користувача ${viewer}
  168 +
  169 +
  170 +Відображення вмісту документації до всіх лотів
  171 + [Tags] ${USERS.users['${viewer}'].broker}: Відображення документації
  172 + ... viewer
  173 + ... ${USERS.users['${viewer}'].broker}
  174 + ... add_lot_doc
  175 + ... critical
  176 + Звірити відображення вмісту документації до всіх лотів для користувача ${viewer}
  177 +
  178 +
  179 +##############################################################################################
  180 +# Відображення основних даних тендера
  181 +##############################################################################################
  182 +
  183 +Відображення заголовку тендера
  184 + [Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних тендера
  185 + ... viewer
  186 + ... ${USERS.users['${viewer}'].broker}
  187 + ... tender_view
  188 + ... critical
  189 + [Setup] Дочекатись синхронізації з майданчиком ${viewer}
  190 + Отримати дані із поля title тендера для користувача ${viewer}
  191 +
  192 +
  193 +Відображення опису тендера
  194 + [Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних тендера
  195 + ... viewer
  196 + ... ${USERS.users['${viewer}'].broker}
  197 + ... tender_view
  198 + ... non-critical
  199 + Отримати дані із поля description тендера для користувача ${viewer}
  200 +
  201 +
  202 +Відображення бюджету тендера
  203 + [Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних тендера
  204 + ... viewer tender_owner provider provider1
  205 + ... ${USERS.users['${viewer}'].broker} ${USERS.users['${tender_owner}'].broker}
  206 + ... ${USERS.users['${provider}'].broker} ${USERS.users['${provider1}'].broker}
  207 + ... tender_view
  208 + ... critical
  209 + Отримати дані із поля value.amount тендера для усіх користувачів
  210 +
  211 +
  212 +Відображення валюти тендера
  213 + [Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних тендера
  214 + ... viewer tender_owner provider provider1
  215 + ... ${USERS.users['${viewer}'].broker} ${USERS.users['${tender_owner}'].broker}
  216 + ... ${USERS.users['${provider}'].broker} ${USERS.users['${provider1}'].broker}
  217 + ... tender_view
  218 + ... non-critical
  219 + Отримати дані із поля value.currency тендера для усіх користувачів
  220 +
  221 +
  222 +Відображення ПДВ в бюджеті тендера
  223 + [Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних тендера
  224 + ... viewer tender_owner provider provider1
  225 + ... ${USERS.users['${viewer}'].broker} ${USERS.users['${tender_owner}'].broker}
  226 + ... ${USERS.users['${provider}'].broker} ${USERS.users['${provider1}'].broker}
  227 + ... tender_view
  228 + ... non-critical
  229 + Отримати дані із поля value.valueAddedTaxIncluded тендера для усіх користувачів
  230 +
  231 +
  232 +Відображення ідентифікатора тендера
  233 + [Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних тендера
  234 + ... viewer tender_owner provider provider1
  235 + ... ${USERS.users['${viewer}'].broker} ${USERS.users['${tender_owner}'].broker}
  236 + ... ${USERS.users['${provider}'].broker} ${USERS.users['${provider1}'].broker}
  237 + ... tender_view
  238 + ... critical
  239 + Звірити відображення поля tenderID тендера із ${TENDER['TENDER_UAID']} для користувача ${viewer}
  240 +
  241 +
  242 +Відображення ідентифікатора угоди
  243 + [Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних тендера
  244 + ... viewer tender_owner provider provider1
  245 + ... ${USERS.users['${viewer}'].broker} ${USERS.users['${tender_owner}'].broker}
  246 + ... ${USERS.users['${provider}'].broker} ${USERS.users['${provider1}'].broker}
  247 + ... tender_view
  248 + ... critical
  249 + Отримати дані із поля agreements[0].agreementID тендера для усіх користувачів
  250 +
  251 +
  252 +Відображення імені замовника тендера
  253 + [Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних тендера
  254 + ... viewer
  255 + ... ${USERS.users['${viewer}'].broker}
  256 + ... tender_view
  257 + ... critical
  258 + Звірити відображення поля procuringEntity.name тендера для користувача ${viewer}
  259 +
  260 +
  261 +Відображення початку періоду уточнення тендера
  262 + [Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних тендера
  263 + ... viewer tender_owner provider provider1
  264 + ... ${USERS.users['${viewer}'].broker} ${USERS.users['${tender_owner}'].broker}
  265 + ... ${USERS.users['${provider}'].broker} ${USERS.users['${provider1}'].broker}
  266 + ... tender_view
  267 + ... non-critical
  268 + Отримати дані із поля enquiryPeriod.startDate тендера для усіх користувачів
  269 +
  270 +
  271 +Відображення закінчення періоду уточнення тендера
  272 + [Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних тендера
  273 + ... viewer tender_owner provider provider1
  274 + ... ${USERS.users['${viewer}'].broker} ${USERS.users['${tender_owner}'].broker}
  275 + ... ${USERS.users['${provider}'].broker} ${USERS.users['${provider1}'].broker}
  276 + ... tender_view
  277 + ... critical
  278 + Отримати дані із поля enquiryPeriod.endDate тендера для усіх користувачів
  279 +
  280 +
  281 +Відображення початку періоду прийому пропозицій тендера
  282 + [Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних тендера
  283 + ... viewer tender_owner provider provider1
  284 + ... ${USERS.users['${viewer}'].broker} ${USERS.users['${tender_owner}'].broker}
  285 + ... ${USERS.users['${provider}'].broker} ${USERS.users['${provider1}'].broker}
  286 + ... tender_view
  287 + ... non-critical
  288 + Отримати дані із поля tenderPeriod.startDate тендера для усіх користувачів
  289 +
  290 +
  291 +Відображення закінчення періоду прийому пропозицій тендера
  292 + [Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних тендера
  293 + ... viewer tender_owner provider provider1
  294 + ... ${USERS.users['${viewer}'].broker} ${USERS.users['${tender_owner}'].broker}
  295 + ... ${USERS.users['${provider}'].broker} ${USERS.users['${provider1}'].broker}
  296 + ... tender_view
  297 + ... critical
  298 + Отримати дані із поля tenderPeriod.endDate тендера для усіх користувачів
  299 +
  300 +
  301 +Відображення мінімального кроку тендера
  302 + [Tags] ${USERS.users['${viewer}'].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 + ... tender_view
  307 + ... critical
  308 + Отримати дані із поля minimalStep.amount тендера для усіх користувачів
  309 +
  310 +
  311 +Відображення типу оголошеного тендера
  312 + [Tags] ${USERS.users['${viewer}'].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 + ... open_tender_view
  317 + ... non-critical
  318 + Звірити відображення поля procurementMethodType тендера для усіх користувачів
  319 +
  320 +
  321 +##############################################################################################
  322 +# Відображення основних даних предмету
  323 +##############################################################################################
  324 +
  325 +Відображення опису номенклатур тендера
  326 + [Tags] ${USERS.users['${viewer}'].broker}: Відображення номенклатури тендера
  327 + ... viewer tender_owner provider provider1
  328 + ... ${USERS.users['${viewer}'].broker} ${USERS.users['${tender_owner}'].broker}
  329 + ... ${USERS.users['${provider}'].broker} ${USERS.users['${provider1}'].broker}
  330 + ... tender_view
  331 + ... critical
  332 + Звірити відображення поля description усіх предметів для усіх користувачів
  333 +
  334 +
  335 +Відображення дати початку доставки номенклатур тендера
  336 + [Tags] ${USERS.users['${viewer}'].broker}: Відображення номенклатури тендера
  337 + ... viewer
  338 + ... ${USERS.users['${viewer}'].broker}
  339 + ... tender_view
  340 + ... non-critical
  341 + Звірити відображення дати deliveryDate.startDate усіх предметів для користувача ${viewer}
  342 +
  343 +
  344 +Відображення дати кінця доставки номенклатур тендера
  345 + [Tags] ${USERS.users['${viewer}'].broker}: Відображення номенклатури тендера
  346 + ... viewer
  347 + ... ${USERS.users['${viewer}'].broker}
  348 + ... tender_view
  349 + ... non-critical
  350 + Звірити відображення дати deliveryDate.endDate усіх предметів для користувача ${viewer}
  351 +
  352 +
  353 +Відображення координати доставки номенклатур тендера
  354 + [Tags] ${USERS.users['${viewer}'].broker}: Відображення номенклатури тендера
  355 + ... viewer
  356 + ... ${USERS.users['${viewer}'].broker}
  357 + ... tender_view_coordinates
  358 + ... non-critical
  359 + Звірити відображення координат усіх предметів для користувача ${viewer}
  360 +
  361 +
  362 +Відображення країни доставки номенклатур тендера
  363 + [Tags] ${USERS.users['${viewer}'].broker}: Відображення номенклатури тендера
  364 + ... viewer
  365 + ... ${USERS.users['${viewer}'].broker}
  366 + ... tender_view
  367 + ... non-critical
  368 + Звірити відображення поля deliveryAddress.countryName усіх предметів для користувача ${viewer}
  369 +
  370 +
  371 +Відображення пошт. коду доставки номенклатур тендера
  372 + [Tags] ${USERS.users['${viewer}'].broker}: Відображення номенклатури тендера
  373 + ... viewer
  374 + ... ${USERS.users['${viewer}'].broker}
  375 + ... tender_view
  376 + ... non-critical
  377 + Звірити відображення поля deliveryAddress.postalCode усіх предметів для користувача ${viewer}
  378 +
  379 +
  380 +Відображення регіону доставки номенклатур тендера
  381 + [Tags] ${USERS.users['${viewer}'].broker}: Відображення номенклатури тендера
  382 + ... viewer
  383 + ... ${USERS.users['${viewer}'].broker}
  384 + ... tender_view
  385 + ... non-critical
  386 + Звірити відображення поля deliveryAddress.region усіх предметів для користувача ${viewer}
  387 +
  388 +
  389 +Відображення назви нас. пункту доставки номенклатур тендера
  390 + [Tags] ${USERS.users['${viewer}'].broker}: Відображення номенклатури тендера
  391 + ... viewer
  392 + ... ${USERS.users['${viewer}'].broker}
  393 + ... tender_view
  394 + ... non-critical
  395 + Звірити відображення поля deliveryAddress.locality усіх предметів для користувача ${viewer}
  396 +
  397 +
  398 +Відображення вулиці доставки номенклатур тендера
  399 + [Tags] ${USERS.users['${viewer}'].broker}: Відображення номенклатури тендера
  400 + ... viewer
  401 + ... ${USERS.users['${viewer}'].broker}
  402 + ... tender_view
  403 + ... non-critical
  404 + Звірити відображення поля deliveryAddress.streetAddress усіх предметів для користувача ${viewer}
  405 +
  406 +
  407 +Відображення схеми класифікації номенклатур тендера
  408 + [Tags] ${USERS.users['${viewer}'].broker}: Відображення номенклатури тендера
  409 + ... viewer
  410 + ... ${USERS.users['${viewer}'].broker}
  411 + ... tender_view
  412 + ... non-critical
  413 + Звірити відображення поля classification.scheme усіх предметів для користувача ${viewer}
  414 + Run Keyword If "${USERS.users['${tender_owner}'].initial_data.data['items'][0]['classification']['id']}" == "33600000-6"
  415 + ... Звірити відображення поля additionalClassifications[0].scheme усіх предметів для користувача ${viewer}
  416 +
  417 +
  418 +Відображення ідентифікатора класифікації номенклатур тендера
  419 + [Tags] ${USERS.users['${viewer}'].broker}: Відображення номенклатури тендера
  420 + ... viewer
  421 + ... ${USERS.users['${viewer}'].broker}
  422 + ... tender_view
  423 + ... non-critical
  424 + Звірити відображення поля classification.id усіх предметів для користувача ${viewer}
  425 + Run Keyword If "${USERS.users['${tender_owner}'].initial_data.data['items'][0]['classification']['id']}" == "33600000-6"
  426 + ... Звірити відображення поля additionalClassifications[0].id усіх предметів для користувача ${viewer}
  427 +
  428 +
  429 +Відображення опису класифікації номенклатур тенедра
  430 + [Tags] ${USERS.users['${viewer}'].broker}: Відображення номенклатури тендера
  431 + ... viewer
  432 + ... ${USERS.users['${viewer}'].broker}
  433 + ... tender_view
  434 + ... non-critical
  435 + Звірити відображення поля classification.description усіх предметів для користувача ${viewer}
  436 + Run Keyword If "${USERS.users['${tender_owner}'].initial_data.data['items'][0]['classification']['id']}" == "33600000-6"
  437 + ... Звірити відображення поля additionalClassifications[0].description усіх предметів для користувача ${viewer}
  438 +
  439 +
  440 +Відображення назви одиниці номенклатур тендера
  441 + [Tags] ${USERS.users['${viewer}'].broker}: Відображення номенклатури тендера
  442 + ... viewer
  443 + ... ${USERS.users['${viewer}'].broker}
  444 + ... tender_view
  445 + ... non-critical
  446 + Звірити відображення поля unit.name усіх предметів для користувача ${viewer}
  447 +
  448 +
  449 +Відображення коду одиниці виміру номенклатур тендера
  450 + [Tags] ${USERS.users['${viewer}'].broker}: Відображення номенклатури тендера
  451 + ... viewer
  452 + ... ${USERS.users['${viewer}'].broker}
  453 + ... tender_view_unit_code
  454 + ... non-critical
  455 + Звірити відображення поля unit.code усіх предметів для користувача ${viewer}
  456 +
  457 +
  458 +Відображення кількості номенклатур тендера
  459 + [Tags] ${USERS.users['${viewer}'].broker}: Відображення номенклатури тендера
  460 + ... viewer tender_owner provider provider1
  461 + ... ${USERS.users['${viewer}'].broker} ${USERS.users['${tender_owner}'].broker}
  462 + ... ${USERS.users['${provider}'].broker} ${USERS.users['${provider1}'].broker}
  463 + ... tender_view
  464 + ... non-critical
  465 + Отримати дані із поля items[0].quantity тендера для усіх користувачів
  466 +
  467 +##############################################################################################
  468 +# Відображення основних даних лоту
  469 +##############################################################################################
  470 +
  471 +Відображення заголовку лотів
  472 + [Tags] ${USERS.users['${viewer}'].broker}: Відображення лоту тендера
  473 + ... viewer tender_owner provider provider1
  474 + ... ${USERS.users['${viewer}'].broker} ${USERS.users['${tender_owner}'].broker}
  475 + ... ${USERS.users['${provider}'].broker} ${USERS.users['${provider1}'].broker}
  476 + ... lot_view level1
  477 + ... critical
  478 + Звірити відображення поля title усіх лотів для усіх користувачів
  479 +
  480 +
  481 +Відображення опису лотів
  482 + [Tags] ${USERS.users['${viewer}'].broker}: Відображення лоту тендера
  483 + ... viewer
  484 + ... ${USERS.users['${viewer}'].broker}
  485 + ... lot_view
  486 + ... critical
  487 + Звірити відображення поля description усіх лотів для користувача ${viewer}
  488 +
  489 +
  490 +Відображення бюджету лотів
  491 + [Tags] ${USERS.users['${viewer}'].broker}: Відображення лоту тендера
  492 + ... viewer tender_owner provider provider1
  493 + ... ${USERS.users['${viewer}'].broker} ${USERS.users['${tender_owner}'].broker}
  494 + ... ${USERS.users['${provider}'].broker} ${USERS.users['${provider1}'].broker}
  495 + ... lot_view
  496 + ... critical
  497 + Отримати дані із поля lots[0].value.amount тендера для усіх користувачів
  498 +
  499 +
  500 +Відображення валюти лотів
  501 + [Tags] ${USERS.users['${viewer}'].broker}: Відображення лоту тендера
  502 + ... viewer
  503 + ... ${USERS.users['${viewer}'].broker}
  504 + ... lot_view
  505 + ... non-critical
  506 + Звірити відображення поля value.currency усіх лотів для користувача ${viewer}
  507 +
  508 +
  509 +Відображення ПДВ в бюджеті лотів
  510 + [Tags] ${USERS.users['${viewer}'].broker}: Відображення лоту тендера
  511 + ... viewer
  512 + ... ${USERS.users['${viewer}'].broker}
  513 + ... lot_view
  514 + ... non-critical
  515 + Звірити відображення поля value.valueAddedTaxIncluded усіх лотів для користувача ${viewer}
  516 +
  517 +
  518 +Відображення мінімального кроку лотів
  519 + [Tags] ${USERS.users['${viewer}'].broker}: Відображення лоту тендера
  520 + ... viewer tender_owner provider provider1
  521 + ... ${USERS.users['${viewer}'].broker} ${USERS.users['${tender_owner}'].broker}
  522 + ... ${USERS.users['${provider}'].broker} ${USERS.users['${provider1}'].broker}
  523 + ... lot_view
  524 + ... non-critical
  525 + Отримати дані із поля lots[0].minimalStep.amount тендера для усіх користувачів
  526 +
  527 +
  528 +Відображення валюти мінімального кроку лотів
  529 + [Tags] ${USERS.users['${viewer}'].broker}: Відображення лоту тендера
  530 + ... viewer
  531 + ... ${USERS.users['${viewer}'].broker}
  532 + ... lot_view
  533 + ... non-critical
  534 + Звірити відображення поля minimalStep.currency усіх лотів для користувача ${viewer}
  535 +
  536 +
  537 +Відображення ПДВ в мінімальному кроці лотів
  538 + [Tags] ${USERS.users['${viewer}'].broker}: Відображення лоту тендера
  539 + ... viewer
  540 + ... ${USERS.users['${viewer}'].broker}
  541 + ... lot_view
  542 + ... non-critical
  543 + Звірити відображення поля minimalStep.valueAddedTaxIncluded усіх лотів для користувача ${viewer}
  544 +
  545 +##############################################################################################
  546 +# Відображення основних даних предмету
  547 +##############################################################################################
  548 +
  549 +Відображення заголовку нецінових показників
  550 + [Tags] ${USERS.users['${viewer}'].broker}: Відображення нецінових показників
  551 + ... viewer tender_owner provider provider1
  552 + ... ${USERS.users['${viewer}'].broker} ${USERS.users['${tender_owner}'].broker}
  553 + ... ${USERS.users['${provider}'].broker} ${USERS.users['${provider1}'].broker}
  554 + ... meat_view
  555 + ... critical
  556 + Отримати дані із поля title нецінових показників для усіх користувачів
  557 +
  558 +
  559 +Відображення опису нецінових показників
  560 + [Tags] ${USERS.users['${viewer}'].broker}: Відображення нецінових показників
  561 + ... viewer tender_owner provider provider1
  562 + ... ${USERS.users['${viewer}'].broker} ${USERS.users['${tender_owner}'].broker}
  563 + ... ${USERS.users['${provider}'].broker} ${USERS.users['${provider1}'].broker}
  564 + ... meat_view
  565 + ... critical
  566 + Отримати дані із поля description нецінових показників для усіх користувачів
  567 +
  568 +
  569 +Відображення відношення нецінових показників
  570 + [Tags] ${USERS.users['${viewer}'].broker}: Відображення нецінових показників
  571 + ... viewer tender_owner provider provider1
  572 + ... ${USERS.users['${viewer}'].broker} ${USERS.users['${tender_owner}'].broker}
  573 + ... ${USERS.users['${provider}'].broker} ${USERS.users['${provider1}'].broker}
  574 + ... meat_view
  575 + ... non-critical
  576 + Отримати дані із поля featureOf нецінових показників для усіх користувачів
  577 +
  578 +##############################################################################################
  579 +# BIDDING
  580 +##############################################################################################
  581 +
  582 +Можливість подати пропозицію першим учасником
  583 + [Tags] ${USERS.users['${provider}'].broker}: Подання пропозиції
  584 + ... provider
  585 + ... ${USERS.users['${provider}'].broker}
  586 + ... make_bid_by_provider
  587 + ... critical
  588 + [Setup] Дочекатись дати початку прийому пропозицій ${provider} ${TENDER['TENDER_UAID']}
  589 + [Teardown] Оновити LAST_MODIFICATION_DATE
  590 + Можливість подати цінову пропозицію на другому етапі рамкової угоди користувачем ${provider} ${0}
  591 +
  592 +
  593 +Можливість зменшити пропозицію на 5% першим учасником
  594 + [Tags] ${USERS.users['${provider}'].broker}: Подання пропозиції
  595 + ... provider
  596 + ... ${USERS.users['${provider}'].broker}
  597 + ... modify_bid_by_provider
  598 + ... critical
  599 + [Teardown] Оновити LAST_MODIFICATION_DATE
  600 + Можливість зменшити пропозицію до 95 відсотків користувачем ${provider}
  601 +
  602 +
  603 +Можливість завантажити документ в пропозицію першим учасником
  604 + [Tags] ${USERS.users['${provider}'].broker}: Подання пропозиції
  605 + ... provider
  606 + ... ${USERS.users['${provider}'].broker}
  607 + ... add_doc_to_bid_by_provider
  608 + ... critical
  609 + [Teardown] Оновити LAST_MODIFICATION_DATE
  610 + Можливість завантажити документ в пропозицію користувачем ${provider}
  611 +
  612 +
  613 +Можливість подати пропозицію другим учасником
  614 + [Tags] ${USERS.users['${provider1}'].broker}: Подання пропозиції
  615 + ... provider1
  616 + ... ${USERS.users['${provider1}'].broker}
  617 + ... make_bid_by_provider1
  618 + ... critical
  619 + [Setup] Дочекатись дати початку прийому пропозицій ${provider1} ${TENDER['TENDER_UAID']}
  620 + [Teardown] Оновити LAST_MODIFICATION_DATE
  621 + Можливість подати цінову пропозицію на другому етапі рамкової угоди користувачем ${provider1} ${1}
  622 +
  623 +
  624 +Можливість зменшити пропозицію на 5% другим учасником
  625 + [Tags] ${USERS.users['${provider1}'].broker}: Подання пропозиції
  626 + ... provider1
  627 + ... ${USERS.users['${provider1}'].broker}
  628 + ... modify_bid_by_provider1
  629 + [Teardown] Оновити LAST_MODIFICATION_DATE
  630 + Можливість зменшити пропозицію до 95 відсотків користувачем ${provider1}
  631 +
  632 +
  633 +Неможливість завантажити документ першим учасником після закінчення прийому пропозицій
  634 + [Tags] ${USERS.users['${provider}'].broker}: Подання пропозиції
  635 + ... provider
  636 + ... ${USERS.users['${provider}'].broker}
  637 + ... add_bid_doc_after_tendering_period_by_provider
  638 + ... non-critical
  639 + [Setup] Дочекатись дати закінчення прийому пропозицій ${provider} ${TENDER['TENDER_UAID']}
  640 + Run Keyword And Expect Error * Можливість завантажити документ в пропозицію користувачем ${provider}
  641 +
  642 +
  643 +###################################################################
  644 +# Відображення посилання на аукціон
  645 +###################################################################
  646 +
  647 +Можливість вичитати посилання на аукціон для глядача
  648 + [Tags] ${USERS.users['${viewer}'].broker}: Процес аукціону
  649 + ... viewer
  650 + ... ${USERS.users['${viewer}'].broker}
  651 + ... auction_url
  652 + ... critical
  653 + [Setup] Дочекатись дати початку періоду аукціону ${viewer} ${TENDER['TENDER_UAID']}
  654 + Можливість отримати посилання на аукціон для глядача
  655 +
  656 +
  657 +Можливість вичитати посилання на аукціон для першого учасника
  658 + [Tags] ${USERS.users['${provider}'].broker}: Процес аукціону
  659 + ... provider
  660 + ... ${USERS.users['${provider}'].broker}
  661 + ... auction_url
  662 + ... critical
  663 + [Setup] Дочекатись синхронізації з майданчиком ${provider}
  664 + Можливість отримати посилання на аукціон для учасника ${provider}
  665 +
  666 +
  667 +Можливість вичитати посилання на аукціон для другого учасника
  668 + [Tags] ${USERS.users['${provider1}'].broker}: Процес аукціону
  669 + ... provider1
  670 + ... ${USERS.users['${provider1}'].broker}
  671 + ... auction_url
  672 + ... critical
  673 + [Setup] Дочекатись синхронізації з майданчиком ${provider1}
  674 + Можливість отримати посилання на аукціон для учасника ${provider1}
@@ -31,6 +31,7 @@ from .initial_data import ( @@ -31,6 +31,7 @@ from .initial_data import (
31 test_bid_data, 31 test_bid_data,
32 test_bid_value, 32 test_bid_value,
33 test_bid_value_esco, 33 test_bid_value_esco,
  34 + test_bid_data_selection,
34 test_change_data, 35 test_change_data,
35 test_claim_answer_data, 36 test_claim_answer_data,
36 test_claim_data, 37 test_claim_data,
@@ -54,6 +55,7 @@ from .initial_data import ( @@ -54,6 +55,7 @@ from .initial_data import (
54 test_tender_data_planning, 55 test_tender_data_planning,
55 test_tender_data_openua_defense, 56 test_tender_data_openua_defense,
56 test_tender_data_framework_agreement, 57 test_tender_data_framework_agreement,
  58 + test_tender_data_selection,
57 test_bid_competitive_data, 59 test_bid_competitive_data,
58 tets_monitoring_data, 60 tets_monitoring_data,
59 test_party, 61 test_party,
@@ -62,6 +64,8 @@ from .initial_data import ( @@ -62,6 +64,8 @@ from .initial_data import (
62 test_status_data, 64 test_status_data,
63 test_elimination_report, 65 test_elimination_report,
64 test_tender_data_esco, 66 test_tender_data_esco,
  67 + test_modification_data,
  68 + test_agreement_change_data,
65 create_fake_title, 69 create_fake_title,
66 create_fake_value_amount, 70 create_fake_value_amount,
67 test_change_document_data, 71 test_change_document_data,
@@ -76,6 +76,7 @@ @@ -76,6 +76,7 @@
76 -i modify_contract 76 -i modify_contract
77 -i modify_contract_value 77 -i modify_contract_value
78 -i add_doc_to_contract 78 -i add_doc_to_contract
  79 + -i contract_doc_documentOf
79 -i contract_sign 80 -i contract_sign
80 -i contract_stand_still 81 -i contract_stand_still
81 82
@@ -12,6 +12,7 @@ @@ -12,6 +12,7 @@
12 -i find_tender 12 -i find_tender
13 13
14 -i tender_view 14 -i tender_view
  15 +-i tender_view_value
15 -i tender_view_unit_code 16 -i tender_view_unit_code
16 -i tender_view_coordinates 17 -i tender_view_coordinates
17 -i tender_view_framework 18 -i tender_view_framework
@@ -58,6 +59,7 @@ @@ -58,6 +59,7 @@
58 -i openeu_add_financial_bid_doc_by_provider 59 -i openeu_add_financial_bid_doc_by_provider
59 -i openeu_add_qualification_bid_doc_by_provider 60 -i openeu_add_qualification_bid_doc_by_provider
60 -i openeu_add_eligibility_bid_doc_by_provider 61 -i openeu_add_eligibility_bid_doc_by_provider
  62 +-i add_winningBid_doc_by_provider
61 63
62 -i pre-qualification_add_doc_to_tender 64 -i pre-qualification_add_doc_to_tender
63 -i pre-qualification_add_doc_to_lot 65 -i pre-qualification_add_doc_to_lot
@@ -76,6 +78,7 @@ @@ -76,6 +78,7 @@
76 -i pre-qualification_approve_qualifications 78 -i pre-qualification_approve_qualifications
77 79
78 -i auction_url 80 -i auction_url
  81 +-i auction
79 82
80 -i qualification_add_doc_to_first_award 83 -i qualification_add_doc_to_first_award
81 -i qualification_approve_first_award 84 -i qualification_approve_first_award
@@ -92,4 +95,13 @@ @@ -92,4 +95,13 @@
92 -i contract_stand_still 95 -i contract_stand_still
93 -i awarding_approve_first_award 96 -i awarding_approve_first_award
94 -i modify_agreement 97 -i modify_agreement
95 --i agreement_registration  
  98 +-i agreement_registration
  99 +
  100 +
  101 +-i find_agreement
  102 +-i add_agreement_doc
  103 +-i submit_change
  104 +-i change_view
  105 +-i modification
  106 +-i modification_view
  107 +-i apply_change
  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
  11 +-i find_tender
  12 +-i tender_view
  13 +-i tender_view_value
  14 +-i tender_view_minimalStep
  15 +-i tender_view_deliveryDate
  16 +-i tender_view_quantity
  17 +-i tender_view_unit_code
  18 +-i tender_view_coordinates
  19 +-i meat_view
  20 +-i lot_view
  21 +-i lot_view_value
  22 +-i lot_view_minimalStep
  23 +-i modify_item
  24 +-i modify_lot
  25 +
  26 +-i add_tender_doc
  27 +-i add_lot_doc
  28 +
  29 +-i extend_tendering_period
  30 +
  31 +-i make_bid_by_provider
  32 + -i modify_bid_by_provider
  33 + -i add_doc_to_bid_by_provider
  34 +-i make_bid_by_provider1
  35 + -i modify_bid_by_provider1
  36 +-i bid_view_in_tendering_period
  37 +-i add_bid_doc_after_tendering_period_by_provider
  38 +
  39 +
  40 +-i auction_url
  41 +-i auction
  42 +
  43 +-i qualification_add_doc_to_first_award
  44 +-i qualification_approve_first_award
  45 +-i qualification_cancel_first_award_qualification
  46 +-i qualification_add_doc_to_second_award
  47 +-i qualification_approve_second_award
  48 +
  49 +-i contract_view
  50 +-i modify_contract
  51 +-i add_doc_to_contract
  52 +-i contract_sign
  53 +
  54 +-i find_contract
  55 +-i access_contract
  56 +-i submit_change
  57 +-i view_change
  58 +-i upload_change_document
  59 +-i modify_change
  60 +-i apply_change
  61 +-i add_contract_doc
  62 +-i termination_reasons
  63 +-i amount_paid
  64 +-i contract_termination
@@ -105,6 +105,7 @@ @@ -105,6 +105,7 @@
105 -i modify_contract 105 -i modify_contract
106 -i modify_contract_value 106 -i modify_contract_value
107 -i add_doc_to_contract 107 -i add_doc_to_contract
  108 + -i contract_doc_documentOf
108 -i contract_sign 109 -i contract_sign
109 -i contract_stand_still 110 -i contract_stand_still
110 111
@@ -102,4 +102,5 @@ @@ -102,4 +102,5 @@
102 -i modify_contract 102 -i modify_contract
103 -i modify_contract_value 103 -i modify_contract_value
104 -i contract_view 104 -i contract_view
105 --i add_doc_to_contract  
  105 +-i add_doc_to_contract
  106 + -i contract_doc_documentOf
@@ -81,6 +81,7 @@ @@ -81,6 +81,7 @@
81 -i modify_contract 81 -i modify_contract
82 -i modify_contract_value 82 -i modify_contract_value
83 -i add_doc_to_contract 83 -i add_doc_to_contract
  84 + -i contract_doc_documentOf
84 -i contract_sign 85 -i contract_sign
85 -i contract_stand_still 86 -i contract_stand_still
86 87
@@ -83,4 +83,5 @@ @@ -83,4 +83,5 @@
83 -i modify_contract 83 -i modify_contract
84 -i modify_contract_value 84 -i modify_contract_value
85 -i contract_view 85 -i contract_view
86 --i add_doc_to_contract  
  86 +-i add_doc_to_contract
  87 + -i contract_doc_documentOf
Please register or login to post a comment