Commit db621957234dbc547c366ca3fa0505566671da81

Authored by Playtenders
1 parent 4d58a5c2

add question\answer create claim add bid

@@ -140,3 +140,111 @@ Resource playtender_tende @@ -140,3 +140,111 @@ Resource playtender_tende
140 open tender page by uaid ${tender_uaid} 140 open tender page by uaid ${tender_uaid}
141 ${value} = get tender field value by name ${field_name} 141 ${value} = get tender field value by name ${field_name}
142 [Return] ${value} 142 [Return] ${value}
  143 +
  144 +Внести зміни в тендер
  145 + [Arguments] ${username} ${tender_uaid} ${fieldname} ${fieldvalue}
  146 + [Documentation] Змінити значення поля fieldname на fieldvalue для плана із зазначеним plan_uaid.
  147 +
  148 + ${tender_data} = generate dictionary from field path and value ${fieldname} ${fieldvalue}
  149 + open tender form by uaid ${tender_uaid}
  150 + fill tender form ${tender_data}
  151 + save tender form and wait synchronization
  152 +
  153 +Додати предмет закупівлі
  154 + [Arguments] ${username} ${tender_uaid} ${item_data}
  155 +
  156 + open tender form by uaid ${tender_uaid}
  157 + ${items} = create list ${item_data}
  158 + fill tender form items ${items}
  159 + save tender form and wait synchronization
  160 +
  161 +Завантажити документ
  162 + [Arguments] ${username} ${filepath} ${tender_uaid}
  163 + [Documentation] Завантажити документ, який знаходиться по шляху filepath, до тендера tender_uaid.
  164 +
  165 + open tender form by uaid ${tender_uaid}
  166 + add document in tender ${filepath}
  167 + save tender form and wait synchronization
  168 +
  169 +Завантажити документ в лот
  170 + [Arguments] ${username} ${filepath} ${tender_uaid} ${lot_id}
  171 + [Documentation] Завантажити документ, який знаходиться по шляху filepath, до лоту з lot_id в описі для тендера tender_uaid.
  172 +
  173 + open tender form by uaid ${tender_uaid}
  174 + add document in lot ${filepath} ${lot_id}
  175 + save tender form and wait synchronization
  176 +
  177 +Відповісти на запитання
  178 + [Arguments] ${username} ${tender_uaid} ${answer_data} ${question_id}
  179 + [Documentation] Дати відповідь answer_data на запитання з question_id в описі для тендера tender_uaid.
  180 +
  181 + open tender form by uaid ${tender_uaid}
  182 + answer question ${answer_data} ${question_id}
  183 +# save tender form and wait synchronization
  184 +
  185 +Задати запитання на предмет
  186 + [Arguments] ${username} ${tender_uaid} ${item_id} ${question}
  187 + [Documentation] Створити запитання з даними question до предмету з item_id в описі для тендера tender_uaid.
  188 +
  189 + Задати запитання ${username} ${tender_uaid} item ${item_id} ${question}
  190 +
  191 +Задати запитання на лот
  192 + [Arguments] ${username} ${tender_uaid} ${lot_id } ${question}
  193 + [Documentation] Створити запитання з даними question до лоту з lot_id в описі для тендера tender_uaid.
  194 +
  195 + Задати запитання ${username} ${tender_uaid} lot ${lot_id} ${question}
  196 +
  197 +Задати запитання на тендер
  198 + [Arguments] ${username} ${tender_uaid} ${question}
  199 + [Documentation] Створити запитання з даними question для тендера tender_uaid.
  200 +
  201 + Задати запитання ${username} ${tender_uaid} tender null ${question}
  202 +
  203 +Створити вимогу про виправлення умов закупівлі
  204 + [Arguments] ${username} ${tender_uaid} ${claim} ${doc_name}
  205 + [Documentation] Створити запитання з даними question для тендера tender_uaid.
  206 + Run Keyword And Return Створити вимогу ${username} ${tender_uaid} tender null ${claim} ${doc_name}
  207 +
  208 +Створити чернетку вимоги про виправлення умов закупівлі
  209 + [Arguments] ${username} ${tender_uaid} ${claim}
  210 + [Documentation] Створює вимогу claim про виправлення умов закупівлі у статусі claim для тендера tender_uaid. Можна створити вимогу як з документом, який знаходиться за шляхом document, так і без нього.
  211 + Run Keyword And Return Створити вимогу ${username} ${tender_uaid} tender null ${claim} null
  212 +
  213 +Створити вимогу про виправлення умов лоту
  214 + [Arguments] ${username} ${tender_uaid} ${claim} ${lot_id} ${doc_name}
  215 + [Documentation] Створює вимогу claim про виправлення умов лоту у статусі draft для тендера tender_uaid.
  216 + Run Keyword And Return Створити вимогу ${username} ${tender_uaid} lot ${lot_id} ${claim} ${doc_name}
  217 +
  218 +Створити чернетку вимоги про виправлення умов лоту
  219 + [Arguments] ${username} ${tender_uaid} ${claim} ${lot_id}
  220 + [Documentation] Створює вимогу claim про виправлення умов закупівлі у статусі draft для тендера tender_uaid.
  221 + Run Keyword And Return Створити вимогу ${username} ${tender_uaid} lot ${lot_id} ${claim} null
  222 +
  223 +Створити вимогу про виправлення визначення переможця
  224 + [Arguments] ${username} ${tender_uaid} ${claim} ${proposal_id} ${doc_name}
  225 + [Documentation] Створює вимогу claim про виправлення визначення переможця під номером award_index в статусі claim для тендера tender_uaid. Можна створити вимогу як з документом, який знаходиться за шляхом document, так і без нього.
  226 + Run Keyword And Return Створити вимогу ${username} ${tender_uaid} winner ${proposal_id} ${claim} ${doc_name}
  227 +
  228 +Створити чернетку вимоги про виправлення визначення переможця
  229 + [Arguments] ${username} ${tender_uaid} ${claim} ${proposal_id}
  230 + [Documentation] Створює вимогу claim про виправлення визначення переможця під номером award_index в статусі draft для тендера tender_uaid.
  231 + Run Keyword And Return Створити вимогу ${username} ${tender_uaid} winner ${proposal_id} ${claim} null
  232 +
  233 +Подати цінову пропозицію
  234 + [Arguments] ${username} ${tender_uaid} ${bid} ${lots_ids} ${features_ids}
  235 + [Documentation] Подати цінову пропозицію bid для тендера tender_uaid на лоти lots_ids (якщо lots_ids != None) з неціновими показниками features_ids (якщо features_ids != None).
  236 +
  237 + open tender form by uaid ${tender_uaid}
  238 + fill bid form ${tender_uaid} ${bid} ${lots_ids} ${features_ids}
  239 + submit form and check result ${bid_form_submit_btn_locator} ${bid_form_submit_success_msg} ${tender_created_checker_element_locator}
  240 + wait until page does not contain element with reloading ${tender_sync_element_locator}
  241 +
  242 +Змінити цінову пропозицію
  243 + [Arguments] ${username} ${tender_uaid} ${fieldname} ${fieldvalue}
  244 + [Documentation] Змінити поле fieldname на fieldvalue цінової пропозиції користувача username для тендера tender_uaid.
  245 +
  246 + open tender form by uaid ${tender_uaid}
  247 + fill bid form edit ${fieldname} ${fieldvalue}
  248 + submit form and check result ${bid_form_submit_btn_locator} ${bid_form_submit_success_msg} ${tender_created_checker_element_locator}
  249 + wait until page does not contain element with reloading ${tender_sync_element_locator}
  250 +
