{"action":"created","comment":{"url":"https://api.github.com/repos/openprocurement/robot_tests.broker.smarttender/pulls/comments/194441637","pull_request_review_id":127610841,"id":194441637,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDE5NDQ0MTYzNw==","diff_hunk":"@@ -1,39 +1,2290 @@\n-*** Settings ***\n-Library  Selenium2Screenshots\n-Library  String\n-Library  DateTime\n+﻿*** Settings ***\n+Library           String\n+Library           DateTime\n+Library           smarttender_service.py\n+Library           op_robot_tests.tests_files.service_keywords\n \n+*** Variables ***\n+${tender_href}                          None\n+${browserAlias}                        'main_browser'\n+${synchronization}                      http://test.smarttender.biz/ws/webservice.asmx/ExecuteEx?calcId=_SYNCANDMOVE&args=&ticket=&pureJson=\n+${path to find tender}                  http://test.smarttender.biz/test-tenders/\n+${find tender field}                    xpath=//input[@placeholder=\"Введіть запит для пошуку або номер тендеру\"]\n+${tender found}                         xpath=//*[@id=\"tenders\"]/tbody//a[@class=\"linkSubjTrading\"]\n+${wait}                                 120\n+${iframe}                               jquery=iframe:eq(0)\n+\n+${expand list}                          css=label.tooltip-label\n+\n+#login\n+${open login button}                    id=LoginAnchor\n+${login field}                          xpath=(//*[@id=\"LoginBlock_LoginTb\"])[2]\n+${password field}                       xpath=(//*[@id=\"LoginBlock_PasswordTb\"])[2]\n+${remember me}                          xpath=(//*[@id=\"LoginBlock_RememberMe\"])[2]\n+${login button}                         xpath=(//*[@id=\"LoginBlock_LogInBtn\"])[2]\n+\n+#open procedure\n+${question_button}                      xpath=//a[@id=\"question\"]\n+\n+#make proposal\n+${block}                                xpath=.//*[@class='ivu-card ivu-card-bordered']\n+${cancellation offers button}           ${block}[last()]//div[@class=\"ivu-poptip-rel\"]/button\n+${cancel. offers confirm button}        ${block}[last()]//div[@class=\"ivu-poptip-footer\"]/button[2]\n+${ok button}                            xpath=.//div[@class=\"ivu-modal-body\"]/div[@class=\"ivu-modal-confirm\"]//button\n+${loading}                              css=.smt-load div.box\n+${your request is sending}              css=.ivu-message-notice-content-textddd\n+${wraploading}                          css=#wrapLoading .load-icon-div i\n+${send offer button}                    css=button#submitBidPlease\n+${checkbox1}                            xpath=//*[@id=\"SelfEligible\"]//input\n+${checkbox2}                            xpath=//*[@id=\"SelfQualified\"]//input\n+\n+${succeed}                              Пропозицію прийнято\n+${succeed2}                             Не вдалося зчитати пропозицію з ЦБД!\n+${empty error}                          ValueError: Element locator\n+${error1}                               Не вдалося подати пропозицію\n+${error2}                               Виникла помилка при збереженні пропозиції.\n+${error3}                               Непередбачувана ситуація\n+${cancellation succeed}                 Пропозиція анульована.\n+${cancellation error1}                  Не вдалося анулювати пропозицію.\n+\n+${button add file}                      //input[@type=\"file\"][1]\n+${file container}                       //div[@class=\"file-container\"]/div\n+${choice file list}                     //div[@class=\"dropdown open\"]//li\n+${choice file button}                   //button[@data-toggle=\"dropdown\"]\n+${confidentiality switch}               xpath=//*[@class=\"ivu-switch\"]\n+${confidentiality switch field}         xpath=//*[@class=\"ivu-input-wrapper ivu-input-type\"]/input\n+${validation message}                   css=.ivu-modal-content .ivu-modal-confirm-body>div:nth-child(2)\n+${torgy top/bottom tab}                 css=#MainMenuTenders ul:nth-child   #up-1 bottom-2\n+${torgy count tab}                      li:nth-child\n+${change language}                      css=div:nth-child(2) .dropdown img\n+\n+#claims\n+${link to claims}                       xpath=(//div[@id='group-main']//a[@class='hyperlink'])[1]\n+${claim collapse button}                xpath=//span[@class='appeal-expander']\n+\n+#webclient\n+${owner change}                         css=[data-name=\"TBCASE____F4\"]\n+${ok add file}                          jquery=span:Contains('ОК'):eq(0)\n+${webClient loading}                    id=LoadingPanel\n+${orenda}                               css=[data-itemkey='438']\n+${create tender}                        css=[data-name=\"TBCASE____F7\"]\n+${add file button}                      css=#cpModalMode div[data-name='BTADDATTACHMENT']\n+${choice file path}                     xpath=//*[@type='file'][1]\n+${add files tab}                        xpath=//li[contains(@class, 'dxtc-tab')]//span[text()='Завантаження документації']\n+\n+# Privatization\n+${privatization_start_page}             http://test.smarttender.biz/small-privatization/registry/privatization-objects\n+${privatization_lot_start_page}         http://test.smarttender.biz/small-privatization/registry/privatization-lots\n+${search input field privatization}     css=.ivu-card-body input[type=text]\n+${do search privatization}              css=.ivu-card-body button>i\n+${ss_id}                                None\n *** Keywords ***\n+####################################\n+#        Операції з лотом          #\n+####################################\n Підготувати клієнт для користувача\n   [Arguments]  ${username}\n-  [Documentation]  Відкрити браузер, створити об’єкт api wrapper, тощо\n-  Open Browser\n-  ...      ${USERS.users['${username}'].homepage}\n-  ...      ${USERS.users['${username}'].browser}\n-  ...      alias=${username}\n-  Set Window Position   @{USERS.users['${username}'].position}\n-  Set Window Size       @{USERS.users['${username}'].size}\n-  Log Variables\n+  [Documentation]  Відкриває переглядач на потрібній сторінці, готує api wrapper, тощо для користувача username.\n+  Open Browser  ${USERS.users['${username}'].homepage}  ${USERS.users['${username}'].browser}  alias=${browserAlias}\n+  Run Keyword If  '${username}' != 'SmartTender_Viewer'  Login_  ${username}\n+\n+Підготувати дані для оголошення тендера\n+  [Arguments]  ${username}  ${tender_data}  ${role_name}\n+  [Documentation]  Адаптує початкові дані для створення лоту. Наприклад, змінити дані про procuringEntity на дані про користувача tender_owner на майданчику.\n+  ...  Перевіряючи значення аргументу role_name, можна адаптувати різні дані для різних ролей\n+  ...  (наприклад, необхідно тільки для ролі tender_owner забрати з початкових даних поле mode: test, а для інших ролей не потрібно робити нічого).\n+  ...  Це ключове слово викликається в циклі для кожної ролі, яка бере участь в поточному сценарії.\n+  ...  З ключового слова потрібно повернути адаптовані дані tender_data. Різниця між початковими даними і кінцевими буде виведена в консоль під час запуску тесту.\n+  ${tender_data}  Run Keyword If  \"${mode}\" == \"assets\"  smarttender_service.adapt_data_assets  ${tender_data}\n+  ...  ELSE  smarttender_service.adapt_data  ${tender_data}\n+  [Return]  ${tender_data}\n+\n+Створити тендер\n+  [Arguments]  ${username}  ${tender_data}\n+  [Documentation]  Створює лот з початковими даними tender_data.\n+  ${items}=                     Get From Dictionary    ${tender_data.data}  items\n+  ${procuringEntityName}=       Get From Dictionary    ${tender_data.data.procuringEntity.identifier}  legalName\n+  ${title}=                     Get From Dictionary    ${tender_data.data}  title\n+  ${description}=               Get From Dictionary    ${tender_data.data}  description\n+  ${budget}=                    Get From Dictionary    ${tender_data.data.value}  amount\n+  ${budget}=                    Convert To String      ${budget}\n+  ${step_rate}=                 Get From Dictionary    ${tender_data.data.minimalStep}  amount\n+  ${step_rate}=                 Convert To String      ${step_rate}\n+  # Для фіксування кроку аукціону при зміні початковой вартості лоту\n+  set global variable           ${step_rate}\n+  ${valTax}=                    Get From Dictionary    ${tender_data.data.value}  valueAddedTaxIncluded\n+  ${guarantee_amount}=          Get From Dictionary    ${tender_data.data.guarantee}  amount\n+  ${guarantee_amount}=          Convert To String      ${guarantee_amount}\n+  ${dgfID}=                     Get From Dictionary    ${tender_data.data}  dgfID\n+  ${minNumberOfQualifiedBids}=  Get From Dictionary    ${tender_data.data}  minNumberOfQualifiedBids\n+  ${auction_start}=             Get From Dictionary    ${tender_data.data.auctionPeriod}  startDate\n+  ${auction_start}=             smarttender_service.convert_datetime_to_smarttender_format  ${auction_start}\n+  ${tenderAttempts}=            Get From Dictionary    ${tender_data.data}  tenderAttempts\n+  Run Keyword And Ignore Error  Wait Until Page Contains element  id=IMMessageBoxBtnNo_CD\n+  Run Keyword And Ignore Error  Click Element  id=IMMessageBoxBtnNo_CD\n+  Wait Until Page Contains element  ${orenda}  ${wait}\n+  Click Element  ${orenda}\n+  Wait Until Element Is Not Visible  ${webClient loading}  ${wait}\n+  Wait Until Page Contains element  ${create tender}\n+  Click Element  ${create tender}\n+  Wait Until Element Contains  cpModalMode  Оголошення  ${wait}\n+  # Процедура\n+  Run Keyword If  '${mode}' != 'dgfOtherAssets'  Run Keywords\n+  ...  Run Keyword And Ignore Error\n+  ...     Click Element  css=[data-name='OWNERSHIPTYPE']\n+  ...  AND  Run Keyword And Ignore Error\n+  ...     Click Element  css=[data-name='KDM2']\n+  ...  AND  Run Keyword And Ignore Error\n+  ...     Click Element  css=div#CustomDropDownContainer div.dxpcDropDown_DevEx table:nth-child(3) tr:nth-child(2) td:nth-child(1)\n+  # День старту електроного аукціону\n+  Click Input Enter Wait  css=#cpModalMode table[data-name='DTAUCTION'] input  ${auction_start}\n+  Заповнити поле з ціною власником_  ${budget}\n+  # з ПДВ\n+  Run Keyword If  ${valTax}  Click Element  css=table[data-name='WITHVAT'] span:nth-child(1)\n+  Заповнити поле з мінімальним кроком аукіону_  ${step_rate}\n+  # Загальна назва аукціону\n+  Click Input Enter Wait  css=#cpModalMode table[data-name='TITLE'] input  ${title}\n+  # Номер лоту в Замовника\n+  Click Input Enter Wait  css=#cpModalMode table[data-name='DGFID'] input:nth-child(1)  ${dgfID}\n+  #Детальний опис\n+  Click Input Enter Wait  css=#cpModalMode table[data-name='DESCRIPT'] textarea  ${description}\n+  # Організація\n+  Input Text  css=#cpModalMode div[data-name='ORG_GPO_2'] input  ${procuringEntityName}\n+  Press Key  css=#cpModalMode div[data-name='ORG_GPO_2'] input  \\\\09\n+  sleep  1  #don't touch\n+  Wait Until Element Is Not Visible  ${webClient loading}  ${wait}\n+  Press Key  css=#cpModalMode div[data-name='ORG_GPO_2'] input  \\\\13\n+  Wait Until Element Is Not Visible  ${webClient loading}  ${wait}\n+  Sleep  1  # don't touch\n+  # Лот виставляється на торги\n+  Click Element  css=#cpModalMode table[data-name='ATTEMPT'] input[type='text']\n+  Sleep  1  # don't touch\n+  Click Element  xpath=//*[text()=\"Невідомо\"]/../following-sibling::tr[${tenderAttempts}]\n+  # Мінімальна кількість учасників\n+  run keyword if  \"${minNumberOfQualifiedBids}\" == '1'  run keywords\n+  ...  Click Element  table[data-name='PARTCOUNT']\n+  ...  AND  click element  xpath=(//td[text()=\"1\"])[last()]\n+  # Позиції аукціону\n+  ${index}=  Set Variable  ${0}\n+  log  ${items}\n+  :FOR  ${item}  in  @{items}\n+  \\  Run Keyword If  '${index}' != '0'  Click Element  css=div:nth-child(3) a[title='Додати']\n+  \\  smarttender.Додати предмет в тендер_  ${item}\n+  \\  ${index}=  SetVariable  ${index + 1}\n+  Заповнити поле гарантійного внеску_  ${guarantee_amount}\n+  # Додати\n+  Click Image  css=\\#cpModalMode a[data-name=\"OkButton\"] img\n+  Sleep  1  # don't touch\n+  Wait Until Element Is Not Visible    ${webClient loading}  ${wait}\n+  # Оголосити аукціон\n+  Click Element  css=[data-name=\"TBCASE____SHIFT-F12N\"]\n+  Wait Until Element Is Not Visible  ${webClient loading}  ${wait}\n+  Wait Until Page Contains Element  id=IMMessageBoxBtnYes_CD\n+  Sleep  1  # don't touch\n+  Click Element  id=IMMessageBoxBtnYes_CD\n+  Wait Until Element Is Not Visible  id=IMMessageBoxBtnYes_CD\n+  Sleep  1  # don't touch\n+  Wait Until Element Is Not Visible    ${webClient loading}  ${wait}\n+  ${return_value}  Get Text  xpath=(//div[@data-placeid='TENDER']//a[text()])[1]\n+  [Return]  ${return_value}\n+\n+Додати предмет в тендер_\n+  [Arguments]  ${item}\n+  ${description}=                 Get From Dictionary    ${item}  description\n+  ${quantity}=                    Get From Dictionary    ${item}  quantity\n+  ${quantity}=                    Convert To String      ${quantity}\n+  ${cpv}=                         Get From Dictionary    ${item.classification}  id\n+  ${cpv/cav}=                     Get From Dictionary    ${item.classification}  scheme\n+  ${unit}=                        Get From Dictionary    ${item.unit}  name\n+  ${unit}=                        smarttender_service.convert_unit_to_smarttender_format  ${unit}\n+  ${postalCode}                   Get From Dictionary    ${item.deliveryAddress}  postalCode\n+  ${locality}=                    Get From Dictionary    ${item.deliveryAddress}  locality\n+  ${streetAddress}                Get From Dictionary    ${item.deliveryAddress}  streetAddress\n+  ${latitude}                     Get From Dictionary    ${item.deliveryLocation}  latitude\n+  ${latitude}=                    Convert To String      ${latitude}\n+  ${longitude}                    Get From Dictionary    ${item.deliveryLocation}  longitude\n+  ${longitude}=                   Convert To String      ${longitude}\n+  ${contractPeriodendDate}        Get From Dictionary    ${item.contractPeriod}  endDate\n+  ${contractPeriodendDate}        smarttender_service.convert_datetime_to_smarttender_form  ${contractPeriodendDate}\n+  ${contractPeriodstartDate}      Get From Dictionary  ${item.contractPeriod}  startDate\n+  ${contractPeriodstartDate}      smarttender_service.convert_datetime_to_smarttender_form  ${contractPeriodstartDate}\n+  Wait Until Element Is Not Visible  ${webClient loading}  ${wait}\n+  sleep  1  #don't touch\n+  # Найменування позиції\n+  Click Input Enter Wait  css=#cpModalMode div[data-name='KMAT'] input[type=text]:nth-child(1)  ${description}\n+  # Кількість активів\n+  Click Input Enter Wait  css=#cpModalMode table[data-name='QUANTITY'] input  ${quantity}\n+  # Од. вим.\n+  Click Input Enter Wait  css=#cpModalMode div[data-name='EDI'] input[type=text]:nth-child(1)  ${unit}\n+  # Дата договору з\n+  Click Input Enter Wait  css=[data-name=\"CONTRFROM\"] input  ${contractPeriodendDate}\n+  # по\n+  Click Input Enter Wait  css=[data-name=\"CONTRTO\"] input  ${contractPeriodendDate}\n+  # Класифікація\n+  Click Element  css=[data-name=\"MAINSCHEME\"]\n+  Run Keyword If  \"${cpv/cav}\" == \"CAV\" or \"${cpv/cav}\" == \"CAV-PS\"  Click Element  xpath=//td[text()=\"CAV\"]\n+  ...  ELSE IF  \"${cpv/cav}\" == \"CPV\"  Click Element  xpath=//td[text()=\"CPV\"]\n+  Wait Until Element Is Not Visible  ${webClient loading}  ${wait}\n+  Click Input Enter Wait  css=#cpModalMode div[data-name='MAINCLASSIFICATION'] input[type=text]:nth-child(1)  ${cpv}\n+  # Розташування об'єкту\n+  sleep  1  #don't touch\n+  Click Input Enter Wait  css=#cpModalMode table[data-name='POSTALCODE'] input  ${postalCode}\n+  Click Input Enter Wait  css=#cpModalMode table[data-name='STREETADDR'] input  ${streetAddress}\n+  Click Input Enter Wait  css=#cpModalMode div[data-name='CITY_KOD'] input[type=text]:nth-child(1)  ${locality}\n+  Click Input Enter Wait  css=#cpModalMode table[data-name='LATITUDE'] input  ${latitude}\n+  Click Input Enter Wait  css=#cpModalMode table[data-name='LONGITUDE'] input  ${longitude}\n+\n+Заповнити поле з ціною власником_\n+  [Arguments]  ${value}\n+  Click Input Enter Wait  css=#cpModalMode table[data-name='INITAMOUNT'] input  ${value}\n+\n+Заповнити поле з мінімальним кроком аукіону_\n+  [Arguments]  ${value}\n+  Click Input Enter Wait  css=#cpModalMode table[data-name='MINSTEP'] input  ${value}\n+\n+Заповнити поле гарантійного внеску_\n+  [Arguments]  ${value}\n+  Click Element  xpath=(//*[@id=\"cpModalMode\"]//span[text()='Гарантійний внесок'])[1]\n+  Wait Until Element Is Visible    css=[data-name='GUARANTEE_AMOUNT']\n+  Click Input Enter Wait  css=#cpModalMode table[data-name='GUARANTEE_AMOUNT'] input  ${value}\n \n Пошук тендера по ідентифікатору\n+  [Arguments]  ${username}  ${tender_uaid}\n+  [Documentation]  Шукає лот з uaid = tender_uaid. [Повертає] tender (словник з інформацією про лот)\n+  Відкрити сторінку  tender  ${tender_uaid}\n+\n+Оновити сторінку з тендером\n+  [Arguments]  ${username}  ${tender_uaid}\n+  [Documentation]  Оновлює сторінку з лотом для отримання потенційно оновлених даних.\n+  Оновити сторінку з об'єктом МП  ${username}  ${tender_uaid}\n+\n+waiting_for_synch\n+  [Arguments]  ${last_modification_date}\n+  ${synch dict}  Get Text  css=.text\n+  ${dict}  synchronization  ${synch dict}\n+  ${DateStart}  Set Variable  ${dict[0]}\n+  ${DateEnd}  Set Variable  ${dict[1]}\n+  ${WorkStatus}  Set Variable  ${dict[2]}\n+  ${Success}  Set Variable  ${dict[3]}\n+  ${status}  Run Keyword if  '${last_modification_date}' < '${DateStart}' and '${DateEnd}' != '${EMPTY}' and '${WorkStatus}' != 'working' and '${WorkStatus}' != 'fail' and '${Success}' == 'true'\n+  ...  Set Variable  Pass\n+  ...  ELSE  Reload Page\n+  Should Be Equal  ${status}  Pass\n+  Close Browser\n+  Switch Browser  ${browserAlias}\n+  Reload Page\n+\n+Отримати інформацію із тендера\n+  [Arguments]  ${username}  ${tender_uaid}  ${field_name}\n+  [Documentation]  Отримує значення поля field_name для лоту tender_uaid. [Повертає] tender['field_name'] (значення поля).\n+  Відкрити сторінку  ${field_name}  ${tender_uaid}\n+  Run Keyword if  '${field_name}' == 'status' or 'features[3].title' == '${fieldname}' or 'Period' in '${fieldname}'\n+  ...  smarttender.Оновити сторінку з тендером  ${username}  ${tender_uaid}\n+  ${response}=  Отримати та обробити дані із тендера_  ${field_name}\n+  [Return]  ${response}\n+\n+#Отримати інформацію із лоту\n+#  [Arguments]  ${username}  ${tender_uaid}  ${lot_id}  ${field_name}\n+#  [Documentation]  Отримати значення поля field_name з лоту з lot_id в описі для тендера tender_uaid.\n+  ...  [Повертає] lot['field_name']\n+  #Відкрити сторінку  ${field_name}  ${tender_uaid}\n+  #Відкрити сторінку с потрібним лотом за необхідністю  ${lot_id}\n+  #${response}=  Отримати та обробити дані із лоту_  ${field_name}  ${lot_id}\n+  #Повернутися до тендеру від лоту за необхідністю\n+#  [Return]  ${response}\n+\n+Внести зміни в тендер\n+  [Arguments]  ${user}  ${tenderId}  ${field}  ${value}\n+  [Documentation]  Змінює значення поля fieldname на fieldvalue для лоту tender_uaid.\n+  Pass Execution If  '${role}'=='provider' or '${role}'=='viewer'  Данний користувач не може вносити зміни в аукціон\n+  ${status}=  Run Keyword And Return Status  Location Should Contain  webclient\n+  Run Keyword If  '${status}' == '${False}'  smarttender.Підготуватися до редагування_\n+  Змінити дані тендера_  ${field}  ${value}\n+\n+Отримати кількість документів в тендері\n+  [Arguments]  ${user}  ${tenderId}\n+  [Documentation]  Отримує кількість документів до лоту tender_uaid. [Повертає] number_of_documents (кількість доданих документів).\n+  Run Keyword  smarttender.Пошук тендера по ідентифікатору  ${user}  ${tenderId}\n+  ${documentNumber}=  Execute JavaScript  return (function(){return $(\"div.row.document\").length-1;})()\n+  ${documentNumber}=  Convert To Integer  ${documentNumber}\n+  [Return]  ${documentNumber}\n+\n+Скасувати закупівлю\n+  [Arguments]  ${user}  ${tenderId}  ${reason}  ${file}  ${descript}\n+  [Documentation]  Створює запит для скасування лоту tender_uaid, додає до цього запиту документ, який знаходиться по шляху document,\n+  ...  змінює опис завантаженого документа на new_description і переводить скасування закупівлі в статус active.\n+  ...  Цей ківорд реалізовуємо лише для процедур на цбд1.\n+  Pass Execution If  '${role}' == 'provider' or '${role}' == 'viewer'  Даний учасник не може скасувати тендер\n+  ${documents}=  create_fake_doc\n+  Підготуватися до редагування  ${user}     ${tenderId}\n+  Click Element  jquery=a[data-name='F2_________GPCANCEL']\n+  Wait Until Page Contains  Протоколи скасування\n+  Set Focus To Element  jquery=#cpModalMode table[data-name='reason'] input:eq(1)\n+  Execute JavaScript  (function(){$(\"#cpModalMode table[data-name='reason'] input:eq(1)\").val('');})()\n+  Input Text  jquery=#cpModalMode table[data-name='reason'] input:eq(1)    ${reason}\n+  Press Key  jquery=#cpModalMode table[data-name='reason'] input:eq(1)         \\\\13\n+  click element  xpath=//div[@title=\"Додати\"]\n+  Choose File  id=fileUpload  ${file}\n+  Click Element  xpath=//*[@class=\"dxr-group mygroup\"][1]\n+  click element  xpath=.//*[@data-type=\"TreeView\"]//tbody/tr[2]\n+  click element  xpath=.//*[@data-type=\"TreeView\"]//tbody/tr[2]\n+  Set Focus To Element  jquery=table[data-name='DocumentDescription'] input:eq(0)\n+  Input Text  jquery=table[data-name='DocumentDescription'] input:eq(0)    ${descript}\n+  Press Key  jquery=table[data-name='DocumentDescription'] input:eq(0)  \\\\13\n+  Click Element  jquery=a[title='OK']\n+  Wait Until Page Contains  аукціон буде\n+  Click Element  jquery=#IMMessageBoxBtnYes\n+\n+Отримати посилання на аукціон для глядача\n   [Arguments]  @{ARGUMENTS}\n-  [Documentation]\n-  ...      ${ARGUMENTS[0]} ==  username\n-  ...      ${ARGUMENTS[1]} ==  tenderId\n-  ...      ${ARGUMENTS[2]} ==  id\n-  Switch browser   ${ARGUMENTS[0]}\n-  ${current_location}=   Get Location\n-  ${homepage}=  Set Variable  ${USERS.users['${ARGUMENTS[0]}'].homepage}\n-  Run Keyword If  '${homepage}/#/tenderDetailes/${ARGUMENTS[2]}'=='${current_location}'  Reload Page\n-  Go To  ${homepage}\n-  Wait Until Page Contains   Офіційний майданчик державних закупівель України   10\n-  sleep  1\n-  Input Text   id=j_idt18:datalist:j_idt67  ${ARGUMENTS[1]}\n-  sleep  2\n-  ${last_note_id}=  Add pointy note   jquery=a[href^=\"#/tenderDetailes\"]   Found tender with tenderID \"${ARGUMENTS[1]}\"   width=200  position=bottom\n-  sleep  1\n-  Remove element   ${last_note_id}\n-  Click Link    jquery=a[href^=\"#/tenderDetailes\"]\n-  Wait Until Page Contains    ${ARGUMENTS[1]}   10\n-  sleep  1\n-  Capture Page Screenshot\n+  [Documentation]  Отримує посилання на аукціон для лоту tender_uaid. [Повертає] auctionUrl (посилання).\n+  ...  ${username}  ${tender_uaid}  ${zero}\n+  smarttender.Пошук тендера по ідентифікатору  ${ARGUMENTS[0]}  ${ARGUMENTS[1]}\n+  Click Element  css=#view-auction\n+  Select Window  New\n+  ${href}  Get Location\n+  Close Window\n+  Select Window\n+  #${href}=  Get Element Attribute  css=a#view-auction@href\n+  [Return]  ${href}\n+\n+####################################\n+#        Нецінові показники        #\n+####################################\n+Отримати інформацію із нецінового показника\n+  [Arguments]  ${username}  ${tender_uaid}  ${feature_id}  ${field_name}\n+  [Documentation]  Отримати значення поля field_name з нецінового показника з feature_id в описі для тендера tender_uaid.\n+  ...  [Повертає] feature['field_name']\n+  Відкрити сторінку с потрібним лотом за необхідністю  ${feature_id}\n+  ${response}=  Отримати та обробити дані нецінового показника  ${field_name}  ${feature_id}\n+  Повернутися до тендеру від лоту за необхідністю\n+  [Return]  ${response}\n+\n+Отримати та обробити дані нецінового показника\n+  [Arguments]  ${field_name}  ${feature_id}\n+  ${selector}  non_price_field_info  ${field_name}  ${feature_id}\n+  ${value}=  Run Keyword If\n+  ...  '${field_name}' == 'description'\n+  ...        Get Element Attribute  ${selector}\n+  ...  ELSE\n+  ...        Get Text  ${selector}\n+  ${ret}  convert_result  ${field_name}  ${value}\n+  [Return]  ${ret}\n+\n+Відкрити сторінку с потрібним лотом за необхідністю\n+  [Arguments]  ${id}\n+  ${data}  get_tender_data  ${API_HOST_URL}/api/${API_VERSION}/tenders/${info_idcbd}\n+  ${data}  evaluate  json.loads($data)  json\n+  ${number_of_lots}  Get Length  ${data['data']['lots']}\n+  ${title}  Run Keyword If  '${number_of_lots}' > '1'  Отримати title лоту  ${id}  ${data}\n+  Run Keyword If  '${number_of_lots}' > '1'  Відкрити сторінку  multiple_items  ${title}  ${title}\n+\n+Отримати title лоту\n+  [Arguments]  ${id}  ${data}\n+  ${first letter}  Set Variable  ${id[0]}\n+  ${title}  Run Keyword if  \"${first letter}\" == \"i\"  Get title from items  ${id}  ${data}\n+  ...  ELSE IF  \"${first letter}\" == \"l\"  Set Variable  ${id}\n+  ...  ELSE  debug\n+  [Return]  ${title}\n+\n+Get title from items\n+  [Arguments]  ${id}  ${data}\n+  ${n}  get length  ${data['data']['items']}\n+  :FOR  ${i}  in range  ${n}\n+  \\  ${status}  Run Keyword If  \"${id}\" in \"${data['data']['items'][${i}]['description']}\"  Set Variable  Pass\n+  \\  ${relatedLot}  Run Keyword If  \"${status}\" == \"Pass\"  Set Variable  ${data['data']['items'][${i}]['relatedLot']}\n+  \\  ${title}  Get title by lotid  ${data}  ${relatedLot}\n+  \\  Run Keyword If  \"${status}\" == \"Pass\"  Exit For Loop\n+  [Return]  ${title}\n+\n+Get title by lotid\n+  [Arguments]  ${data}  ${relatedLot}\n+  ${n}  get length  ${data['data']['lots']}\n+  :FOR  ${i}  in range  ${n}\n+  \\  ${status}  Run Keyword If  \"${relatedLot}\" == \"${data['data']['lots'][${i}]['id']}\"  Set Variable  Pass\n+  \\  ${title}  Run Keyword If  \"${status}\" == \"Pass\"  Set Variable  ${data['data']['lots'][${i}]['title']}\n+  \\  Run Keyword If  \"${status}\" == \"Pass\"  Exit For Loop\n+  [Return]  ${title}\n+\n+Повернутися до тендеру від лоту за необхідністю\n+  ${location status}  Run Keyword And Return Status  Location Should Contain  /webparts/\n+  Run Keyword If  '${location status}' == '${True}'  Run Keywords\n+  ...  Go Back\n+  ...  AND  Select Frame  ${iframe}\n+  ...  AND  Розгорнути детальніше\n+\n+####################################\n+#      Робота з документами        #\n+####################################\n+Завантажити документ\n+  [Arguments]  ${username}  ${filepath}  ${tender_uaid}\n+  [Documentation]  Завантажує документ, який знаходиться по шляху filepath, до лоту tender_uaid користувачем username. [Повертає] reply (словник з інформацією про документ).\n+  Завантажити документ власником  ${username}  ${filepath}  ${tender_uaid}\n+  [Teardown]  Закрити вікно редагування_\n+\n+Завантажити документ в тендер з типом\n+  [Arguments]  ${username}  ${tender_uaid}  ${filepath}  ${doc_type}\n+  [Documentation]  [Призначення] Завантажує документ, який знаходиться по шляху filepath і має певний documentType\n+  ...  (наприклад, x_nda, tenderNotice і т.д), до лоту tender_uaid користувачем username.\n+  ...  [Повертає] reply (словник з інформацією про документ).\n+  Pass Execution If  '${role}' == 'provider' or '${role}' == 'viewer'  Даний учасник не може завантажити документ в тендер\n+  Завантажити документ власником_  ${username}  ${filepath}  ${tender_uaid}\n+  Вибрати тип завантаженого документу_  ${doc_type}\n+  [Teardown]  Закрити вікно редагування_\n+\n+Завантажити ілюстрацію\n+  [Arguments]    ${username}  ${tender_uaid}  ${filepath}\n+  [Documentation]  Завантажує ілюстрацію, яка знаходиться по шляху filepath\n+  ...  і має documentType = illustration, до лоту tender_uaid користувачем username.\n+  smarttender.Завантажити документ в тендер з типом  ${username}  ${tender_uaid}  ${filepath}  illustration\n+  [Teardown]  _Закрити вікно редагування\n+\n+Завантажити фінансову ліцензію\n+  [Arguments]  ${user}  ${tenderId}  ${license_path}\n+  [Documentation]  Завантажує фінансову ліцензію, яка знаходиться по шляху filepath\n+  ...  і має documentType = financialLicense, до ставки лоту tender_uaid користувачем username.\n+  ...  Фінансова ліцензія вантажиться до ставок лише для лотів типу dgfFinancialAssets на цбд1.\n+  smarttender.Завантажити документ в ставку  ${user}  ${license_path}  ${tenderId}\n+\n+Завантажити протокол аукціону\n+  [Arguments]  ${user}  ${tenderId}  ${filePath}  ${index}\n+  [Documentation]  Завантажує протокол аукціону, який знаходиться по шляху filepath\n+  ...  і має documentType = auctionProtocol, до ставки кандидата на кваліфікацію лоту tender_uaid користувачем username.\n+  ...  Ставка, до якої потрібно додавати аукціон протоколу визначається за award_index.\n+  ...  [Повертає] reply (словник з інформацією про документ).\n+  Run Keyword  smarttender.Пошук тендера по ідентифікатору  ${user}  ${tenderId}\n+  ${href}=  Get Element Attribute  jquery=div#auctionResults div.row.well:eq(${index}) a.btn.btn-primary@href\n+  Go To  ${href}\n+  Click Element  jquery=a.attachment-button:eq(0)\n+  ${hrefQualification}=  Get Element Attribute  jquery=a.attachment-button:eq(0)@href\n+  go to  ${hrefQualification}\n+  Choose File  jquery=input[name='fieldUploaderTender_TextBox0_Input']:eq(0)    ${filePath}\n+  Click Element  jquery=div#SubmitButton__1_CD\n+  Page Should Contain  Кваліфікаційні документи відправлені\n+\n+Змінити документацію в ставці\n+  [Arguments]  ${username}  ${tender_uaid}  ${doc_data}  ${doc_id}\n+  [Documentation]  Змінити тип документа з doc_id в заголовку в пропозиції\n+  ...  користувача username для тендера tender_uaid.\n+  ...  Дані про новий тип документа знаходяться в doc_data.\n+  ${confidentiality}  Get From Dictionary  ${doc_data.data}  confidentiality\n+  ${confidentialityRationale}  Get From Dictionary  ${doc_data.data}  confidentialityRationale\n+  ${doc}=  create_fake_doc\n+  ${path}  Set Variable  ${doc[0]}\n+  Замінити файл  ${doc_id}  ${path}\n+  Зазначити конфіденційність  ${doc_id}  ${confidentialityRationale}\n+  Подати пропозицію\n+\n+Замінити файл\n+  [Arguments]  ${doc_id}  ${path}\n+  Click Element  xpath=//*[contains(text(), '${doc_id}')]/../../../..//*[@class=\"ivu-tooltip-rel\"]/button\n+  Choose File  xpath=(//input[@type=\"file\"])[1]  ${path}\n+\n+Зазначити конфіденційність\n+  [Arguments]  ${doc_id}  ${confidentialityRationale}\n+  [Documentation]  Зазначує конфіденційність для батька(DOM) документа по ID\n+  Click Element  xpath=//*[contains(text(), '${doc_id}')]/../../../../../preceding-sibling::div[1]//*[@class=\"ivu-switch-inner\"]\n+  Input Text  xpath=//*[contains(text(), '${doc_id}')]/../../../../../preceding-sibling::div[1]//*[@spellcheck]  ${confidentialityRationale}\n+\n+Додати Virtual Data Room\n+  [Arguments]  ${user}  ${tenderId}  ${link}\n+  [Documentation]  Додає посилання на Virtual Data Room vdr_url з назвою title до лоту tender_uaid користувачем username.\n+  ...  Посилання на Virtual Data Room додається лише для лотів типу dgfFinancialAssets на цбд1.\n+  Pass Execution If  '${role}' == 'provider' or '${role}' == 'viewer'  Даний учасник не може завантажити ілюстрацію\n+  Підготуватися до редагування_  ${user}  ${tenderId}\n+  Click Element  ${owner change}\n+  Wait Until Page Contains  Завантаження документації\n+  Click Element  jquery=#cpModalMode li.dxtc-tab:contains('Завантаження документації')\n+  Set Focus To Element  jquery=div#pcModalMode_PWC-1 table[data-name='VDRLINK'] input:eq(0)\n+  Input Text  jquery=div#pcModalMode_PWC-1 table[data-name='VDRLINK'] input:eq(0)  ${link}\n+  Press Key  jquery=div#pcModalMode_PWC-1 table[data-name='VDRLINK'] input:eq(0)  \\\\13\n+  Click Image  jquery=#cpModalMode div.dxrControl_DevEx a:contains('Зберегти') img\n+\n+Додати публічний паспорт активу\n+  [Arguments]  ${user}  ${tenderId}  ${link}\n+  [Documentation]  Додає посилання на публічний паспорт активу certificate_url з назвою title до лоту tender_uaid користувачем username.\n+  Pass Execution If  '${role}' == 'provider' or '${role}' == 'viewer'  Даний учасник не може завантажити паспорт активу\n+  Підготуватися до редагування_  ${user}  ${tenderId}\n+  Click Element  ${owner change}\n+  Wait Until Page Contains  Завантаження документації\n+  Click Element  jquery=#cpModalMode li.dxtc-tab:contains('Завантаження документації')\n+  Set Focus To Element  jquery=div#pcModalMode_PWC-1 table[data-name='PACLINK'] input:eq(0)\n+  Input Text  jquery=div#pcModalMode_PWC-1 table[data-name='PACLINK'] input:eq(0)  ${link}\n+  Press Key  jquery=div#pcModalMode_PWC-1 table[data-name='PACLINK'] input:eq(0)  \\\\13\n+  Click Image  jquery=#cpModalMode div.dxrControl_DevEx a:contains('Зберегти') img\n+\n+Додати офлайн документ\n+  [Arguments]  ${user}  ${tenderId}  ${description}\n+  [Documentation]  Додає документ з назвою title, деталями доступу accessDetails\n+  ...  та строго визначеним documentType = x_dgfAssetFamiliarizationдо лоту tender_uaid користувачем username.\n+  Pass Execution If  '${role}' == 'provider' or '${role}' == 'viewer'  Даний учасник не може додати офлайн документ\n+  Підготуватися до редагування_  ${user}  ${tenderId}\n+  Click Element  ${owner change}\n+  Wait Until Page Contains  Завантаження документації  ${wait}\n+  Click Element  ${add files tab}\n+  Input Text  xpath=(//*[@data-type=\"EditBox\"])[last()]//textarea  ${description}\n+  [Teardown]  Закрити вікно редагування_\n+\n+Отримати інформацію із документа\n+  [Arguments]  ${username}  ${tender_uaid}  ${doc_id}  ${field}\n+  [Documentation]  Отримує значення поля field документа doc_id з лоту tender_uaid\n+  ...  для перевірки правильності відображення цього поля.\n+  ...  [Повертає] document['field'] (значення поля field)\n+  Відкрити сторінку  tender  ${tender_uaid}\n+  ${selector}=  document_fields_info  ${field}  ${doc_id}\n+  ${result}  Get Text  ${selector}\n+  [Return]  ${result}\n+\n+Отримати інформацію із документа по індексу\n+  [Arguments]  ${user}  ${tenderId}  ${doc_index}  ${field}\n+  [Documentation]  [Отримує значення поля field документа з індексом document_index з лоту tender_uaid\n+  ...  для перевірки правильності відображення цього поля.\n+  ...  [Повертає] field_value (значення поля field)\n+  ${result}=  Execute JavaScript  return(function(){ return $(\"div.row.document:eq(${doc_index+1}) span.info_attachment_type:eq(0)\").text();})()\n+  ${resultDoctype}=  map_from_smarttender_document_type  ${result}\n+  [Return]  ${resultDoctype}\n+\n+Отримати документ\n+  [Arguments]  ${username}  ${tender_uaid}  ${doc_id}\n+  [Documentation]  Завантажує файл з doc_id в заголовку з лоту tender_uaid в директорію ${OUTPUT_DIR}\n+  ...  для перевірки вмісту цього файлу.\n+  ...  [Повертає] filename (ім'я завантаженого файлу)\n+  Sleep  180\n+  Reload Page\n+  log  ${mode}\n+  Run Keyword If  \"${mode}\" != \"assets\" and \"${mode}\" != \"lots\"  Відкрити сторінку  tender  ${tender_uaid}\n+  ${fileUrl}=  Get Element Attribute  xpath=//*[contains(text(), '${doc_id}')]@href\n+  ${filename}=  Get Text  xpath=//*[contains(text(), '${doc_id}')]\n+  smarttender_service.download_file  ${fileUrl}  ${OUTPUT_DIR}/${filename}\n+  [Return]  ${filename}\n+\n+Отримати документ до лоту\n+  [Arguments]  ${username}  ${tender_uaid}  ${lot_id}  ${doc_id}\n+  [Documentation]  Завантажити файл doc_id до лоту з lot_id в описі для тендера tender_uaid в директорію ${OUTPUT_DIR} для перевірки вмісту цього файлу.\n+  ...  [Повертає] filename (ім'я завантаженого файлу)\n+  Sleep  180\n+  Reload Page\n+  Відкрити сторінку  tender  ${tender_uaid}\n+  ${fileUrl}=  Get Element Attribute  xpath=//*[contains(text(), '${doc_id}')]@href\n+  ${filename}=  Get Text  xpath=//*[contains(text(), '${doc_id}')]\n+  smarttender_service.download_file  ${fileUrl}  ${OUTPUT_DIR}/${filename}\n+  [Return]  ${ret}\n+\n+####################################\n+#     Робота з активами лоту       #\n+####################################\n+Додати предмет закупівлі\n+  [Arguments]  ${user}  ${tenderId}  ${item}\n+  [Documentation]  Додає дані про предмет item до лоту tender_uaid користувачем username.\n+  ${description}=  Get From Dictionary  ${item}  description\n+  ${quantity}=   Get From Dictionary  ${item}  quantity\n+  ${cpv}=  Get From Dictionary    ${item.classification}  id\n+  ${unit}=  Get From Dictionary  ${item.unit}  name\n+  ${unit}=  smarttender_service.convert_unit_to_smarttender_format  ${unit}\n+  smarttender.Підготуватися до редагування  ${user}  ${tenderId}\n+  click element  ${owner change}\n+  Wait Until Element Contains  jquery=#cpModalMode     Коригування  ${wait}\n+  Page Should Not Contain Element  jquery=#cpModalMode div.gridViewAndStatusContainer a[title='Додати']\n+  [Teardown]  Закрити вікно редагування_\n+\n+Отримати інформацію із предмету\n+  [Arguments]  ${username}  ${tender_uaid}  ${item_id}  ${field_name}\n+  [Documentation]  Отримує значення поля field_name з предмету з item_id в описі лоту tender_uaid.\n+  ...  [Повертає] item['field_name'] (значення поля).\n+  Відкрити сторінку с потрібним лотом за необхідністю  ${item_id}\n+  ${response}=  Отримати та обробити дані із предмету  ${field_name}  ${item_id}\n+  Повернутися до тендеру від лоту за необхідністю\n+  [Return]  ${response}\n+\n+Отримати та обробити дані із предмету\n+  [Arguments]  ${fieldname}  ${id}\n+  ${selector}  item_field_info  ${fieldname}  ${id}\n+  ${value}=  Get Text  ${selector}\n+  ${length}  Get Length  ${value}\n+  Run Keyword If  ${length} == 0  Capture Page Screenshot  ${OUTPUTDIR}/my_screen{index}.png\n+  #${ret}  convert_result  ${fieldname}  ${value}\n+  [Return]  ${value}\n+\n+Видалити предмет закупівлі\n+  [Arguments]  ${user}  ${tenderId}  ${itemId}\n+  [Documentation]  Видаляє з лоту tender_uaid предмет з item_id користувачем username.\n+  ${readyToEdit} =  Execute JavaScript  return(function(){return ((window.location.href).indexOf('webclient') !== -1).toString();})()\n+  Run Keyword If  '${readyToEdit}' != 'true'  Підготуватися до редагування  ${user}  ${tenderId}\n+  Click Element  ${owner change}\n+  Wait Until Element Contains  id=cpModalMode  Коригування  ${wait}\n+  Page Should Not Contain Element  jquery=#cpModalMode a[title='Удалить']\n+  [Teardown]  Закрити вікно редагування_\n+\n+Отримати кількість предметів в тендері\n+  [Arguments]  ${user}  ${tenderId}\n+  [Documentation]  Отримує кількість активів лоту у лоті tender_uaid.\n+  ...  [Повертає] number_of_items (кількість активів лоту).\n+  smarttender.Пошук тендера по ідентифікатору  ${user}  ${tenderId}\n+  ${number_of_items}=  Get Element Count  xpath=//div[@id='home']//div[@class='well']\n+  [Return]  ${number_of_items}\n+\n+####################################\n+# Запитання до лоту і активів лоту #\n+####################################\n+Задати запитання на предмет\n+  [Arguments]  ${username}  ${tender_uaid}  ${item_id}  ${question}\n+  [Documentation]  Створює запитання з даними question до активу лоту з item_id для лоту з tender_uaid користувачем username.\n+  ...  [Повертає] reply (словник з інформацією про запитання).  discuss\n+  ${title}=  Get From Dictionary  ${question.data}  title\n+  ${description}=  Get From Dictionary  ${question.data}  description\n+  Відкрити сторінку  questions  ${tender_uaid}\n+  ${question_data}=  Задати запитання_  ${title}  ${description}  ${item_id}\n+  [Return]  ${question_data}\n+\n+Задати запитання на тендер\n+  [Arguments]  ${username}  ${tender_uaid}  ${question}\n+  [Documentation]  Створює запитання з даними question до лоту з tender_uaid користувачем username.\n+  ...  [Повертає] reply (словник з інформацією про запитання).\n+  ${title}=  Get From Dictionary  ${question.data}  title\n+  ${description}=  Get From Dictionary  ${question.data}  description\n+  Відкрити сторінку  questions  ${tender_uaid}\n+  ${question_data}=  Задати запитання_  ${title}  ${description}  no_id\n+  [Return]  ${question_data}\n+\n+Отримати інформацію із запитання\n+  [Arguments]  ${user}  ${tenderId}  ${objectId}  ${field}\n+  [Documentation]  Отримує значення поля field_name із запитання з question_id в описі для тендера tender_uaid.\n+  ...  [Повертає] question['field_name'] (значення поля).\n+  Fail  it should not work\n+  ${selector}=  question_field_info  ${field}  ${objectId}\n+  Run Keyword And Ignore Error  Відкрити сторінку із даними запитань_\n+  ${ret}=  Execute JavaScript  return (function() { return $(\"${selector}\").text() })()\n+  [Return]  ${ret}\n+\n+Відповісти на запитання\n+  [Arguments]  ${username}  ${tender_uaid}  ${answer_data}  ${question_id}\n+  [Documentation]  Надає відповідь answer_data на запитання з question_id до лоту tender_uaid.\n+  ...  [Повертає] reply (словник з інформацією про відповідь).\n+  Підготуватися до редагування_  ${username}  ${tender_uaid}\n+  ${answerText}=  Get From Dictionary  ${answer_data.data}  answer\n+  Click Element  jquery=#MainSted2PageControl_TENDER ul.dxtc-stripContainer li.dxtc-tab:eq(1)\n+  Wait Until Page Contains  ${question_id}\n+  Input Text  jquery=div[data-placeid='TENDER'] table.hdr:eq(3) tbody tr:eq(1) td:eq(2) input:eq(0)  ${question_id}\n+  Press Key  jquery=div[data-placeid='TENDER'] table.hdr:eq(3) tbody tr:eq(1) td:eq(2) input:eq(0)  \\\\13\n+  Wait Until Element Is Not Visible  ${webClient loading}  ${wait}\n+  Click Image  jquery=.dxrControl_DevEx a[title*='Змінити'] img:eq(0)\n+  Set Focus To Element  jquery=#cpModalMode textarea:eq(0)\n+  Input Text  jquery=#cpModalMode textarea:eq(0)  ${answerText}\n+  Click Element  jquery=#cpModalMode span.dxICheckBox_DevEx:eq(0)\n+  Click Image  jquery=#cpModalMode .dxrControl_DevEx .dxr-buttonItem:eq(0) img\n+  Click Element  jquery=#cpIMMessageBox .dxbButton_DevEx:eq(0)\n+  Wait Until Page Contains  Відповідь надіслана на сервер ЦБД  ${wait}\n+\n+Задати запитання на лот\n+  [Arguments]  ${username}  ${tender_uaid}  ${lot_id}  ${question}\n+  [Documentation]  Створити запитання з даними question до лоту з lot_id в описі для тендера tender_uaid.\n+  ${title}=  Get From Dictionary  ${question.data}  title\n+  ${description}=  Get From Dictionary  ${question.data}  description\n+  Відкрити сторінку  questions  ${tender_uaid}\n+  Задати запитання_  ${title}  ${description}  no_id\n+\n+\n+####################################\n+#       Цінові пропозиції          #\n+####################################\n+Подати цінову пропозицію\n+  [Arguments]  ${username}  ${tender_uaid}  ${bid}  ${lots_ids}=None  ${features_ids}=None\n+  [Documentation]  Подає цінову пропозицію bid до лоту tender_uaid користувачем username.\n+  ...  [Повертає] reply (словник з інформацією про цінову пропозицію).\n+  Відкрити сторінку  proposal  ${tender_uaid}\n+  log  ${mode}\n+  log  ${bid}\n+  log  ${lots_ids}\n+  log  ${features_ids}\n+  ${amount}=  Run Keyword If  'open' in '${mode}'  Get From Dictionary  ${bid.data.lotValues[0].value}  amount\n+  ...  ELSE  Get From Dictionary  ${bid.data.value}  amount\n+  ${amount}=  convert to string  ${amount}\n+  ${parameters}=  Run Keyword If  '${mode}' != 'belowThreshold'  Get From Dictionary  ${bid.data}  parameters\n+  #Пройти кваліфікацію для подачі пропозиції_  ${username}  ${tender_uaid}  ${bid}\n+  Прийняти участь в тендері  ${username}  ${tender_uaid}  ${amount}\n+  ${response}=  Get Value  css=#lotAmount0>input\n+  ${response}=  smarttender_service.delete_spaces  ${response}\n+  [Return]  ${response}\n+\n+Змінити цінову пропозицію\n+  [Arguments]  ${username}  ${tender_uaid}  ${fieldname}  ${fieldvalue}\n+  [Documentation]  Змінює поле fieldname на fieldvalue цінової пропозиції користувача username до лоту tender_uaid.\n+  ...  [Повертає] reply (словник з інформацією про цінову пропозицію)\n+  ${amount}=  convert to string  ${fieldvalue}\n+  Прийняти участь в тендері  ${username}  ${tender_uaid}  ${amount}\n+  ${response}=  Get Value  css=#lotAmount0>input\n+  ${response}=  smarttender_service.delete_spaces  ${response}\n+  [Return]  ${response}\n+\n+Скасувати цінову пропозицію\n+  [Arguments]  ${username}  ${tender_uaid}\n+  [Documentation]  Змінює статус цінової пропозиції до лоту tender_uaid користувача username на cancelled.\n+  ...  [Повертає] reply (словник з інформацією про цінову пропозицію). Цей ківорд реалізовуємо лише для процедур на цбд1.\n+  Відкрити сторінку  proposal  ${tender_uaid}\n+  Unselect Frame\n+  Wait Until Page Contains Element  ${cancellation offers button}\n+  Run Keyword And Ignore Error  Click Element  ${cancellation offers button}\n+  Run Keyword And Ignore Error  Click Element  ${cancel. offers confirm button}\n+  Run Keyword And Ignore Error  Click Element  ${ok button}\n+\n+Завантажити документ в ставку\n+  [Arguments]  ${username}  ${path}  ${tender_uaid}  @{doc_type}\n+  [Documentation]  Завантажує документ типу doc_type, який знаходиться за шляхом path,\n+  ...  до цінової пропозиції користувача username для тендера tender_uaid.\n+  ...  [Повертає] reply (словник з інформацією про завантажений документ).\n+  Choose File  xpath=(//input[@type=\"file\"][1])[1]  ${path}\n+  ${status}  Run Keyword And Return Status  Log  ${doc_type[0]}\n+  ${doc_type}  Run Keyword If  '${status}' == '${True}'  Set Variable  ${doc_type[0]}\n+  Run Keyword If  '${status}' == '${True}'  Вибрати тип файлу  ${doc_type}\n+  Подати пропозицію\n+\n+Вибрати тип файлу\n+    [Arguments]  ${doc_type}\n+    ${doc_type_ua}  map_to_smarttender_document_type  ${doc_type}\n+    Click Element  ${block}[1]${file container}[last()]${choice file button}\n+    Click Element  xpath=(//*[@class='ivu-card ivu-card-bordered'][1]//*[contains(text(), \"${doc_type_ua}\")])[last()]\n+\n+Змінити документ в ставці\n+  [Arguments]  ${username}  ${tender_uaid}  ${path}  ${docid}\n+  [Documentation]  Змінює документ з doc_id в пропозиції користувача username для лоту tender_uaid на документ,\n+  ...  який знаходиться по шляху path.\n+  ...  [Повертає] uploaded_file (словник з інформацією про завантажений документ).\n+  smarttender.Завантажити документ в ставку  ${username}  ${path}  ${tender_uaid}\n+\n+Отримати інформацію із пропозиції\n+  [Arguments]  ${username}  ${tender_uaid}  ${field}\n+  [Documentation]  Отримує значення поля field пропозиції користувача username для лоту tender_uaid.\n+  ...  [Повертає] bid['field'] (значення поля).\n+  ${selector}  proposal_field_info  ${field}\n+  ${ret}  Run Keyword If  '${field}' == 'lotValues[0].value.amount' or '${field}' == 'value.amount'\n+  ...  Отримати інформацію із пропозиції Get Value  ${selector}\n+  ...  ELSE  Отримати інформацію із пропозиції Get Text  ${username}  ${tender_uaid}  ${selector}  ${field}\n+  [Return]  ${ret}\n+\n+Отримати інформацію із пропозиції Get Value\n+  [Arguments]  ${selector}\n+  ${value}  Get Value  ${selector}\n+  ${ret}  delete_spaces  ${value}\n+  [Return]  ${ret}\n+\n+Отримати інформацію із пропозиції Get Text\n+  [Arguments]  ${username}  ${tender_uaid}  ${selector}  ${field}\n+  Відкрити сторінку  proposal  ${tender_uaid}\n+  ${text}  Get Text  ${selector}\n+  ${ret}  smarttender_service.convert_result  ${field}  ${text}\n+  [Return]  ${ret}\n+\n+Отримати кількість документів в ставці\n+  [Arguments]  ${username}  ${tenderId}  ${bidIndex}\n+  [Documentation]  Отримує кількість документів у ціновій пропозиції з індексом bid_index до лоту tender_uaid.\n+  ...  [Повертає] number_of_documents (кількість доданих документів).\n+  Run Keyword  smarttender.Підготуватися до редагування  ${username}  ${tenderId}\n+  Click Element  jquery=#MainSted2TabPageHeaderLabelActive_1\n+  ${normalizedIndex}=  normalize_index  ${bidIndex}  1\n+  Click Element  jquery=div[data-placeid='BIDS'] div.objbox.selectable.objbox-scrollable table tbody tr:eq(${normalizedIndex}) td:eq(2)\n+  Wait Until Page Contains  Вкладення до пропозиції  ${wait}\n+  ${count}=  Execute JavaScript  return(function(){ var counter = 0;var documentSelector = $(\"#cpModalMode tr label:contains('Кваліфікація')\").closest(\"tr\");while (true) { documentSelector = documentSelector.next(); if(documentSelector.length == 0 || documentSelector[0].innerHTML.indexOf(\"label\") === -1){ break;} counter = counter +1;} return counter;})()\n+  [Return]  ${count}\n+\n+Отримати дані із документу пропозиції\n+  [Arguments]  ${username}  ${tender_uaid}  ${bid_index}  ${document_index}  ${field}\n+  [Documentation]  Отримує значення поля field документу з індексом document_index пропозиції bid_index\n+  ...  користувача username для лоту tender_uaid.\n+  ...  [Повертає] field_value (значення поля).\n+  Run Keyword  smarttender.Підготуватися до редагування  ${username}  ${tender_uaid}\n+  Click Element  jquery=#MainSted2TabPageHeaderLabelActive_1\n+  ${normalizedIndex}=  normalize_index  ${bid_index}  1\n+  Click Element  jquery=div[data-placeid='BIDS'] div.objbox.selectable.objbox-scrollable table tbody tr:eq(${normalizedIndex}) td:eq(2)\n+  Wait Until Page Contains  Вкладення до пропозиції  ${wait}\n+  ${selectedType}=  Execute JavaScript  return(function(){ var startElement = $(\"#cpModalMode tr label:contains('Квалификации')\"); var documentSelector = $(startElement).closest(\"tr\").next(); if(${document_index} > 0){ for (i=0;i<=${document_index};i++) {documentSelector = $(documentSelector).next();}}if($(documentSelector).length == 0) {return \"\";} return \"auctionProtocol\";})()\n+  [Return]  ${selectedType}\n+\n+Отримати посилання на аукціон для учасника\n+  [Arguments]  ${username}  ${tender_uaid}\n+  [Documentation]  Отримує посилання на участь в аукціоні для користувача username для лоту tender_uaid.\n+  ...  [Повертає] participationUrl (посилання).\n+  Click Element  css=#tenderDetail button\n+  Select Frame  css=#participate-auction\n+  ${href}  Get Element Attribute  css=a.link-button[class]@href\n+  [Return]  ${href}\n+\n+####################################\n+#     Кваліфікація кандидата       #\n+####################################\n+Завантажити документ рішення кваліфікаційної комісії\n+  [Arguments]  ${username}  ${file_path}  ${tender_uaid}  ${award_num}\n+  [Documentation]  Завантажує документ, який знаходиться по шляху file_path до кандидата під номером award_num для лоту tender_uaid.\n+  ...  [Повертає] doc (словник з інформацією про завантажений документ).\n+  Pass Execution If  '${role}' == 'provider' or '${role}' == 'viewer'  Даний учасник не може підтвердити постачальника\n+  Підготуватися до редагування_  ${username}  ${tender_uaid}\n+  Click Element  jquery=#MainSted2TabPageHeaderLabelActive_1\n+  ${normalizedIndex}=  normalize_index  ${award_num}     1\n+  Click Element  jquery=div[data-placeid='BIDS'] div.objbox.selectable.objbox-scrollable table tbody tr:eq(${normalizedIndex}) td:eq(1)\n+  Click Element  jquery=a[title='Кваліфікація']\n+  Click Element  xpath=//span[text()='Перегляд...']\n+  Choose File  ${choice file path}  ${file_path}\n+  Click Element  ${ok add file}\n+\n+Підтвердити постачальника\n+  [Arguments]  ${username}  ${tender_uaid}  ${award_num}\n+  [Documentation]  Переводить кандидата під номером award_num для лоту tender_uaid в статус active.\n+  ...  [Повертає] reply (словник з інформацією про кандидата).\n+  Pass Execution If  '${role}' == 'provider' or '${role}' == 'viewer'  Даний учасник не може підтвердити постачальника\n+  Підготуватися до редагування  ${username}  ${tender_uaid}\n+  Click Element  jquery=#MainSted2TabPageHeaderLabelActive_1\n+  ${normalizedIndex}=  normalize_index  ${award_num}  1\n+  Click Element  jquery=div[data-placeid='BIDS'] div.objbox.selectable.objbox-scrollable table tbody tr:eq(${normalizedIndex}) td:eq(1)\n+  Click Element  jquery=a[title='Кваліфікація']\n+  Click Element  query=div.dxbButton_DevEx:contains('Підтвердити оплату')\n+  Click Element  jquery=div#IMMessageBoxBtnYes\n+  ${status}=   Execute JavaScript  return  (function() { return $(\"div[data-placeid='BIDS'] tr.rowselected td:eq(5)\").text() } )()\n+  Should Be Equal  '${status}'  'Визначений переможцем'\n+\n+Дискваліфікувати постачальника\n+  [Arguments]  ${username}  ${tender_uaid}  ${award_num}  ${description}\n+  [Documentation]  Переводить кандидата під номером award_num для лоту tender_uaid в статус unsuccessful.\n+  ...  [Повертає] reply (словник з інформацією про кандидата).\n+  Підготуватися до редагування  ${username}  ${tender_uaid}\n+  Click Element  jquery=#MainSted2TabPageHeaderLabelActive_1\n+  ${normalizedIndex}=  normalize_index  ${award_num}  1\n+  Click Element  jquery=div[data-placeid='BIDS'] div.objbox.selectable.objbox-scrollable table tbody tr:eq(${normalizedIndex}) td:eq(1)\n+  Click Element  xpath=//a[@title=\"Кваліфікація\"]\n+  Click Element  jquery=div.dxbButton_DevEx.dxbButtonSys.dxbTSys span:contains('Відхилити пропозицію')\n+  Click Element  id=IMMessageBoxBtnNo_CD\n+  Set Focus To Element  jquery=#cpModalMode textarea\n+  Input Text  jquery=#cpModalMode textarea  ${description}\n+  Click Element  xpath=//span[text()=\"Зберегти\"]\n+  Click Element  id=IMMessageBoxBtnYes_CD\n+\n+Скасування рішення кваліфікаційної комісії\n+  [Arguments]    ${username}    ${tender_uaid}    ${award_num}\n+  [Documentation]  Переводить кандидата під номером award_num для лоту tender_uaid в статус cancelled.\n+  ...  [Повертає] reply (словник з інформацією про кандидата).\n+  Pass Execution If  '${role}' == 'provider' or '${role}' == 'tender_owner'  Доступно тільки для другого учасника\n+  Run Keyword  smarttender.Пошук тендера по ідентифікатору    ${username}  ${tender_uaid}\n+  Click Element  jquery=div#auctionResults div.row.well:eq(${award_num}) div.btn.withdraw:eq(0)\n+  Select Frame  css=iframe#cancelPropositionFrame\n+  Click Element  id=firstYes\n+  Click Element  id=secondYes\n+\n+####################################\n+#      Підписання контракту        #\n+####################################\n+Підтвердити підписання контракту\n+  [Arguments]  ${username}  ${tender_uaid}  ${contract_num}\n+  [Documentation]  Переводить договір під номером contract_num до лоту tender_uaid в статус active.\n+  smarttender.Підготуватися до редагування    ${ARGUMENTS[0]}     ${ARGUMENTS[1]}\n+  Click Element  jquery=div[data-placeid='BIDS'] div.objbox.selectable.objbox-scrollable table tbody tr:contains('Визначений переможцем') td:eq(1)\n+  Click Element  jquery=a[title='Підписати договір']:eq(0)\n+  Click Element  jquery=#IMMessageBoxBtnYes_CD:eq(0)\n+  Click Element  jquery=#IMMessageBoxBtnOK:eq(0)\n+\n+Завантажити угоду до тендера\n+  [Arguments]  ${username}  ${tender_uaid}  ${contract_num}  ${file_path}\n+  [Documentation]  Завантажує до контракту contract_num лоту tender_uaid документ,\n+  ...  який знаходиться по шляху filepath і має documentType = contractSigned, користувачем username.\n+  Run Keyword  smarttender.Підготуватися до редагування  ${username}  ${tender_uaid}\n+  Click Element  jquery=#MainSted2TabPageHeaderLabelActive_1\n+  Click Element  jquery=div[data-placeid='BIDS'] div.objbox.selectable.objbox-scrollable table tbody tr:contains('Визначений переможцем') td:eq(1)\n+  Click Element  jquery=a[title='Прикріпити договір']:eq(0)\n+  Wait Until Page Contains  Вкладення договірних документів\n+  Set Focus To Element  jquery=td.dxic input[maxlength='30']\n+  Input Text  jquery=td.dxic input[maxlength='30']  11111111111111\n+  click element  xpath=//span[text()=\"Перегляд...\"]\n+  Choose File  ${choice file path}  ${ARGUMENTS[3]}\n+  Click Element  ${ok add file}\n+  Click Element  jquery=a[title='OK']:eq(0)\n+  Wait Until Element Is Not Visible  ${webClient loading}  ${wait}\n+\n+################################################\n+#                 OPEN PAGE                    #\n+################################################\n+Відкрити сторінку\n+  [Arguments]  ${page}  ${tender_uaid}=None  ${index}=None\n+  [Documentation]  Відкриває сторінку location або оновлює поточну\n+  ...  tender\n+  ...  questions\n+  ...  cancellation\n+  ...  proposal\n+  ...  awards\n+  ...  claims\n+  ...  item\n+  ...  award_claims\n+  ${location}  ${page}=  location_converter  ${page}\n+  ${status}=  Run Keyword And Return Status  Location Should Contain  ${location}\n+  ${location}  Run keyword if  '${status}' == '${False}'  Run Keywords\n+  ...       Відкрити сторінку tender  ${tender_uaid}\n+  ...  AND  Відкрити сторінку ${page}  ${tender_uaid}  ${index}\n+  ...  ELSE  Get Location\n+\n+Відкрити сторінку tender\n+  [Arguments]  ${tender_uaid}  ${index}=None\n+  ${status}=  Run Keyword And Return Status  Location Should Contain  /publichni-zakupivli-prozorro/\n+  Run Keyword If  \"${status}\" != \"True\"  Відкрити сторінку tender continue  ${tender_uaid}\n+\n+Відкрити сторінку tender continue\n+  [Arguments]  ${tender_uaid}\n+  Run Keyword If  \"${tender_href}\" != \"None\"  Run Keywords\n+  ...       Go To  ${tender_href}\n+  ...  AND  Select Frame  ${iframe}\n+  ...  AND  Розгорнути детальніше\n+  ...  ELSE  Відкрити сторінку tender перший пошук  ${tender_uaid}\n+\n+Відкрити сторінку tender перший пошук\n+  [Arguments]  ${tender_uaid}\n+  Go To  ${path to find tender}\n+  Wait Until page Contains Element  ${find tender field }  ${wait}\n+  Run Keyword If  '${mode}' == 'negotiation' or '${mode}' == 'reporting'\n+  ...  Click Element  css=li:nth-child(2)>a[data-toggle=tab]\n+  Input Text  ${find tender field }  ${tender_uaid}\n+  Press Key  ${find tender field }  \\\\13\n+  Location Should Contain  f=${tender_uaid}\n+  Wait Until Page Contains Element  ${tender found}\n+  ${tender_href}=  Get Element Attribute  ${tender found}@href\n+  Log  ${tender_href}  WARN\n+  Set Global Variable  ${tender_href}\n+  Go To  ${tender_href}\n+  Select Frame  ${iframe}\n+  Розгорнути детальніше\n+  ${info_idcbd}  Get Text  css=.info_idcbd\n+  Set Global Variable  ${info_idcbd}\n+\n+Відкрити сторінку proposal\n+  [Arguments]  ${tender_uaid}=None  ${index}=None\n+  Wait Until Page Contains Element  css=a[class='show-control button-lot']\n+  ${href}=  Get Element Attribute  css=a[class='show-control button-lot']@href\n+  Go To  ${href}\n+  Wait Until Page Contains  Пропозиція\n+\n+Відкрити сторінку questions\n+  [Arguments]  ${tender_uaid}=None  ${index}=None\n+  smarttender.Оновити сторінку з тендером  none  ${tender_uaid}\n+  Click Element  css=span#questionToggle\n+\n+Відкрити сторінку cancellation\n+  [Arguments]  ${tender_uaid}=None  ${index}=None\n+  Click Element  css=a#cancellation\n+  Select Frame  css=#widgetIframe\n+\n+Відкрити сторінку awards\n+  [Arguments]  ${tender_uaid}=None  ${index}=None\n+  Wait Until Page Contains Element  css=a.att-link[href]\n+  ${href}=  Get Element Attribute  css=a.att-link[href]@href\n+  Go To  ${href}\n+  Wait Until Page Contains  Документи\n+\n+Відкрити сторінку claims\n+  [Arguments]  ${tender_uaid}=None  ${index}=None\n+\n+  Wait Until Page Contains Element  ${link to claims}\n+  ${href}=  Get Element Attribute  ${link to claims}@href\n+  Go To  ${href}\n+  Location Should Contain  /AppealNew/\n+\n+Відкрити сторінку award_claims\n+  [Arguments]  ${tender_uaid}  ${award_index}\n+  Wait Until Page Contains Element  xpath=//*[@class='table-proposal']//tr[not(@class='header-row')][${award_index}+1]//td[contains(@class, 'complaint')]/a\n+  ${href}  Get Element Attribute   xpath=//*[@class='table-proposal']//tr[not(@class='header-row')][${award_index}+1]//td[contains(@class, 'complaint')]/a@href\n+  Go To  ${href}\n+  Location Should Contain  /AppealNew/\n+\n+Відкрити сторінку multiple_items\n+  [Arguments]  ${tender_uaid}  ${lot_title}=None\n+  ${href}  Get Element Attribute  xpath=//a[contains(text(), '${lot_title}')]@href\n+  Go To  ${href}\n+\n+################################################\n+#            SMARTTENDER KEYWORDS              #\n+################################################\n+Login_\n+  [Arguments]  ${username}\n+  Click Element  ${open login button}\n+  Input Text  ${login field}  ${USERS.users['${username}'].login}\n+  Input Text  ${password field}  ${USERS.users['${username}'].password}\n+  Click Element  ${remember me}\n+  Click Element  ${login button}\n+  Run Keyword If  '${username}' != 'SmartTender_Owner'\n+  ...  Wait Until Page Contains  ${USERS.users['${username}'].login}  ${wait}\n+  ...  ELSE  Wait Until Element Is Not Visible  ${webClient loading}  ${wait}\n+\n+Click Input Enter Wait\n+  [Arguments]  ${locator}  ${text}\n+  Wait Until Page Contains Element  ${locator}\n+  Sleep  .2  # don't touch\n+  Click Element At Coordinates  ${locator}  10  5\n+  Input Text  ${locator}  ${text}\n+  Press Key  ${locator}  \\\\13\n+  Wait Until Element Is Not Visible  ${webClient loading}  ${wait}\n+  Sleep  .3  # don't touch\n+\n+Отримати та обробити дані із тендера_\n+  [Arguments]  ${fieldname}\n+  Змінити мову  ${fieldname}\n+  ${selector}=  tender_field_info  ${fieldname}\n+  ${get attribute}=  get_attribute  ${fieldname}\n+  Run Keyword If  'suppliers[0].contactPoint.telephone' in '${fieldname}'  Mouse Over  xpath=//table[@class='table-proposal'][1]//td[1]\n+  ${value}=  Run Keyword If  '${get attribute}' == '${True}'  Get Element Attribute  ${selector}\n+  ...  ELSE  Get Text  ${selector}\n+  ${length}  Get Length  ${value}\n+  Run Keyword If  ${length} == 0  Capture Page Screenshot  ${OUTPUTDIR}/my_screen{index}.png\n+  ${ret}=  convert_result  ${fieldname}  ${value}\n+  Змінити мову на ua  ${fieldname}\n+  [Return]  ${ret}\n+\n+Розгорнути детальніше\n+  ${status}  Run Keyword and Return Status  Element Should Be Visible  xpath=(//*[@class='smaller-font']/div[1])[1]\n+  Run Keyword If  '${status}' == 'False'  Розгорнути детальніше continue\n+\n+Розгорнути детальніше continue\n+  ${n}  Get Matching Xpath Count  xpath=//label[@class=\"tooltip-label\"]\n+  ${end}  Evaluate  ${n}+1\n+  :FOR  ${i}  in range  1  ${end}\n+  \\  Click Element  xpath=(//label[@class=\"tooltip-label\"])[${i}]\n+\n+Змінити мову\n+  [Arguments]  ${fieldname}\n+  ${lan}  Run Keyword if\n+  ...           '_en' in '${fieldname}'  Set Variable  en\n+  ...  ELSE IF  '_ru' in '${fieldname}'  Set Variable  ru\n+  ...  ELSE IF  '_ua' in '${fieldname}'  Set Variable  uk\n+  ...  ELSE  Set Variable  default\n+  Run Keyword If  '${lan}' != 'default'  Run Keywords\n+  ...       Unselect Frame\n+  ...  AND  Click Element  ${change language}\n+  ...  AND  Click Element  css=a[href=\"javascript:setLanguage('${lan}');\"]\n+  ...  AND  Sleep  3\n+  ...  AND  Select Frame  css=iframe\n+  ...  AND  Розгорнути детальніше\n+\n+Змінити мову на ua\n+  [Arguments]  ${fieldname}\n+  ${lan}  Run Keyword if\n+  ...           '_en' in '${fieldname}'  Set Variable  en\n+  ...  ELSE IF  '_ru' in '${fieldname}'  Set Variable  ru\n+  ...  ELSE  Set Variable  default\n+  Run Keyword If  '${lan}' != 'default'  Змінити мову  _ua\n+\n+Отримати та обробити дані із лоту_\n+  [Arguments]  ${fieldname}  ${id}\n+  ${selector}  lot_field_info  ${fieldname}  ${id}\n+  ${value}=  Run Keyword If\n+  ...  '${fieldname}' == 'description'  Get Element Attribute  ${selector}@title\n+  ...  ELSE  Get Text  ${selector}\n+  ${length}  Get Length  ${value}\n+  Run Keyword If  ${length} == 0  Capture Page Screenshot  ${OUTPUTDIR}/my_screen{index}.png\n+  ${ret}  convert_result  ${fieldname}  ${value}\n+  [Return]  ${ret}\n+\n+Змінити дані тендера_\n+  [Arguments]  ${field}  ${value}\n+  Click Element  ${owner change}\n+  Wait Until Element Contains  id=cpModalMode  Коригування  ${wait}\n+  ${value}=  convert to string  ${value}\n+  run keyword if  '${field}' == 'guarantee.amount'  Заповнити поле гарантійного внеску_  ${value}\n+  ...  ELSE IF  '${field}' == 'value.amount'  run keywords  Заповнити поле з ціною власником_  ${value}  AND  Заповнити поле з мінімальним кроком аукіону_  ${step_rate}\n+  ...  ELSE IF  '${field}' == 'minimalStep.amount'  Заповнити поле з мінімальним кроком аукіону_  ${value}\n+  ...  ELSE  Fail\n+  [Teardown]  Закрити вікно редагування_\n+\n+Підготуватися до редагування_\n+  [Arguments]  ${USER}  ${TENDER_ID}\n+  Go To  ${USERS.users['${USER}'].homepage}\n+  Click Element  LoginAnchor\n+  Wait Until Element Is Not Visible  ${webClient loading}  ${wait}\n+  Run Keyword And Ignore Error  Click Element  id=IMMessageBoxBtnNo_CD\n+  Wait Until Page Contains element  ${orenda}\n+  Click Element  ${orenda}\n+  Wait Until Page Contains  Тестові аукціони на продаж\n+  Click Input Enter Wait  css=div[data-placeid='TENDER'] td:nth-child(4) input:nth-child(1)  ${TENDER_ID}\n+\n+Закрити вікно редагування_\n+  [Documentation]  Закриває вікно та ігнорує помилки\n+  Click Element  css=div.dxpnlControl_DevEx a[title='Зберегти'] img\n+  Run Keyword And Ignore Error  Закрити вікно з помилкою_\n+  Run Keyword And Ignore Error  Click Element  css=#IMMessageBoxBtnOK:nth-child(1)\n+  Run Keyword And Ignore Error  Click Element  xpath=//*[@id=\"cpModalMode\"]//*[text()='Записати']\n+  Run Keyword And Ignore Error  Click Element  id=IMMessageBoxBtnOK_CD\n+\n+Завантажити документ власником_\n+  [Arguments]  ${username}  ${filepath}  ${tender_uaid}\n+  ${status}=  Run Keyword And Return Status  Location Should Contain  webclient\n+  Run Keyword If  '${status}' == '${False}'  smarttender.Підготуватися до редагування_  ${username}  ${tender_uaid}\n+  Click Element  ${owner change}\n+  Wait Until Page Contains  Завантаження документації  ${wait}\n+  Click Element  ${add files tab}\n+  Wait Until Page Contains Element  ${add file button}\n+  Click Element  ${add file button}\n+  Choose File  ${choice file path}  ${filepath}\n+  Click Element  ${ok add file}\n+\n+Вибрати тип завантаженого документу_\n+  [Arguments]  ${doc_type}\n+  ${documentTypeNormalized}=  map_to_smarttender_document_type  ${doc_type}\n+  Click Element  xpath=(//*[text()=\"Інший тип\"])[last()-1]\n+  Click Element  xpath=(//*[text()=\"Інший тип\"])[last()-1]\n+  Click Element  xpath=(//*[text()=\"${documentTypeNormalized}\"])[2]\n+\n+Задати запитання_\n+  [Arguments]  ${title}  ${description}  ${item_id}\n+  Відкрити бланк запитання_  ${item_id}\n+  Wait Until Element Is Not Visible  ${wraploading}  ${wait}\n+  Заповнити дані для запитання_  ${title}  ${description}\n+  Wait Until Element Is Not Visible  ${your request is sending}  ${wait}\n+  Закрити вікно ваше запитання успішно надіслане_\n+\n+Відкрити бланк запитання_\n+  [Arguments]  ${item_id}\n+  Run Keyword if  '${item_id}' == 'no_id'\n+  ...    Відкрити бланк запитання без id\n+  ...  ELSE\n+  ...    Відкрити бланк запитання з id  ${item_id}\n+\n+Відкрити бланк запитання без id\n+  Wait Until Keyword Succeeds  10  2  Click Element  css=#questions span[role=\"presentation\"]\n+  Click Element  css=.select2-results li:nth-child(2)\n+  Click Element  id=add-question\n+\n+Відкрити бланк запитання з id\n+  [Arguments]  ${item_id}\n+  Click Element  jquery=#select2-question-relation-container:eq(0)\n+  Input Text  jquery=.select2-search__field:eq(0)  ${item_id}\n+  Press Key  jquery=.select2-search__field:eq(0)  \\\\13\n+  Click Element  jquery=input#add-question\n+\n+Заповнити дані для запитання_\n+  [Arguments]  ${title}  ${description}\n+  Select Frame  css=iframe#questionIframe\n+  Run Keyword And Ignore Error  Wait Until Element Is Not Visible  ${loading}  20\n+  ${status}  ${message}  Run Keyword And Ignore Error  Wait Until Page Contains Element  id=subject\n+  Run Keyword If  '${status}' == 'FAIL'  Run Keywords\n+  ...       Reload Page\n+  ...  AND  Select Frame  css=i","path":"smarttender.robot","position":null,"original_position":1659,"commit_id":"6c2c95dd42c72e6a7a029d6e9f8ba4d7e9a25d25","original_commit_id":"82b05e1eeeb4fe015e2debb62c8449ab0bae9872","user":{"login":"OrysiaDrabych","id":22743749,"node_id":"MDQ6VXNlcjIyNzQzNzQ5","avatar_url":"https://avatars1.githubusercontent.com/u/22743749?v=4","gravatar_id":"","url":"https://api.github.com/users/OrysiaDrabych","html_url":"https://github.com/OrysiaDrabych","followers_url":"https://api.github.com/users/OrysiaDrabych/followers","following_url":"https://api.github.com/users/OrysiaDrabych/following{/other_user}","gists_url":"https://api.github.com/users/OrysiaDrabych/gists{/gist_id}","starred_url":"https://api.github.com/users/OrysiaDrabych/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/OrysiaDrabych/subscriptions","organizations_url":"https://api.github.com/users/OrysiaDrabych/orgs","repos_url":"https://api.github.com/users/OrysiaDrabych/repos","events_url":"https://api.github.com/users/OrysiaDrabych/events{/privacy}","received_events_url":"https://api.github.com/users/OrysiaDrabych/received_events","type":"User","site_admin":false},"body":"зайве","created_at":"2018-06-11T15:15:25Z","updated_at":"2018-06-11T15:16:40Z","html_url":"https://github.com/openprocurement/robot_tests.broker.smarttender/pull/26#discussion_r194441637","pull_request_url":"https://api.github.com/repos/openprocurement/robot_tests.broker.smarttender/pulls/26","author_association":"NONE","_links":{"self":{"href":"https://api.github.com/repos/openprocurement/robot_tests.broker.smarttender/pulls/comments/194441637"},"html":{"href":"https://github.com/openprocurement/robot_tests.broker.smarttender/pull/26#discussion_r194441637"},"pull_request":{"href":"https://api.github.com/repos/openprocurement/robot_tests.broker.smarttender/pulls/26"}}},"pull_request":{"url":"https://api.github.com/repos/openprocurement/robot_tests.broker.smarttender/pulls/26","id":193951134,"node_id":"MDExOlB1bGxSZXF1ZXN0MTkzOTUxMTM0","html_url":"https://github.com/openprocurement/robot_tests.broker.smarttender/pull/26","diff_url":"https://github.com/openprocurement/robot_tests.broker.smarttender/pull/26.diff","patch_url":"https://github.com/openprocurement/robot_tests.broker.smarttender/pull/26.patch","issue_url":"https://api.github.com/repos/openprocurement/robot_tests.broker.smarttender/issues/26","number":26,"state":"open","locked":false,"title":"initial eauction_ssp","user":{"login":"Djuper","id":25694326,"node_id":"MDQ6VXNlcjI1Njk0MzI2","avatar_url":"https://avatars1.githubusercontent.com/u/25694326?v=4","gravatar_id":"","url":"https://api.github.com/users/Djuper","html_url":"https://github.com/Djuper","followers_url":"https://api.github.com/users/Djuper/followers","following_url":"https://api.github.com/users/Djuper/following{/other_user}","gists_url":"https://api.github.com/users/Djuper/gists{/gist_id}","starred_url":"https://api.github.com/users/Djuper/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Djuper/subscriptions","organizations_url":"https://api.github.com/users/Djuper/orgs","repos_url":"https://api.github.com/users/Djuper/repos","events_url":"https://api.github.com/users/Djuper/events{/privacy}","received_events_url":"https://api.github.com/users/Djuper/received_events","type":"User","site_admin":false},"body":"\n\n<!-- Reviewable:start -->\nThis change is [<img src=\"https://reviewable.io/review_button.svg\" height=\"34\" align=\"absmiddle\" alt=\"Reviewable\"/>](https://reviewable.io/reviews/openprocurement/robot_tests.broker.smarttender/26)\n<!-- Reviewable:end -->\n","created_at":"2018-06-11T11:25:37Z","updated_at":"2018-06-11T15:16:40Z","closed_at":null,"merged_at":null,"merge_commit_sha":"f0ef1a149e845aa60c7f1e7a453e6d1c31d23d90","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/openprocurement/robot_tests.broker.smarttender/pulls/26/commits","review_comments_url":"https://api.github.com/repos/openprocurement/robot_tests.broker.smarttender/pulls/26/comments","review_comment_url":"https://api.github.com/repos/openprocurement/robot_tests.broker.smarttender/pulls/comments{/number}","comments_url":"https://api.github.com/repos/openprocurement/robot_tests.broker.smarttender/issues/26/comments","statuses_url":"https://api.github.com/repos/openprocurement/robot_tests.broker.smarttender/statuses/6c2c95dd42c72e6a7a029d6e9f8ba4d7e9a25d25","head":{"label":"Djuper:eauction_ssp","ref":"eauction_ssp","sha":"6c2c95dd42c72e6a7a029d6e9f8ba4d7e9a25d25","user":{"login":"Djuper","id":25694326,"node_id":"MDQ6VXNlcjI1Njk0MzI2","avatar_url":"https://avatars1.githubusercontent.com/u/25694326?v=4","gravatar_id":"","url":"https://api.github.com/users/Djuper","html_url":"https://github.com/Djuper","followers_url":"https://api.github.com/users/Djuper/followers","following_url":"https://api.github.com/users/Djuper/following{/other_user}","gists_url":"https://api.github.com/users/Djuper/gists{/gist_id}","starred_url":"https://api.github.com/users/Djuper/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Djuper/subscriptions","organizations_url":"https://api.github.com/users/Djuper/orgs","repos_url":"https://api.github.com/users/Djuper/repos","events_url":"https://api.github.com/users/Djuper/events{/privacy}","received_events_url":"https://api.github.com/users/Djuper/received_events","type":"User","site_admin":false},"repo":{"id":136915764,"node_id":"MDEwOlJlcG9zaXRvcnkxMzY5MTU3NjQ=","name":"robot_tests.broker.smarttender","full_name":"Djuper/robot_tests.broker.smarttender","owner":{"login":"Djuper","id":25694326,"node_id":"MDQ6VXNlcjI1Njk0MzI2","avatar_url":"https://avatars1.githubusercontent.com/u/25694326?v=4","gravatar_id":"","url":"https://api.github.com/users/Djuper","html_url":"https://github.com/Djuper","followers_url":"https://api.github.com/users/Djuper/followers","following_url":"https://api.github.com/users/Djuper/following{/other_user}","gists_url":"https://api.github.com/users/Djuper/gists{/gist_id}","starred_url":"https://api.github.com/users/Djuper/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Djuper/subscriptions","organizations_url":"https://api.github.com/users/Djuper/orgs","repos_url":"https://api.github.com/users/Djuper/repos","events_url":"https://api.github.com/users/Djuper/events{/privacy}","received_events_url":"https://api.github.com/users/Djuper/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/Djuper/robot_tests.broker.smarttender","description":null,"fork":true,"url":"https://api.github.com/repos/Djuper/robot_tests.broker.smarttender","forks_url":"https://api.github.com/repos/Djuper/robot_tests.broker.smarttender/forks","keys_url":"https://api.github.com/repos/Djuper/robot_tests.broker.smarttender/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Djuper/robot_tests.broker.smarttender/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Djuper/robot_tests.broker.smarttender/teams","hooks_url":"https://api.github.com/repos/Djuper/robot_tests.broker.smarttender/hooks","issue_events_url":"https://api.github.com/repos/Djuper/robot_tests.broker.smarttender/issues/events{/number}","events_url":"https://api.github.com/repos/Djuper/robot_tests.broker.smarttender/events","assignees_url":"https://api.github.com/repos/Djuper/robot_tests.broker.smarttender/assignees{/user}","branches_url":"https://api.github.com/repos/Djuper/robot_tests.broker.smarttender/branches{/branch}","tags_url":"https://api.github.com/repos/Djuper/robot_tests.broker.smarttender/tags","blobs_url":"https://api.github.com/repos/Djuper/robot_tests.broker.smarttender/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Djuper/robot_tests.broker.smarttender/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Djuper/robot_tests.broker.smarttender/git/refs{/sha}","trees_url":"https://api.github.com/repos/Djuper/robot_tests.broker.smarttender/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Djuper/robot_tests.broker.smarttender/statuses/{sha}","languages_url":"https://api.github.com/repos/Djuper/robot_tests.broker.smarttender/languages","stargazers_url":"https://api.github.com/repos/Djuper/robot_tests.broker.smarttender/stargazers","contributors_url":"https://api.github.com/repos/Djuper/robot_tests.broker.smarttender/contributors","subscribers_url":"https://api.github.com/repos/Djuper/robot_tests.broker.smarttender/subscribers","subscription_url":"https://api.github.com/repos/Djuper/robot_tests.broker.smarttender/subscription","commits_url":"https://api.github.com/repos/Djuper/robot_tests.broker.smarttender/commits{/sha}","git_commits_url":"https://api.github.com/repos/Djuper/robot_tests.broker.smarttender/git/commits{/sha}","comments_url":"https://api.github.com/repos/Djuper/robot_tests.broker.smarttender/comments{/number}","issue_comment_url":"https://api.github.com/repos/Djuper/robot_tests.broker.smarttender/issues/comments{/number}","contents_url":"https://api.github.com/repos/Djuper/robot_tests.broker.smarttender/contents/{+path}","compare_url":"https://api.github.com/repos/Djuper/robot_tests.broker.smarttender/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Djuper/robot_tests.broker.smarttender/merges","archive_url":"https://api.github.com/repos/Djuper/robot_tests.broker.smarttender/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Djuper/robot_tests.broker.smarttender/downloads","issues_url":"https://api.github.com/repos/Djuper/robot_tests.broker.smarttender/issues{/number}","pulls_url":"https://api.github.com/repos/Djuper/robot_tests.broker.smarttender/pulls{/number}","milestones_url":"https://api.github.com/repos/Djuper/robot_tests.broker.smarttender/milestones{/number}","notifications_url":"https://api.github.com/repos/Djuper/robot_tests.broker.smarttender/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Djuper/robot_tests.broker.smarttender/labels{/name}","releases_url":"https://api.github.com/repos/Djuper/robot_tests.broker.smarttender/releases{/id}","deployments_url":"https://api.github.com/repos/Djuper/robot_tests.broker.smarttender/deployments","created_at":"2018-06-11T11:16:26Z","updated_at":"2018-06-11T11:16:27Z","pushed_at":"2018-06-11T15:15:08Z","git_url":"git://github.com/Djuper/robot_tests.broker.smarttender.git","ssh_url":"git@github.com:Djuper/robot_tests.broker.smarttender.git","clone_url":"https://github.com/Djuper/robot_tests.broker.smarttender.git","svn_url":"https://github.com/Djuper/robot_tests.broker.smarttender","homepage":null,"size":149,"stargazers_count":0,"watchers_count":0,"language":"RobotFramework","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"license":{"key":"apache-2.0","name":"Apache License 2.0","spdx_id":"Apache-2.0","url":"https://api.github.com/licenses/apache-2.0","node_id":"MDc6TGljZW5zZTI="},"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"openprocurement:eauction_ssp","ref":"eauction_ssp","sha":"15b9eed2380eaba4701c9d0c3a778b1d07701377","user":{"login":"openprocurement","id":8692431,"node_id":"MDEyOk9yZ2FuaXphdGlvbjg2OTI0MzE=","avatar_url":"https://avatars2.githubusercontent.com/u/8692431?v=4","gravatar_id":"","url":"https://api.github.com/users/openprocurement","html_url":"https://github.com/openprocurement","followers_url":"https://api.github.com/users/openprocurement/followers","following_url":"https://api.github.com/users/openprocurement/following{/other_user}","gists_url":"https://api.github.com/users/openprocurement/gists{/gist_id}","starred_url":"https://api.github.com/users/openprocurement/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/openprocurement/subscriptions","organizations_url":"https://api.github.com/users/openprocurement/orgs","repos_url":"https://api.github.com/users/openprocurement/repos","events_url":"https://api.github.com/users/openprocurement/events{/privacy}","received_events_url":"https://api.github.com/users/openprocurement/received_events","type":"Organization","site_admin":false},"repo":{"id":50535419,"node_id":"MDEwOlJlcG9zaXRvcnk1MDUzNTQxOQ==","name":"robot_tests.broker.smarttender","full_name":"openprocurement/robot_tests.broker.smarttender","owner":{"login":"openprocurement","id":8692431,"node_id":"MDEyOk9yZ2FuaXphdGlvbjg2OTI0MzE=","avatar_url":"https://avatars2.githubusercontent.com/u/8692431?v=4","gravatar_id":"","url":"https://api.github.com/users/openprocurement","html_url":"https://github.com/openprocurement","followers_url":"https://api.github.com/users/openprocurement/followers","following_url":"https://api.github.com/users/openprocurement/following{/other_user}","gists_url":"https://api.github.com/users/openprocurement/gists{/gist_id}","starred_url":"https://api.github.com/users/openprocurement/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/openprocurement/subscriptions","organizations_url":"https://api.github.com/users/openprocurement/orgs","repos_url":"https://api.github.com/users/openprocurement/repos","events_url":"https://api.github.com/users/openprocurement/events{/privacy}","received_events_url":"https://api.github.com/users/openprocurement/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/openprocurement/robot_tests.broker.smarttender","description":null,"fork":false,"url":"https://api.github.com/repos/openprocurement/robot_tests.broker.smarttender","forks_url":"https://api.github.com/repos/openprocurement/robot_tests.broker.smarttender/forks","keys_url":"https://api.github.com/repos/openprocurement/robot_tests.broker.smarttender/keys{/key_id}","collaborators_url":"https://api.github.com/repos/openprocurement/robot_tests.broker.smarttender/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/openprocurement/robot_tests.broker.smarttender/teams","hooks_url":"https://api.github.com/repos/openprocurement/robot_tests.broker.smarttender/hooks","issue_events_url":"https://api.github.com/repos/openprocurement/robot_tests.broker.smarttender/issues/events{/number}","events_url":"https://api.github.com/repos/openprocurement/robot_tests.broker.smarttender/events","assignees_url":"https://api.github.com/repos/openprocurement/robot_tests.broker.smarttender/assignees{/user}","branches_url":"https://api.github.com/repos/openprocurement/robot_tests.broker.smarttender/branches{/branch}","tags_url":"https://api.github.com/repos/openprocurement/robot_tests.broker.smarttender/tags","blobs_url":"https://api.github.com/repos/openprocurement/robot_tests.broker.smarttender/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/openprocurement/robot_tests.broker.smarttender/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/openprocurement/robot_tests.broker.smarttender/git/refs{/sha}","trees_url":"https://api.github.com/repos/openprocurement/robot_tests.broker.smarttender/git/trees{/sha}","statuses_url":"https://api.github.com/repos/openprocurement/robot_tests.broker.smarttender/statuses/{sha}","languages_url":"https://api.github.com/repos/openprocurement/robot_tests.broker.smarttender/languages","stargazers_url":"https://api.github.com/repos/openprocurement/robot_tests.broker.smarttender/stargazers","contributors_url":"https://api.github.com/repos/openprocurement/robot_tests.broker.smarttender/contributors","subscribers_url":"https://api.github.com/repos/openprocurement/robot_tests.broker.smarttender/subscribers","subscription_url":"https://api.github.com/repos/openprocurement/robot_tests.broker.smarttender/subscription","commits_url":"https://api.github.com/repos/openprocurement/robot_tests.broker.smarttender/commits{/sha}","git_commits_url":"https://api.github.com/repos/openprocurement/robot_tests.broker.smarttender/git/commits{/sha}","comments_url":"https://api.github.com/repos/openprocurement/robot_tests.broker.smarttender/comments{/number}","issue_comment_url":"https://api.github.com/repos/openprocurement/robot_tests.broker.smarttender/issues/comments{/number}","contents_url":"https://api.github.com/repos/openprocurement/robot_tests.broker.smarttender/contents/{+path}","compare_url":"https://api.github.com/repos/openprocurement/robot_tests.broker.smarttender/compare/{base}...{head}","merges_url":"https://api.github.com/repos/openprocurement/robot_tests.broker.smarttender/merges","archive_url":"https://api.github.com/repos/openprocurement/robot_tests.broker.smarttender/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/openprocurement/robot_tests.broker.smarttender/downloads","issues_url":"https://api.github.com/repos/openprocurement/robot_tests.broker.smarttender/issues{/number}","pulls_url":"https://api.github.com/repos/openprocurement/robot_tests.broker.smarttender/pulls{/number}","milestones_url":"https://api.github.com/repos/openprocurement/robot_tests.broker.smarttender/milestones{/number}","notifications_url":"https://api.github.com/repos/openprocurement/robot_tests.broker.smarttender/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/openprocurement/robot_tests.broker.smarttender/labels{/name}","releases_url":"https://api.github.com/repos/openprocurement/robot_tests.broker.smarttender/releases{/id}","deployments_url":"https://api.github.com/repos/openprocurement/robot_tests.broker.smarttender/deployments","created_at":"2016-01-27T20:26:55Z","updated_at":"2017-12-15T15:34:31Z","pushed_at":"2018-06-11T15:15:20Z","git_url":"git://github.com/openprocurement/robot_tests.broker.smarttender.git","ssh_url":"git@github.com:openprocurement/robot_tests.broker.smarttender.git","clone_url":"https://github.com/openprocurement/robot_tests.broker.smarttender.git","svn_url":"https://github.com/openprocurement/robot_tests.broker.smarttender","homepage":null,"size":291,"stargazers_count":1,"watchers_count":1,"language":"RobotFramework","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":7,"mirror_url":null,"archived":false,"open_issues_count":2,"license":{"key":"apache-2.0","name":"Apache License 2.0","spdx_id":"Apache-2.0","url":"https://api.github.com/licenses/apache-2.0","node_id":"MDc6TGljZW5zZTI="},"forks":7,"open_issues":2,"watchers":1,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/openprocurement/robot_tests.broker.smarttender/pulls/26"},"html":{"href":"https://github.com/openprocurement/robot_tests.broker.smarttender/pull/26"},"issue":{"href":"https://api.github.com/repos/openprocurement/robot_tests.broker.smarttender/issues/26"},"comments":{"href":"https://api.github.com/repos/openprocurement/robot_tests.broker.smarttender/issues/26/comments"},"review_comments":{"href":"https://api.github.com/repos/openprocurement/robot_tests.broker.smarttender/pulls/26/comments"},"review_comment":{"href":"https://api.github.com/repos/openprocurement/robot_tests.broker.smarttender/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/openprocurement/robot_tests.broker.smarttender/pulls/26/commits"},"statuses":{"href":"https://api.github.com/repos/openprocurement/robot_tests.broker.smarttender/statuses/6c2c95dd42c72e6a7a029d6e9f8ba4d7e9a25d25"}},"author_association":"NONE"}}
{"actor":{"display_login":"OrysiaDrabych"}}