@@ -61,7 +61,7 @@ fill item form in opened popup @@ -61,7 +61,7 @@ fill item form in opened popup
61 ${description_ru} = get from dictionary by keys ${data} description_ru 61 ${description_ru} = get from dictionary by keys ${data} description_ru
62 run keyword if condition is not none ${description_ru} input text to exist visible input ${item_form_popup_description_ru_input_locator} ${description_ru} 62 run keyword if condition is not none ${description_ru} input text to exist visible input ${item_form_popup_description_ru_input_locator} ${description_ru}
63 ${description_en} = get from dictionary by keys ${data} description_en 63 ${description_en} = get from dictionary by keys ${data} description_en
64 - run keyword if condition is not none ${description_en} input text to exist visible input ${item_form_popup_description_ru_input_locator} ${description_en} 64 + run keyword if condition is not none ${description_en} input text to exist visible input ${item_form_popup_description_en_input_locator} ${description_en}
65 ${quantity} = get from dictionary by keys ${data} quantity 65 ${quantity} = get from dictionary by keys ${data} quantity
66 run keyword if condition is not none ${quantity} input number to visible input ${item_form_popup_quantity_input_locator} ${quantity} 66 run keyword if condition is not none ${quantity} input number to visible input ${item_form_popup_quantity_input_locator} ${quantity}
67 ${unit} = get from dictionary by keys ${data} unit name 67 ${unit} = get from dictionary by keys ${data} unit name
@@ -210,10 +210,15 @@ select classification by array of code attributes @@ -210,10 +210,15 @@ select classification by array of code attributes
210 ${exclude_schemes_is_none}= get variable is none ${exclude_schemes} 210 ${exclude_schemes_is_none}= get variable is none ${exclude_schemes}
211 211
212 open popup by btn locator ${btn_locator} ${classification_popup_opened_content_locator} 212 open popup by btn locator ${btn_locator} ${classification_popup_opened_content_locator}
  213 + Capture Page Screenshot
213 :FOR ${code_attributes} IN @{code_attributes_array} 214 :FOR ${code_attributes} IN @{code_attributes_array}
214 \ ${disabled} = set variable if ${include_schemes_is_none} == ${False} and '${code_attributes['scheme']}' not in ${include_schemes} ${True} ${False} 215 \ ${disabled} = set variable if ${include_schemes_is_none} == ${False} and '${code_attributes['scheme']}' not in ${include_schemes} ${True} ${False}
  216 + \ Capture Page Screenshot
215 \ ${disabled} = set variable if ${exclude_schemes_is_none} == ${False} and '${code_attributes['scheme']}' in ${exclude_schemes} ${True} ${disabled} 217 \ ${disabled} = set variable if ${exclude_schemes_is_none} == ${False} and '${code_attributes['scheme']}' in ${exclude_schemes} ${True} ${disabled}
  218 + \ Capture Page Screenshot
216 \ run keyword if ${disabled} == ${False} __private__select_classification_code_in_opened_popup ${code_attributes['id']} ${code_attributes['scheme']} 219 \ run keyword if ${disabled} == ${False} __private__select_classification_code_in_opened_popup ${code_attributes['id']} ${code_attributes['scheme']}
  220 + \ Capture Page Screenshot
  221 + Capture Page Screenshot
217 submit current visible popup 222 submit current visible popup
218 223
219 open site page and wait content element 224 open site page and wait content element
@@ -338,7 +343,6 @@ Click and wait for the search @@ -338,7 +343,6 @@ Click and wait for the search
338 ... wanted_locator: What are we waiting for 343 ... wanted_locator: What are we waiting for
339 ... timeout: Timeout 344 ... timeout: Timeout
340 Press key ${click_locator} \\13 345 Press key ${click_locator} \\13
341 -# Sleep 3  
342 Wait Until Page Contains Element ${wanted_locator} ${timeout} 346 Wait Until Page Contains Element ${wanted_locator} ${timeout}
343 ######################################################################################################################## 347 ########################################################################################################################
344 ################################################### PRIVATE KEYWORDS ################################################### 348 ################################################### PRIVATE KEYWORDS ###################################################
@@ -402,6 +406,7 @@ __private__select_classification_code_in_opened_popup @@ -402,6 +406,7 @@ __private__select_classification_code_in_opened_popup
402 run keyword if ${scheme_tab_exists} == ${True} click visible element ${scheme_tab_locator} 406 run keyword if ${scheme_tab_exists} == ${True} click visible element ${scheme_tab_locator}
403 run keyword if ${scheme_tab_exists} == ${True} wait until tab content is visible ${scheme_tab_locator} 407 run keyword if ${scheme_tab_exists} == ${True} wait until tab content is visible ${scheme_tab_locator}
404 ... ELSE __private__log Classification scheme tab ${scheme} does not exist 408 ... ELSE __private__log Classification scheme tab ${scheme} does not exist
  409 + wait until popup is visible
405 # seraching code 410 # seraching code
406 input text to visible input and press enter ${classification_popup_search_input_locator} ${code} 411 input text to visible input and press enter ${classification_popup_search_input_locator} ${code}
407 ${code} = convert to string ${code} 412 ${code} = convert to string ${code}
@@ -266,3 +266,15 @@ def prepare_tender_data(data): @@ -266,3 +266,15 @@ def prepare_tender_data(data):
266 del data['milestones'] 266 del data['milestones']
267 267
268 return data 268 return data
  269 +
  270 +def split_agreementDuration(str, type):
  271 + if type in 'year':
  272 + year_temp = str.split('Y',1)
  273 + value = year_temp[0].split('P',1)
  274 + elif type in 'month':
  275 + month_temp = str.split('M',1)
  276 + value = month_temp[0].split('Y',1)
  277 + else:
  278 + day_temp = str.split('D',1)
  279 + value = day_temp[0].split('M',1)
  280 + return value[1]
@@ -9,11 +9,36 @@ open new tender form @@ -9,11 +9,36 @@ open new tender form
9 9
10 open page and wait element by locator ${broker_baseurl}/tender/create ${tender_form_locator} 10 open page and wait element by locator ${broker_baseurl}/tender/create ${tender_form_locator}
11 11
  12 +update tender queue
  13 + [Documentation] запускає оновлення планів з ЦБД і додає їх в чергу, тобто синхронізація може відбутися не відразу
  14 + ... поточна сторіка повертається
  15 +
  16 + ${current_url} = get location
  17 + go to ${broker_baseurl}/utils/queue-tender-update
  18 + go to ${current_url}
  19 +
  20 +open tender form by uaid
  21 + [Arguments] ${tender_uaid}
  22 + [Documentation] відкриття сторінки редагування плану
  23 +
  24 + open tender page by uaid ${tender_uaid}
  25 + click visible element and wait until page contains element ${tender_edit_btn_locator} ${tender_form_locator}
  26 +
12 open tender page by uaid 27 open tender page by uaid
13 [Arguments] ${uaid} 28 [Arguments] ${uaid}
14 [Documentation] відкриває сторінку з тендером 29 [Documentation] відкриває сторінку з тендером
15 30
16 - open page and wait element by locator ${broker_baseurl}/tender/${uaid} ${tender_view_checker_element_locator} 31 +# open page and wait element by locator ${broker_baseurl}/tender/${uaid} ${tender_view_checker_element_locator}
  32 + open site page and wait content element ${broker_baseurl}/tender/${uaid}
  33 + ${is_tender_found} = get is element exist ${tender_view_checker_element_locator}
  34 + return from keyword if ${is_tender_found} == ${True}
  35 + ${is_tender_not_found} = get is 404 page
  36 + ${is_needed_to_update_and_wait_sync} = set variable if ${is_test_role_owner} == ${False} and ${is_tender_not_found} ${True} ${False}
  37 + run keyword if ${is_needed_to_update_and_wait_sync} update tender queue
  38 + run keyword if ${is_needed_to_update_and_wait_sync} wait until 404 page disappears
  39 + ${is_tender_found} = get is element exist ${tender_view_checker_element_locator}
  40 + run keyword if ${is_tender_found} == ${False} fail Opening tender page by uaid fails.
  41 +
17 42
18 fill tender form 43 fill tender form
19 [Arguments] ${data} 44 [Arguments] ${data}
@@ -37,7 +62,7 @@ fill tender general info @@ -37,7 +62,7 @@ fill tender general info
37 62
38 ${procurement_method_type} = get from dictionary by keys ${data} procurementMethodType 63 ${procurement_method_type} = get from dictionary by keys ${data} procurementMethodType
39 run keyword if condition is not none ${procurement_method_type} select from visible list by value ${tender_form_procurement_method_type_input_locator} ${procurement_method_type} 64 run keyword if condition is not none ${procurement_method_type} select from visible list by value ${tender_form_procurement_method_type_input_locator} ${procurement_method_type}
40 - wait until page does not contain element ${button_refresh_element} 65 + wait until page does not contain element ${popup_dynamic_form_loading_element_locator}
41 66
42 ${lots} = get from dictionary by keys ${data} lots 67 ${lots} = get from dictionary by keys ${data} lots
43 run keyword if condition is not none ${lots} Run Keyword And Ignore Error Click Element ${tender_multilot_locator} 68 run keyword if condition is not none ${lots} Run Keyword And Ignore Error Click Element ${tender_multilot_locator}
@@ -84,6 +109,18 @@ fill tender general info @@ -84,6 +109,18 @@ fill tender general info
84 run keyword if condition is not none ${funding_kind} select from visible list by value ${tender_form_general_funding_kind_input_locator} ${funding_kind} 109 run keyword if condition is not none ${funding_kind} select from visible list by value ${tender_form_general_funding_kind_input_locator} ${funding_kind}
85 ${nbu_discount_rate} = get from dictionary by keys ${data} NBUdiscountRate 110 ${nbu_discount_rate} = get from dictionary by keys ${data} NBUdiscountRate
86 run keyword if condition is not none ${nbu_discount_rate} input number to exist visible input ${tender_form_general_nbu_discount_rate_input_locator} ${nbu_discount_rate} 111 run keyword if condition is not none ${nbu_discount_rate} input number to exist visible input ${tender_form_general_nbu_discount_rate_input_locator} ${nbu_discount_rate}
  112 +#closeframework
  113 + ${max_awards_count} = get from dictionary by keys ${data} maxAwardsCount
  114 + run keyword if condition is not none ${max_awards_count} input text to exist visible input ${tender_form_general_max_awards_count_input_locator} ${max_awards_count}
  115 + ${agreement_duration_years} = get from dictionary by keys ${data} agreementDuration
  116 + ${agreement_duration_years1}= Run keyword If '${agreement_duration_years}' != '${None}' split_agreementDuration ${agreement_duration_years} year
  117 + run keyword if condition is not none ${agreement_duration_years} select from visible list by value ${tender_form_general_agreement_duration_years_input_locator} ${agreement_duration_years1}
  118 + ${agreement_duration_months} = get from dictionary by keys ${data} agreementDuration
  119 + ${agreement_duration_months1}= Run keyword If '${agreement_duration_months}' != '${None}' split_agreementDuration ${agreement_duration_months} month
  120 + run keyword if condition is not none ${agreement_duration_months} select from visible list by value ${tender_form_general_agreement_duration_months_input_locator} ${agreement_duration_months1}
  121 + ${agreement_duration_days} = get from dictionary by keys ${data} agreementDuration
  122 + ${agreement_duration_days1}= Run keyword If '${agreement_duration_days}' != '${None}' split_agreementDuration ${agreement_duration_years} day
  123 + run keyword if condition is not none ${agreement_duration_days} select from visible list by value ${tender_form_general_agreement_duration_days_input_locator} ${agreement_duration_days1}
87 submit current visible popup 124 submit current visible popup
88 125
89 fill tender form items 126 fill tender form items
@@ -125,7 +162,7 @@ fill tender form milestones @@ -125,7 +162,7 @@ fill tender form milestones
125 wait until popup is visible 162 wait until popup is visible
126 :FOR ${milestone_attributes} IN @{milestone_attributes_array} 163 :FOR ${milestone_attributes} IN @{milestone_attributes_array}
127 \ click visible element ${milestone_form_popup_add_btn_locator} 164 \ click visible element ${milestone_form_popup_add_btn_locator}
128 - \ wait until page does not contain element ${button_refresh_element} 165 + \ wait until page does not contain element ${popup_dynamic_form_loading_element_locator}
129 \ fill milestone form in opened popup ${milestone_attributes} 166 \ fill milestone form in opened popup ${milestone_attributes}
130 submit current visible popup 167 submit current visible popup
131 168
@@ -154,7 +191,7 @@ fill tender form features @@ -154,7 +191,7 @@ fill tender form features
154 wait until popup is visible 191 wait until popup is visible
155 :FOR ${feature_attributes} IN @{feature_attributes_array} 192 :FOR ${feature_attributes} IN @{feature_attributes_array}
156 \ click visible element ${tender_form_features_panel_edit_btn_locator} 193 \ click visible element ${tender_form_features_panel_edit_btn_locator}
157 - \ wait until page does not contain element ${button_refresh_element} 194 + \ wait until page does not contain element ${popup_dynamic_form_loading_element_locator}
158 \ fill feature form in opened popup ${feature_attributes} 195 \ fill feature form in opened popup ${feature_attributes}
159 submit current visible popup 196 submit current visible popup
160 197
@@ -166,11 +203,16 @@ fill feature form in opened popup @@ -166,11 +203,16 @@ fill feature form in opened popup
166 run keyword if condition is not none ${title} input text to exist visible input ${feature_form_popup_title_input_locator} ${title} 203 run keyword if condition is not none ${title} input text to exist visible input ${feature_form_popup_title_input_locator} ${title}
167 ${description} = get from dictionary by keys ${data} description 204 ${description} = get from dictionary by keys ${data} description
168 run keyword if condition is not none ${description} input text to exist visible input ${feature_form_popup_description_input_locator} ${description} 205 run keyword if condition is not none ${description} input text to exist visible input ${feature_form_popup_description_input_locator} ${description}
  206 + ${title_en} = get from dictionary by keys ${data} title_en
  207 + run keyword if condition is not none ${title_en} input text to exist visible input ${feature_form_popup_title_en_input_locator} ${title_en}
  208 + ${description_en} = get from dictionary by keys ${data} description
  209 + run keyword if condition is not none ${description_en} input text to exist visible input ${feature_form_popup_description_en_input_locator} ${description_en}
169 ${options} = Get From Dictionary ${data} enum 210 ${options} = Get From Dictionary ${data} enum
170 ${count} = Get Length ${options} 211 ${count} = Get Length ${options}
171 ${ex}= Evaluate ${count} - 1 212 ${ex}= Evaluate ${count} - 1
172 : FOR ${INDEX} IN RANGE 0 ${count} 213 : FOR ${INDEX} IN RANGE 0 ${count}
173 \ run keyword if condition is not none ${options[${INDEX}].title} input text to exist visible input ${feature_form_popup_enum_title_input_locator} ${options[${INDEX}].title} 214 \ run keyword if condition is not none ${options[${INDEX}].title} input text to exist visible input ${feature_form_popup_enum_title_input_locator} ${options[${INDEX}].title}
  215 +# \ run keyword if condition is not none ${options[${INDEX}].title_en} input text to exist visible input ${feature_form_popup_enum_title_en_input_locator} ${options[${INDEX}].title_en}
174 \ ${value} = convert_float_to_string ${options[${INDEX}].value} 216 \ ${value} = convert_float_to_string ${options[${INDEX}].value}
175 \ ${value} = Convert To Number ${value} 217 \ ${value} = Convert To Number ${value}
176 \ ${value} = multiply_hundred ${value} 218 \ ${value} = multiply_hundred ${value}
@@ -178,7 +220,7 @@ fill feature form in opened popup @@ -178,7 +220,7 @@ fill feature form in opened popup
178 \ run keyword if condition is not none ${options[${INDEX}].value} input text to exist visible input ${feature_form_popup_enum_value_input_locator} ${value} 220 \ run keyword if condition is not none ${options[${INDEX}].value} input text to exist visible input ${feature_form_popup_enum_value_input_locator} ${value}
179 \ Continue For Loop If '${INDEX}' == '${ex}' 221 \ Continue For Loop If '${INDEX}' == '${ex}'
180 \ Run Keyword If ${count} != 1 click visible element ${feature_form_popup_add-enums_btn_locator} 222 \ Run Keyword If ${count} != 1 click visible element ${feature_form_popup_add-enums_btn_locator}
181 - \ wait until page does not contain element ${button_refresh_element} 223 + \ wait until page does not contain element ${popup_dynamic_form_loading_element_locator}
182 224
183 fill tender form lots 225 fill tender form lots
184 [Arguments] ${lot_attributes_array} 226 [Arguments] ${lot_attributes_array}
@@ -228,8 +270,8 @@ fill tender required documents @@ -228,8 +270,8 @@ fill tender required documents
228 270
229 ${file_path} ${file_name} ${file_content} = create_fake_doc 271 ${file_path} ${file_name} ${file_content} = create_fake_doc
230 click visible element ${tender_form_general_panel_add_document_btn_locator} 272 click visible element ${tender_form_general_panel_add_document_btn_locator}
231 - choose file ${add_file_to_form} ${file_path}  
232 - wait until page does not contain element ${button_refresh_element} 273 + choose file ${add_file_to_form_locator} ${file_path}
  274 + wait until page does not contain element ${popup_dynamic_form_loading_element_locator}
233 submit current visible popup 275 submit current visible popup
234 276
235 open tender search form 277 open tender search form
@@ -239,5 +281,182 @@ open tender search form @@ -239,5 +281,182 @@ open tender search form
239 281
240 get tender field value by name 282 get tender field value by name
241 [Arguments] ${key} 283 [Arguments] ${key}
242 - [Documentation] Отримати інформацію із тендера, користуючись ідентіфікатором плану та назвою поля ${key}. 284 + [Documentation] Отримати інформацію із тендера, користуючись ідентіфікатором тендеру та назвою поля ${key}.
  285 +
  286 +
  287 +save tender form and wait synchronization
  288 + [Documentation] натискає кнопку "Зберегти" і чекає синхронізації тендеру
  289 +
  290 + submit form and check result ${tender_form_submit_btn_locator} ${tender_form_submit_success_msg} ${tender_created_checker_element_locator}
  291 + wait until page does not contain element with reloading ${tender_sync_element_locator}
  292 +
  293 +add document in tender
  294 + [Arguments] ${filepath}
  295 + [Documentation] Завантажити документ, який знаходиться по шляху filepath.
  296 +
  297 + click visible element ${tender_form_general_panel_edit_add_document_btn_locator}
  298 + choose file ${add_file_to_form_locator} ${filepath}
  299 + wait until page does not contain element ${popup_dynamic_form_loading_element_locator}
  300 + submit current visible popup
  301 +
  302 +add document in lot
  303 + [Arguments] ${filepath} ${lot_id}
  304 + [Documentation] Завантажити в лот (з ідентіфікатором ${lot_id}) документ, який знаходиться по шляху filepath.
  305 +
  306 + ${open_form_add_doc_lot_btn_locator} = replace string ${tender_form_lot_panel_add_document_btn_locator_tpl} %lot_id% ${lot_id}
  307 + click visible element ${open_form_add_doc_lot_btn_locator}
  308 + choose file ${add_file_to_form_locator} ${filepath}
  309 + wait until page does not contain element ${popup_dynamic_form_loading_element_locator}
  310 + submit current visible popup
  311 +
  312 +Задати запитання
  313 + [Arguments] ${username} ${tender_uaid} ${type} ${type_id} ${question}
  314 + [Documentation] Створити запитання з question в описі для тендера tender_uaid.
  315 +# run keyword and ignore error save tender form and wait synchronization
  316 + click visible element ${question_form_create_question_btn_locator}
  317 + wait until popup is visible
  318 + input text to exist visible input ${question_form_open_form_answer_input_locator} ${answer_data.data.answer}
  319 + Run Keyword If '${type}' == 'tender' Select From List By Value ${question_form_create_questionform_related_of_input_locator} Закупівля
  320 + Run Keyword If '${type}' == 'lot' Select From List By Value ${question_form_create_questionform_related_of_input_locator} Лот
  321 + Run Keyword If '${type}' == 'lot' Click Element ${question_form_create_questionform_related_lot_input_locator}
  322 + ${question_form_create_questionform_related_lot_input_locator} = Run Keyword If '${type}' == 'lot' replace string ${question_form_create_questionform_related_lot_input_locator_tpl} %type_id% ${type_id}
  323 + Run Keyword If '${type}' == 'lot' Click Element ${question_form_create_questionform_related_lot_input_locator}
  324 + Run Keyword If '${type}' == 'item' Select From List By Value ${question_form_create_questionform_related_of_input_locator} Предмет закупівлі
  325 + Run Keyword If '${type}' == 'item' Click Element ${question_form_create_questionform_related_item_input_locator}
  326 + ${question_form_create_questionform_related_item_input_locator} = Run Keyword If '${type}' == 'item' replace string ${question_form_create_questionform_related_item_input_locator_tpl} %type_id% ${type_id}
  327 + Run Keyword If '${type}' == 'item' Click Element ${question_questionform_related_item_input_locator}
  328 + input text to exist visible input ${question_form_create_questionform_title_input_locator} ${question.data.title}
  329 + input text to exist visible input ${question_form_create_questionform_description_input_locator} ${question.data.description}
  330 + click visible element ${question_form_answer_submit_btn_locator}
  331 + wait until page does not contain element with reloading ${tender_sync_element_locator}
  332 +
  333 +answer question
  334 + [Arguments] ${answer_data} ${question_id}
  335 + [Documentation] Дати відповідь answer_data на запитання з question_id в описі для тендера tender_uaid.
  336 +
  337 + run keyword and ignore error save tender form and wait synchronization
  338 + click visible element ${question_form_open_btn_locator}
  339 + ${question_open_form_answer_locator} = replace string ${question_open_form_answer_btn_locator_tpl} %title% ${question_id}
  340 + wait until page contains element with reloading ${question_open_form_answer_locator}
  341 + ${question_form_open_form_answer_btn_locator} = replace string ${question_form_open_form_answer_btn_locator_tpl} %title% ${question_id}
  342 + click visible element ${question_form_open_form_answer_btn_locator}
  343 + wait until popup is visible
  344 + input text to exist visible input ${question_form_open_form_answer_input_locator} ${answer_data.data.answer}
  345 +# click visible element ${question_form_answer_submit_btn_locator}
  346 + submit form and check result ${question_form_answer_submit_btn_locator} ${question_form_submit_success_msg} ${tender_created_checker_element_locator}
  347 +
  348 +Створити вимогу
  349 + [Arguments] ${username} ${tender_uaid} ${type} ${type_id} ${claim} ${doc_name}
  350 + [Documentation] Створити вимогу з claim в описі для тендера tender_uaid.
  351 +
  352 + click visible element ${claim_form_open_btn_locator}
  353 + wait until popup is visible
  354 + input text to exist visible input ${claim_form_complaintform_title_input_locator} ${claim.data.title}
  355 + input text to exist visible input ${claim_form_complaintform_description_input_locator} ${claim.data.description}
  356 + Run Keyword And Ignore Error Run Keyword If '${type}' == 'tender' Select From List By Label ${claim_form_complaintform_related_of_input_locator} Закупівля
  357 + Run Keyword And Ignore Error Run Keyword If '${type}' == 'lot' Select From List By Label ${claim_form_complaintform_related_of_input_locator} Лот
  358 + Run Keyword And Ignore Error Run Keyword If '${type}' == 'lot' Click Element ${claim_form_complaintform_related_lot_input_locator}
  359 + ${claim_form_complaintform_related_lot_select_locator} = Run Keyword If '${type}' == 'lot' replace string ${claim_form_complaintform_related_lot_input_locator_tpl} %type_id% ${type_id}
  360 + Run Keyword And Ignore Error Run Keyword If '${type}' == 'lot' Click Element ${claim_form_complaintform_related_lot_select_locator}
  361 + Run Keyword And Ignore Error Select From List By Label ${claim_form_complaintform_complaintform_type_input_locator} Вимога
  362 + Run Keyword If '${doc_name}' != 'null' click visible element ${claim_form_complaintform_document_btn_locator}
  363 + Run Keyword If '${doc_name}' != 'null' choose file ${add_file_to_form_locator} ${doc_name}
  364 + Run Keyword If '${doc_name}' != 'null' wait until page does not contain element ${popup_dynamic_form_loading_element_locator}
  365 +# Run Keyword If '${doc_name}' != 'null' submit current visible popup
  366 + submit form and check result ${claim_form_complaintform_submit_btn_locator} ${tender_form_submit_success_msg} ${tender_created_checker_element_locator}
  367 +# Функция ожидания claim_uaid_text_locator соответствующей вимоги
  368 + click visible element ${claim_form_open_btn_locator}
  369 + ${return_value}= Get Element Attribute ${claim_uaid_text_locator}
  370 + ${return_value}= Convert To String ${return_value}
  371 + [return] ${return_value}
  372 +
  373 +
  374 +fill bid form
  375 + [Arguments] ${tender_uaid} ${bid} ${lots_ids} ${features_ids}
  376 + [Documentation] Подати цінову пропозицію bid для тендера tender_uaid на лоти lots_ids (якщо lots_ids != None) з неціновими показниками features_ids (якщо features_ids != None).
  377 +
  378 + click visible element ${bid_form_open_btn_locator}
  379 + wait until popup is visible
  380 + ${value} = get from dictionary by keys ${bid} value amount
  381 + ${amount} = run keyword if condition is not none ${value} convert_float_to_string ${bid.data.value.amount}
  382 + run keyword if condition is not none ${value} input number to exist visible input ${bid_form_value_amount_input_locator} ${amount}
  383 + ${value_yearly_payments_percentage} = get from dictionary by keys ${bid} value yearlyPaymentsPercentage
  384 + ${yearly_payments_percentage} = run keyword if condition is not none ${value_yearly_payments_percentage} convert_float_to_string ${bid.data.value.yearlyPaymentsPercentage}
  385 + run keyword if condition is not none ${value} input number5 to exist visible input ${bid_form_value_yearly_payments_percentage_input_locator} ${yearly_payments_percentage}
  386 + ${contract_duration_years} = get from dictionary by keys ${bid} value contractDuration years
  387 + run keyword if condition is not none ${contract_duration_years} input text to exist visible input ${bid_form_value_contract_duration_years_input_locator} ${bid.data.value.contractDuration.years}
  388 + ${contract_duration_days} = get from dictionary by keys ${bid} value contractDuration days
  389 + run keyword if condition is not none ${contract_duration_days} input text to exist visible input ${bid_form_value_contract_duration_days_input_locator} ${bid.data.value.contractDuration.days}
  390 + ${annual_costs_reduction} = get from dictionary by keys ${bid} value annualCostsReduction
  391 + run keyword if condition is not none ${annual_costs_reduction} Подати цінову пропозицію Esco AnnualCostsReduction ${value.annualCostsReduction}
  392 +# ${lots} = get from dictionary by keys ${data} lots
  393 + run keyword if condition is not none ${lots_ids} fill bid form lots ${bid}
  394 +# run keyword if condition is none ${lots_ids} fill bid form whithout lots ${bid}
  395 +# ${features} = get from dictionary by keys ${data} features
  396 +# run keyword if condition is not none ${features_ids} fill bid form features ${bid} ${tender_form_general_panel_add_feature_btn_locator}
  397 + fill bid required documents_all
  398 + submit form and check result ${bid_form_submit_btn_locator} ${bid_form_submit_success_msg} ${tender_created_checker_element_locator}
  399 +
  400 +fill bid form lots
  401 + [Arguments] ${bid} ${lots_ids} ${features_ids}
  402 + [Documentation] Заповнити лотову цінову пропозицію bid для тендера tender_uaid на лоти lots_ids з неціновими показниками features_ids (якщо features_ids != None).
  403 +
  404 + ${lots} = get from dictionary by keys ${bid} lotValues
  405 + ${lots_length} = Get Length ${lots}
  406 + : FOR ${INDEX} IN RANGE 0 ${lots_length}
  407 + \ ${amount} = convert_float_to_string ${bid.data.value.amount}
  408 + \ run keyword and ignore error input number to exist visible input ${bid_form_value_amount_input_locator} ${amount}
  409 + \ ${self_qualified} = get from dictionary by keys ${bid} selfQualified
  410 + \ run keyword and ignore error ${self_qualified} click visible element ${bid_form_value_self_qualified_input_locator}
  411 + \ ${self_eligible} = get from dictionary by keys ${bid} selfEligible
  412 + \ run keyword if condition is not none ${self_eligible} click visible element ${bid_form_value_self_eligible_input_locator}
  413 + \ run keyword if condition is not none ${features_ids} fill bid form features ${bid.data.parameters}
  414 +
  415 +fill bid form features
  416 + [Arguments] ${bid_parameters}
  417 + [Documentation] Заповнити нецінові показники цінової пропозиції.
  418 +
  419 + ${features_length} = Get Length ${bid_parameters}
  420 + : FOR ${INDEX} IN RANGE 0 ${features_length}
  421 + \ ${bid_form_feature_input_locator} replace string ${bid_form_feature_input_locator_tpl} %title% ${features[${INDEX}]['code']}
  422 + \ Run Keyword And Ignore Error click visible element ${bid_form_feature_input_locator}
  423 + \ Run Keyword And Ignore Error Select From List By Label ${bid_form_feature_input_locator} ${features[${INDEX}]['value']}
  424 +
  425 +Подати цінову пропозицію Esco AnnualCostsReduction
  426 + [Arguments] ${values}
  427 + [Documentation] Заповнити цінову пропозицію Esco (параметр AnnualCostsReduction).
  428 +
  429 + ${input_index }= set variable 1
  430 + : FOR ${value} IN @{values}
  431 + \ ${bid_form_value_annual_costs_reduction_input_locator} replace string ${bid_form_value_annual_costs_reduction_input_locator_tpl} %index% ${input_index}
  432 + \ input float ${bid_form_value_annual_costs_reduction_input_locator} ${value}
  433 + \ ${input_index} = evaluate ${input_index} + 1
  434 +
  435 +fill bid required documents_all
  436 + [Arguments] ${values}
  437 + [Documentation] Додати фейковий документ до цінової пропозиції при створенні.
  438 +
  439 + ${file_path} ${file_name} ${file_content} = create_fake_doc
  440 + click visible element ${bid_form_add_document_all_btn_locator}
  441 + choose file ${add_file_to_form_locator} ${file_path}
  442 + wait until element is visible ${bid_form_add_document_type_input_locator} ${waiting_timeout} ${waiting_error}
  443 +# submit current visible popup
  444 + Run Keyword And Ignore Error Select From List By Value ${bid_form_add_document_type_input_locator} qualificationDocuments
  445 + click visible element ${bid_form_add_document_description_btn_locator}
  446 + wait until element is visible ${bid_form_add_document_description_input_locator} ${waiting_timeout} ${waiting_error}
  447 + input text to exist visible input ${bid_form_add_document_description_input_locator} test2
  448 + click visible element ${bid_form_add_document_close_description_btn_locator}
  449 +
  450 +fill bid form edit
  451 + [Arguments] ${tender_uaid} ${fieldname} ${fieldvalue}
  452 + [Documentation] Змінити поле fieldname на fieldvalue цінової пропозиції користувача username для тендера tender_uaid.
  453 +
  454 + click visible element ${bid_form_open_btn_locator}
  455 + wait until popup is visible
  456 + Run Keyword If '${fieldname}' == 'lotValues[0].value.amount' and '${mode}' != 'esco' Run Keywords
  457 + ... ${amount} = convert_float_to_string ${fieldvalue}
  458 + ... input number to exist visible input ${bid_form_value_amount_input_locator} ${amount}
  459 + submit form and check result ${bid_form_submit_btn_locator} ${bid_form_submit_edit_success_msg} ${tender_created_checker_element_locator}
  460 +
  461 +
243 462
@@ -92,7 +92,7 @@ ${plan_search_form_query_input_locator} = jquery=#plan @@ -92,7 +92,7 @@ ${plan_search_form_query_input_locator} = jquery=#plan
92 ${plan_search_form_result_locator_tpl} = jquery=#plan-list .lots__item .lot__characteristic li:contains(%query%) 92 ${plan_search_form_result_locator_tpl} = jquery=#plan-list .lots__item .lot__characteristic li:contains(%query%)
93 93
94 # tender form 94 # tender form
95 -${tender_form_submit_success_msg} = Закупівля створена, дочекайтесь опублікування на сайті уповноваженого органу. 95 +${tender_form_submit_success_msg} = дочекайтесь опублікування на сайті уповноваженого органу.
96 ${tender_form_locator} = id=tender-form 96 ${tender_form_locator} = id=tender-form
97 ${tender_form_procurement_method_type_input_locator} = jquery=[id$="form-procurement_method_type"] 97 ${tender_form_procurement_method_type_input_locator} = jquery=[id$="form-procurement_method_type"]
98 ${tender_multilot_locator} = jquery=[id$="form-is_multilot"] 98 ${tender_multilot_locator} = jquery=[id$="form-is_multilot"]
@@ -115,17 +115,26 @@ ${tender_tender_quick_mode_locator} = jquery=[id$= @@ -115,17 +115,26 @@ ${tender_tender_quick_mode_locator} = jquery=[id$=
115 #esco 115 #esco
116 ${tender_form_general_funding_kind_input_locator} id=tenderescoform-funding_kind 116 ${tender_form_general_funding_kind_input_locator} id=tenderescoform-funding_kind
117 ${tender_form_general_nbu_discount_rate_input_locator} id=tenderescoform-nbu_discount_rate 117 ${tender_form_general_nbu_discount_rate_input_locator} id=tenderescoform-nbu_discount_rate
  118 +#closeframework
  119 +${tender_form_general_max_awards_count_input_locator} = jquery=[id$="form-max_awards_count"]
  120 +${tender_form_general_agreement_duration_years_input_locator} = jquery=[id$="form-agreement_duration_years"]
  121 +${tender_form_general_agreement_duration_months_input_locator} = jquery=[id$="form-agreement_duration_months"]
  122 +${tender_form_general_agreement_duration_days_input_locator} = jquery=[id$="form-agreement_duration_days"]
118 123
119 ${tender_form_general_panel_add_feature_btn_locator} = jquery=#collapseGeneral .btn[data-attribute="features"] 124 ${tender_form_general_panel_add_feature_btn_locator} = jquery=#collapseGeneral .btn[data-attribute="features"]
120 ${tender_form_features_panel_edit_btn_locator} = jquery=.fancybox-content [href$="#add-features"] 125 ${tender_form_features_panel_edit_btn_locator} = jquery=.fancybox-content [href$="#add-features"]
121 ${feature_form_popup_title_input_locator} = jquery=.fancybox-is-open .tab-content:first > .tab-pane.active:first [id$="-title"]:first 126 ${feature_form_popup_title_input_locator} = jquery=.fancybox-is-open .tab-content:first > .tab-pane.active:first [id$="-title"]:first
122 ${feature_form_popup_description_input_locator} = jquery=.fancybox-is-open .tab-content:first > .tab-pane.active:first [id$="-description"]:first 127 ${feature_form_popup_description_input_locator} = jquery=.fancybox-is-open .tab-content:first > .tab-pane.active:first [id$="-description"]:first
  128 +${feature_form_popup_title_en_input_locator} = jquery=.fancybox-is-open .tab-content:first > .tab-pane.active:first [id$="-title_en"]:first
  129 +${feature_form_popup_description_en_input_locator} = jquery=.fancybox-is-open .tab-content:first > .tab-pane.active:first [id$="-description_en"]:first
123 ${feature_form_popup_value_input_locator} = jquery=[id$="-value"] 130 ${feature_form_popup_value_input_locator} = jquery=[id$="-value"]
124 ${feature_form_popup_add-enums_btn_locator} = jquery=.fancybox-is-open .enums-dynamic-forms-wrapper .btn-add a[href$="#add-enums"] 131 ${feature_form_popup_add-enums_btn_locator} = jquery=.fancybox-is-open .enums-dynamic-forms-wrapper .btn-add a[href$="#add-enums"]
125 ${feature_form_popup_enum_title_input_locator} = jquery=.fancybox-is-open .enums-dynamic-forms-wrapper .tab-content:first > .tab-pane.active input[id$="-title"] 132 ${feature_form_popup_enum_title_input_locator} = jquery=.fancybox-is-open .enums-dynamic-forms-wrapper .tab-content:first > .tab-pane.active input[id$="-title"]
  133 +${feature_form_popup_enum_title_en_input_locator} = jquery=.fancybox-is-open .enums-dynamic-forms-wrapper .tab-content:first > .tab-pane.active input[id$="-title_en"]
126 ${feature_form_popup_enum_value_input_locator} = jquery=.fancybox-is-open .enums-dynamic-forms-wrapper .tab-content:first > .tab-pane.active input[id$="-value"] 134 ${feature_form_popup_enum_value_input_locator} = jquery=.fancybox-is-open .enums-dynamic-forms-wrapper .tab-content:first > .tab-pane.active input[id$="-value"]
127 135
128 ${tender_form_general_panel_add_document_btn_locator} = jquery=#collapseGeneral .btn[data-attribute="documents"] 136 ${tender_form_general_panel_add_document_btn_locator} = jquery=#collapseGeneral .btn[data-attribute="documents"]
  137 +${tender_form_general_panel_edit_add_document_btn_locator} = jquery=div[data-form="general-form-popup"] .js-form-hidden-popup-panel:last a.btn-update
129 138
130 #${tender_form_item_add_edit_btn_locator} = jquery=.js-form-group-popup-panel .panel-heading .actions-wrapper .js-form-popup-add 139 #${tender_form_item_add_edit_btn_locator} = jquery=.js-form-group-popup-panel .panel-heading .actions-wrapper .js-form-popup-add
131 #последняя кнопка “Додати” для номенклатуры (для лотовой и безлотовой) 140 #последняя кнопка “Додати” для номенклатуры (для лотовой и безлотовой)
@@ -155,6 +164,8 @@ ${lot_form_popup_minimalstep_amount_input_locator} = jquery=.fanc @@ -155,6 +164,8 @@ ${lot_form_popup_minimalstep_amount_input_locator} = jquery=.fanc
155 ${lot_form_popup_min_step_percentage_amount_input_locator} = jquery=.fancybox-is-open [id$="-min_step_percentage"] 164 ${lot_form_popup_min_step_percentage_amount_input_locator} = jquery=.fancybox-is-open [id$="-min_step_percentage"]
156 165
157 ${tender_form_lot_panel_add_feature_btn_locator} = jquery=#Lots .js-form-popup-panel-list:first > .js-form-popup-panel-item:last .actions-wrapper .btn[data-attribute="features"] 166 ${tender_form_lot_panel_add_feature_btn_locator} = jquery=#Lots .js-form-popup-panel-list:first > .js-form-popup-panel-item:last .actions-wrapper .btn[data-attribute="features"]
  167 +${tender_form_lot_panel_add_document_btn_locator_tpl} = jquery=#Lots #collapseLots div[data-title*="%lot_id%"] .actions-wrapper a.js-btn-add-form-popup-panel:last'
  168 +${tender_form_lot_panel_edit_add_document_btn_locator} = jquery=#Lots #collapseLots div[data-title*="%lot_id%"] .js-form-hidden-popup-panel:last .actions-wrapper a.js-form-popup-update
158 169
159 #${tender_form_milestones_percentage_locator} = jquery=.js-item.tab-pane.active [id$="-percentage"] 170 #${tender_form_milestones_percentage_locator} = jquery=.js-item.tab-pane.active [id$="-percentage"]
160 #${tender_form_milestones_code_locator} = jquery=.tab-pane.active [id$="-code"] 171 #${tender_form_milestones_code_locator} = jquery=.tab-pane.active [id$="-code"]
@@ -170,12 +181,68 @@ ${tender_created_checker_element_locator} = id=tender-pa @@ -170,12 +181,68 @@ ${tender_created_checker_element_locator} = id=tender-pa
170 ${tender_view_checker_element_locator} = id=tender-general-info 181 ${tender_view_checker_element_locator} = id=tender-general-info
171 ${tender_sync_element_locator} = jquery=#aside-part-pjax .status-label .fa-refresh 182 ${tender_sync_element_locator} = jquery=#aside-part-pjax .status-label .fa-refresh
172 ${tender_uaid_text_locator} = jquery=#tender-general-info .tender-id .value 183 ${tender_uaid_text_locator} = jquery=#tender-general-info .tender-id .value
  184 +${tender_edit_btn_locator} = jquery=#aside-part-pjax a[href*='tender/update']
173 185
174 -${button_refresh_element} jquery=.fancybox-is-open .btn-add .fa-spin 186 +#елемент проверки загрузки формы в попапе
  187 +${popup_dynamic_form_loading_element_locator} jquery=.fancybox-is-open .btn-add .fa-spin
175 #${add_file_to_form} xpath=//input[@type='file'] 188 #${add_file_to_form} xpath=//input[@type='file']
176 -${add_file_to_form} jquery=.fancybox-is-open input[type$='file'] 189 +${add_file_to_form_locator} jquery=.fancybox-is-open input[type$='file']
177 190
178 # tender index + search 191 # tender index + search
179 ${tender_search_form_locator} = id=tender-filter-form 192 ${tender_search_form_locator} = id=tender-filter-form
180 ${tender_search_form_query_input_locator} = jquery=#tender-filter-form .dynamic-search-query input 193 ${tender_search_form_query_input_locator} = jquery=#tender-filter-form .dynamic-search-query input
181 ${tender_search_form_result_locator_tpl} = jquery=#tender-list .lots__item .lot__characteristic li:contains(%query%) 194 ${tender_search_form_result_locator_tpl} = jquery=#tender-list .lots__item .lot__characteristic li:contains(%query%)
  195 +
  196 +#question
  197 +${question_form_open_btn_locator} jquery=#aside-part-pjax a[href*="/tender/questions"]
  198 +${question_open_form_answer_btn_locator_tpl} jquery=#tender-question-list .js-item div[data-title*="%title%"]
  199 +${question_form_open_form_answer_btn_locator_tpl} jquery=#tender-question-list .js-item div[data-title*="%title%"] .btn.btn-default
  200 +${question_form_open_form_answer_input_locator} jquery=.fancybox-is-open .fancybox-content #tender-question-answer-form #questionanswerform-answer
  201 +${question_form_answer_submit_btn_locator} jquery=.fancybox-is-open .fancybox-content #tender-question-answer-form .js-submit-btn
  202 +${plan_form_submit_success_msg} = відповідь на питання надана
  203 +${question_form_create_question_btn_locator} jquery=.#aside-part-pjax [data-url*="/tender/question-create"]
  204 +${question_form_create_questionform_related_of_input_locator} jquery=.fancybox-is-open .fancybox-content #questionform-related_of
  205 +${question_form_create_questionform_related_item_input_locator} jquery=.fancybox-is-open .fancybox-content #questionform-related_item
  206 +${question_form_create_questionform_related_item_input_locator_tpl} jquery=.fancybox-is-open .fancybox-content #questionform-related_item option:contains("%type_id%")
  207 +${question_form_create_questionform_title_input_locator} jquery=.fancybox-is-open .fancybox-content #questionform-title
  208 +${question_form_create_questionform_description_input_locator} jquery=.fancybox-is-open .fancybox-content #questionform-description
  209 +${question_form_submit_success_msg} Запитання створене.
  210 +${question_form_create_questionform_related_lot_input_locator} jquery=.fancybox-is-open .fancybox-content #questionform-related_lot
  211 +${question_form_create_questionform_related_lot_input_locator} jquery=.fancybox-is-open .fancybox-content #questionform-related_lot
  212 +${question_form_create_questionform_related_lot_input_locator_tpl} jquery=.fancybox-is-open .fancybox-content #questionform-related_lot option:contains("%type_id%")
  213 +
  214 +#claim
  215 +${claim_form_open_btn_locator} jquery=#aside-part-pjax a[href*="/tender/complaints"]
  216 +${claim_form_complaintform_title_input_locator} jquery=.fancybox-is-open .fancybox-content input#complaintform-title
  217 +${claim_form_complaintform_description_input_locator} jquery=.fancybox-is-open .fancybox-content input#complaintform-description
  218 +${claim_form_complaintform_related_of_input_locator} jquery=.fancybox-is-open .fancybox-content #complaintform-related_of
  219 +${claim_form_complaintform_related_lot_input_locator} jquery=.fancybox-is-open .fancybox-content #complaintform-related_lot
  220 +${{claim_form_complaintform_related_item_input_locator_tpl} jquery=.fancybox-is-open .fancybox-content #complaintform-related_lot option:contains("%type_id%")
  221 +${claim_form_complaintform_complaintform_type_input_locator} jquery=.fancybox-is-open .fancybox-content #complaintform-type
  222 +${claim_form_complaintform_document_btn_locator} jquery=.fancybox-is-open .fancybox-content a[data-url*="/tender/get-complaint-document"]
  223 +${claim_form_complaintform_submit_btn_locator} jquery=.fancybox-is-open .fancybox-content a[href*="/tender/complaints"]
  224 +${claim_uaid_text_locator} = jquery=#tender-complaint-list div.item.js-item:last .complaint-id span.value
  225 +
  226 +#bids
  227 +${bid_form_open_btn_locator} jquery=#aside-part-pjax a[href*="/tender/bid"]
  228 +${bid_form_submit_success_msg} Пропозиція створена
  229 +${bid_form_submit_edit_success_msg} Пропозиція відредагована
  230 +${bid_form_feature_input_locator_tpl} jquery=.fancybox-is-open .fancybox-content select[id*="%title%-enum"]
  231 +${bid_form_value_amount_input_locator} jquery=.fancybox-is-open .fancybox-content input[id*="-value_amount"]
  232 +${bid_form_value_subcontracting_details_input_locator} jquery=.fancybox-is-open .fancybox-content textarea[id*="-subcontracting_details"]
  233 +${bid_form_value_self_eligible_input_locator} jquery=.fancybox-is-open .fancybox-content input[id*="-self_eligible"]
  234 +${bid_form_value_self_qualified_input_locator} jquery=.fancybox-is-open .fancybox-content input[id*="-self_qualified"]
  235 +${bid_form_value_yearly_payments_percentage_input_locator} jquery=.fancybox-is-open .fancybox-content input[id*="-yearly_payments_percentage"]
  236 +${bid_form_value_contract_duration_years_input_locator} jquery=.fancybox-is-open .fancybox-content input[id*="-contract_duration_years"]
  237 +${bid_form_value_contract_duration_days_input_locator} jquery=.fancybox-is-open .fancybox-content input[id*="-contract_duration_days"]
  238 +${bid_form_value_annual_costs_reduction_input_locator_tpl} jquery=.fancybox-is-open .fancybox-content input[id*="-annual_costs_reduction_%index%"]
  239 +
  240 +${bid_form_add_document_all_btn_locator} jquery=.fancybox-is-open .fancybox-content .field-bidform-documents input[type$="file"]
  241 +${bid_form_add_document_type_input_locator} jquery=.fancybox-is-open .fancybox-content .field-bidform-documents select[id*="-document_type"]
  242 +${bid_form_add_document_description_btn_locator} jquery=.fancybox-is-open .fancybox-content .field-bidform-documents [href$="#edit"]
  243 +${bid_form_add_document_description_input_locator} jquery=.fancybox-is-open .fancybox-content .field-bidform-documents .popover.fade.top.in textarea[id*="-description"].form-control
  244 +${bid_form_add_document_close_description_btn_locator} jquery=.fancybox-is-open .fancybox-content .field-bidform-documents .popover.fade.top.in [href$="#close"]
  245 +${bid_form_submit_btn_locator} jquery=.fancybox-is-open .fancybox-content button.btn.btn-success
  246 +
  247 +
  248 +
Please register or login to post a comment