Commit f488d1eb083ab4057a809653faec7d9b93a2460f

Authored by Playtenders
1 parent a313d39e

make todo and search tender and create tender

@@ -116,5 +116,27 @@ Resource playtender_tende @@ -116,5 +116,27 @@ Resource playtender_tende
116 fill tender form ${tender_prepared_data} 116 fill tender form ${tender_prepared_data}
117 submit form and check result ${tender_form_submit_btn_locator} ${tender_form_submit_success_msg} ${tender_created_checker_element_locator} 117 submit form and check result ${tender_form_submit_btn_locator} ${tender_form_submit_success_msg} ${tender_created_checker_element_locator}
118 wait until page does not contain element with reloading ${tender_sync_element_locator} 118 wait until page does not contain element with reloading ${tender_sync_element_locator}
  119 + wait until page contains element with reloading ${tender_uaid_text_locator}
119 ${tender_uaid} = get text ${tender_uaid_text_locator} 120 ${tender_uaid} = get text ${tender_uaid_text_locator}
120 - [Return] ${tender_uaid}  
  121 + [Return] ${tender_uaid}
  122 +
  123 +Оновити сторінку з тендером
  124 + [Arguments] ${username} ${$tender_uaid}
  125 + [Documentation] Оновити сторінку з тендером для отримання потенційно оновлених даних.
  126 +
  127 + open tender page by uaid ${$tender_uaid}
  128 +
  129 +Пошук тендера по ідентифікатору
  130 + [Arguments] ${username} ${tender_uaid}
  131 + [Documentation] Знайти тендер з uaid рівним tender_uaid.
  132 +
  133 + open tender search form
  134 + input to search form and wait results ${tender_search_form_query_input_locator} ${tender_uaid} ${tender_search_form_result_locator_tpl}
  135 +
  136 +Отримати інформацію із тендера
  137 + [Arguments] ${username} ${tender_uaid} ${field_name}
  138 + [Documentation] Отримати значення поля field_name для тендера tender_uaid.
  139 +
  140 + open tender page by uaid ${tender_uaid}
  141 + ${value} = get tender field value by name ${field_name}
  142 + [Return] ${value}
@@ -166,3 +166,4 @@ get plan field value by name @@ -166,3 +166,4 @@ get plan field value by name
166 Run Keyword And Return If '${key}' == 'items[1].classification.description' get_invisible_text jquery=${item1Wrapper} .item-info-wrapper .main-classification-description 166 Run Keyword And Return If '${key}' == 'items[1].classification.description' get_invisible_text jquery=${item1Wrapper} .item-info-wrapper .main-classification-description
167 Run Keyword And Return If '${key}' == 'items[1].classification.scheme' get_invisible_text jquery=${item1Wrapper} .item-info-wrapper .main-classification-scheme 167 Run Keyword And Return If '${key}' == 'items[1].classification.scheme' get_invisible_text jquery=${item1Wrapper} .item-info-wrapper .main-classification-scheme
168 Run Keyword And Return If '${key}' == 'items[1].classification.id' get_invisible_text jquery=${item1Wrapper} .item-info-wrapper .main-classification-code 168 Run Keyword And Return If '${key}' == 'items[1].classification.id' get_invisible_text jquery=${item1Wrapper} .item-info-wrapper .main-classification-code
  169 +
@@ -239,12 +239,17 @@ def prepare_tender_data(data): @@ -239,12 +239,17 @@ def prepare_tender_data(data):
239 del data['items'] 239 del data['items']
240 240
241 # moves milestones to its related lots 241 # moves milestones to its related lots
242 - for i, milestone in enumerate(data['milestones']): 242 + i = 0
  243 + l = len(data['milestones'])
  244 + while i < l:
243 for lot in data['lots']: 245 for lot in data['lots']:
244 - if lot['id'] == milestone['relatedLot']: 246 + if lot['id'] == data['milestones'][i]['relatedLot']:
245 if 'milestones' not in lot: 247 if 'milestones' not in lot:
246 lot['milestones'] = [] 248 lot['milestones'] = []
247 lot['milestones'].append(data['milestones'].pop(i)) 249 lot['milestones'].append(data['milestones'].pop(i))
  250 + l = l - 1
  251 + i = i - 1
  252 + i = i + 1
248 253
249 del data['milestones'] 254 del data['milestones']
250 255
@@ -19,7 +19,7 @@ fill tender form @@ -19,7 +19,7 @@ fill tender form
19 [Arguments] ${data} 19 [Arguments] ${data}
20 [Documentation] заповнення форми з масива даних 20 [Documentation] заповнення форми з масива даних
21 21
22 - fill tender general info 22 + fill tender general info ${data}
23 ${features} = get from dictionary by keys ${data} features 23 ${features} = get from dictionary by keys ${data} features
24 run keyword if condition is not none ${features} fill tender form features ${features} ${tender_form_general_panel_add_feature_btn_locator} 24 run keyword if condition is not none ${features} fill tender form features ${features} ${tender_form_general_panel_add_feature_btn_locator}
25 ${items} = get from dictionary by keys ${data} items 25 ${items} = get from dictionary by keys ${data} items
@@ -37,7 +37,7 @@ fill tender general info @@ -37,7 +37,7 @@ fill tender general info
37 37
38 ${procurement_method_type} = get from dictionary by keys ${data} procurementMethodType 38 ${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} 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}
40 - # @todo дочекатися поки завантажиться форма 40 + wait until page does not contain element ${button_refresh_element}
41 41
42 ${lots} = get from dictionary by keys ${data} lots 42 ${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} 43 run keyword if condition is not none ${lots} Run Keyword And Ignore Error Click Element ${tender_multilot_locator}
@@ -55,15 +55,15 @@ fill tender general info @@ -55,15 +55,15 @@ fill tender general info
55 run keyword if condition is not none ${funders} Click Element ${tender_form_general_tender_funder_locator} 55 run keyword if condition is not none ${funders} Click Element ${tender_form_general_tender_funder_locator}
56 Capture Page Screenshot 56 Capture Page Screenshot
57 ${amount} = get from dictionary by keys ${data} value amount 57 ${amount} = get from dictionary by keys ${data} value amount
58 - run keyword if condition is not none ${amount} run keyword if ${NUMBER_OF_LOTS}==0 input number to exist visible input ${tender_form_general_value_amount_input_locator} ${amount} 58 + run keyword if condition is not none ${amount} run keyword and ignore error input number to exist visible input ${tender_form_general_value_amount_input_locator} ${amount}
59 ${currency} = get from dictionary by keys ${data} value currency 59 ${currency} = get from dictionary by keys ${data} value currency
60 run keyword if condition is not none ${currency} select from visible list by value ${tender_form_general_value_currency_input_locator} ${currency} 60 run keyword if condition is not none ${currency} select from visible list by value ${tender_form_general_value_currency_input_locator} ${currency}
61 - ${valueAddedTaxIncluded} = get from dictionary by keys ${data} value valueAddedTaxIncluded  
62 - run keyword if condition is not none ${valueAddedTaxIncluded} run keyword if ${valueAddedTaxIncluded} Click Element ${tender_form_general_value_added_tax_input_locator} 61 + ${value_added_tax_included} = get from dictionary by keys ${data} value valueAddedTaxIncluded
  62 + run keyword if condition is not none ${value_added_tax_included} run keyword if ${value_added_tax_included} Click Element ${tender_form_general_value_added_tax_input_locator}
63 ${min_step_amount} = get from dictionary by keys ${data} minimalStep amount 63 ${min_step_amount} = get from dictionary by keys ${data} minimalStep amount
64 run keyword if condition is not none ${min_step_amount} input number to exist visible input ${tender_form_general_minimalStep_amount_input_locator} ${min_step_amount} 64 run keyword if condition is not none ${min_step_amount} input number to exist visible input ${tender_form_general_minimalStep_amount_input_locator} ${min_step_amount}
65 - ${mainProcurementCategory} = get from dictionary by keys ${data} mainProcurementCategory  
66 - run keyword if condition is not none ${mainProcurementCategory} select from visible list by value ${tender_form_general_main_procurement_category_input_locator} ${mainProcurementCategory} 65 + ${main_procurement_category} = get from dictionary by keys ${data} mainProcurementCategory
  66 + run keyword if condition is not none ${main_procurement_category} select from visible list by value ${tender_form_general_main_procurement_category_input_locator} ${main_procurement_category}
67 ${tender_enquiry_period_start_date} = get from dictionary by keys ${data} enquiryPeriod startDate 67 ${tender_enquiry_period_start_date} = get from dictionary by keys ${data} enquiryPeriod startDate
68 # run keyword if condition is not none ${tender_enquiry_period_start_date} select from visible list by year of date ${tender_enquiry_period_start_date_input_locator} ${tender_enquiry_period_start_date} 68 # run keyword if condition is not none ${tender_enquiry_period_start_date} select from visible list by year of date ${tender_enquiry_period_start_date_input_locator} ${tender_enquiry_period_start_date}
69 run keyword if condition is not none ${tender_enquiry_period_start_date} input datetime to visible input ${tender_enquiry_period_start_date_input_locator} ${tender_enquiry_period_start_date} 69 run keyword if condition is not none ${tender_enquiry_period_start_date} input datetime to visible input ${tender_enquiry_period_start_date_input_locator} ${tender_enquiry_period_start_date}
@@ -80,6 +80,10 @@ fill tender general info @@ -80,6 +80,10 @@ fill tender general info
80 ${additional_classifications} = get from dictionary by keys ${data} additionalClassifications 80 ${additional_classifications} = get from dictionary by keys ${data} additionalClassifications
81 run keyword if condition is not none ${additional_classifications} select classification by array of code attributes ${plan_form_additional_classification_edit_btn_locator} ${additional_classifications} ${None} ${kekv_schemes} 81 run keyword if condition is not none ${additional_classifications} select classification by array of code attributes ${plan_form_additional_classification_edit_btn_locator} ${additional_classifications} ${None} ${kekv_schemes}
82 run keyword if condition is not none ${additional_classifications} select classification by array of code attributes ${plan_form_kekv_classification_edit_btn_locator} ${additional_classifications} ${kekv_schemes} 82 run keyword if condition is not none ${additional_classifications} select classification by array of code attributes ${plan_form_kekv_classification_edit_btn_locator} ${additional_classifications} ${kekv_schemes}
  83 + ${funding_kind} = get from dictionary by keys ${data} fundingKind
  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}
  85 + ${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}
83 submit current visible popup 87 submit current visible popup
84 88
85 fill tender form items 89 fill tender form items
@@ -120,8 +124,8 @@ fill tender form milestones @@ -120,8 +124,8 @@ fill tender form milestones
120 click visible element ${tender_form_milestones_panel_edit_btn_locator} 124 click visible element ${tender_form_milestones_panel_edit_btn_locator}
121 wait until popup is visible 125 wait until popup is visible
122 :FOR ${milestone_attributes} IN @{milestone_attributes_array} 126 :FOR ${milestone_attributes} IN @{milestone_attributes_array}
123 - \ click visible element ${tender_form_milestones_add_btn_locator}  
124 - \ # @todo чекати поки форма не з'явиться 127 + \ click visible element ${milestone_form_popup_add_btn_locator}
  128 + \ wait until page does not contain element ${button_refresh_element}
125 \ fill milestone form in opened popup ${milestone_attributes} 129 \ fill milestone form in opened popup ${milestone_attributes}
126 submit current visible popup 130 submit current visible popup
127 131
@@ -129,18 +133,18 @@ fill milestone form in opened popup @@ -129,18 +133,18 @@ fill milestone form in opened popup
129 [Arguments] ${data} 133 [Arguments] ${data}
130 [Documentation] заповнює відкриту форму в активній вкладці згідно вказаних даних 134 [Documentation] заповнює відкриту форму в активній вкладці згідно вказаних даних
131 135
132 - # @todo переписати всі локатори з прив'язкою до попапа + форми milestone, зробити як в fill item form in opened popup  
133 ${title} = get from dictionary by keys ${data} title 136 ${title} = get from dictionary by keys ${data} title
134 - run keyword if condition is not none ${title} select from visible list by value ${tender_form_milestones_title_locator} ${title} 137 + run keyword if condition is not none ${title} select from visible list by value ${milestone_form_popup_title_input_locator} ${title}
135 ${description} = get from dictionary by keys ${data} description 138 ${description} = get from dictionary by keys ${data} description
136 - run keyword if condition is not none ${description} input text to exist visible input ${tender_form_milestones_description_locator} ${description} 139 + run keyword if condition is not none ${description} input text to exist visible input ${milestone_form_popup_description_input_locator} ${description}
137 ${percentage} = get from dictionary by keys ${data} percentage 140 ${percentage} = get from dictionary by keys ${data} percentage
138 - run keyword if condition is not none ${percentage} input text to exist visible input ${tender_form_milestones_percentage_locator} ${percentage} 141 + run keyword if condition is not none ${percentage} input text to exist visible input ${milestone_form_popup_percentage_input_locator} ${percentage}
139 ${code} = get from dictionary by keys ${data} code 142 ${code} = get from dictionary by keys ${data} code
140 - run keyword if condition is not none ${code} select from visible list by value ${tender_form_milestones_code_locator} ${code} 143 + run keyword if condition is not none ${code} select from visible list by value ${milestone_form_popup_code_input_locator} ${code}
141 ${duration_days} = get from dictionary by keys ${data} duration days 144 ${duration_days} = get from dictionary by keys ${data} duration days
142 - run keyword if condition is not none ${duration_days} input text to exist visible input ${tender_form_milestones_duration_days_locator} ${duration_days} 145 + run keyword if condition is not none ${duration_days} input text to exist visible input ${milestone_form_popup_duration_days_input_locator} ${duration_days}
143 ${duration_type} = get from dictionary by keys ${data} duration type 146 ${duration_type} = get from dictionary by keys ${data} duration type
  147 + run keyword if condition is not none ${duration_type} select from visible list by value ${milestone_form_popup_duration_type_input_locator} ${duration_type}
144 148
145 fill tender form features 149 fill tender form features
146 [Arguments] ${feature_attributes_array} ${add_btn_locator} 150 [Arguments] ${feature_attributes_array} ${add_btn_locator}
@@ -150,7 +154,7 @@ fill tender form features @@ -150,7 +154,7 @@ fill tender form features
150 wait until popup is visible 154 wait until popup is visible
151 :FOR ${feature_attributes} IN @{feature_attributes_array} 155 :FOR ${feature_attributes} IN @{feature_attributes_array}
152 \ click visible element ${tender_form_features_panel_edit_btn_locator} 156 \ click visible element ${tender_form_features_panel_edit_btn_locator}
153 - \ # @todo чекати поки форма не з'явиться 157 + \ wait until page does not contain element ${button_refresh_element}
154 \ fill feature form in opened popup ${feature_attributes} 158 \ fill feature form in opened popup ${feature_attributes}
155 submit current visible popup 159 submit current visible popup
156 160
@@ -158,29 +162,23 @@ fill feature form in opened popup @@ -158,29 +162,23 @@ fill feature form in opened popup
158 [Arguments] ${data} 162 [Arguments] ${data}
159 [Documentation] заповнює відкриту форму в активній вкладці згідно вказаних даних 163 [Documentation] заповнює відкриту форму в активній вкладці згідно вказаних даних
160 164
161 - # @todo переписати локатори для прив'язки чисто поточний попап + НК форм. краще у відкритій формі НК видалити відкру форму Опції і  
162 - # тоді к циклі додавати опції, візьми підчисть код бо купа коментарів і тяжко розбиратися, можеш додавання опції в окремий кейворд винести  
163 ${title} = get from dictionary by keys ${data} title 165 ${title} = get from dictionary by keys ${data} title
164 - run keyword if condition is not none ${title} input text to exist visible input ${tender_form_features_title_locator} ${title} 166 + run keyword if condition is not none ${title} input text to exist visible input ${feature_form_popup_title_input_locator} ${title}
165 ${description} = get from dictionary by keys ${data} description 167 ${description} = get from dictionary by keys ${data} description
166 - run keyword if condition is not none ${description} input text to exist visible input ${tender_form_features_description_locator} ${description} 168 + run keyword if condition is not none ${description} input text to exist visible input ${feature_form_popup_description_input_locator} ${description}
167 ${options} = Get From Dictionary ${data} enum 169 ${options} = Get From Dictionary ${data} enum
168 ${count} = Get Length ${options} 170 ${count} = Get Length ${options}
169 ${ex}= Evaluate ${count} - 1 171 ${ex}= Evaluate ${count} - 1
170 : FOR ${INDEX} IN RANGE 0 ${count} 172 : FOR ${INDEX} IN RANGE 0 ${count}
171 - \ run keyword if condition is not none ${options[${INDEX}].title} input text to exist visible input ${tender_form_features_enum_title_locator} ${options[${INDEX}].title}  
172 - \ Capture Page Screenshot  
173 -# \ ${description} = get from dictionary by keys ${data} description  
174 -# \ run keyword if condition is not none ${description} input text to exist visible input ${tender_form_features_description_locator} ${description}  
175 - \ Capture Page Screenshot 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}
176 \ ${value} = convert_float_to_string ${options[${INDEX}].value} 174 \ ${value} = convert_float_to_string ${options[${INDEX}].value}
177 \ ${value} = Convert To Number ${value} 175 \ ${value} = Convert To Number ${value}
178 \ ${value} = multiply_hundred ${value} 176 \ ${value} = multiply_hundred ${value}
179 \ ${value} = convert_float_to_string ${value} 177 \ ${value} = convert_float_to_string ${value}
180 - \ run keyword if condition is not none ${options[${INDEX}].value} input text to exist visible input ${tender_form_features_enum_value_locator} ${value}  
181 - \ Capture Page Screenshot  
182 - \ Continue For Loop If '${INDEX}' == '${ex}'  
183 - \ Run Keyword If ${count} != 1 click visible element ${tender_form_features_add-enums_locator} 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}
  179 + \ Continue For Loop If '${INDEX}' == '${ex}'
  180 + \ 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}
184 182
185 fill tender form lots 183 fill tender form lots
186 [Arguments] ${lot_attributes_array} 184 [Arguments] ${lot_attributes_array}
@@ -191,44 +189,55 @@ fill tender form lots @@ -191,44 +189,55 @@ fill tender form lots
191 \ wait until popup is visible 189 \ wait until popup is visible
192 \ fill lot form in opened popup ${lot_attributes} 190 \ fill lot form in opened popup ${lot_attributes}
193 \ submit current visible popup 191 \ submit current visible popup
194 - \ ${features} = get from dictionary by keys ${data} features 192 + \ ${features} = get from dictionary by keys ${lot_attributes} features
195 \ run keyword if condition is not none ${features} fill tender form features ${features} ${tender_form_lot_panel_add_feature_btn_locator} 193 \ run keyword if condition is not none ${features} fill tender form features ${features} ${tender_form_lot_panel_add_feature_btn_locator}
196 - \ ${milestones} = get from dictionary by keys ${data} milestones 194 + \ ${milestones} = get from dictionary by keys ${lot_attributes} milestones
197 \ run keyword if condition is not none ${milestones} fill tender form milestones ${milestones} 195 \ run keyword if condition is not none ${milestones} fill tender form milestones ${milestones}
198 - \ ${items} = get from dictionary by keys ${data} items 196 + \ ${items} = get from dictionary by keys ${lot_attributes} items
199 \ run keyword if condition is not none ${items} fill tender form items ${items} 197 \ run keyword if condition is not none ${items} fill tender form items ${items}
200 198
201 fill lot form in opened popup 199 fill lot form in opened popup
202 [Arguments] ${data} 200 [Arguments] ${data}
203 [Documentation] заповнює відкриту форму згідно вказаних даних 201 [Documentation] заповнює відкриту форму згідно вказаних даних
204 202
205 - # @todo переписати локатори для прив'язки чисто поточний попап + лот форм  
206 ${title} = get from dictionary by keys ${data} title 203 ${title} = get from dictionary by keys ${data} title
207 - run keyword if condition is not none ${title} input text to visible input ${tender_form_lots_title_locator} ${title} 204 + run keyword if condition is not none ${title} input text to visible input ${lot_form_popup_title_input_locator} ${title}
208 ${title_en} = get from dictionary by keys ${data} title_en 205 ${title_en} = get from dictionary by keys ${data} title_en
209 - run keyword if condition is not none ${title_en} input text to exist visible input ${tender_form_lots_title_en_locator} ${title_en} 206 + run keyword if condition is not none ${title_en} input text to exist visible input ${lot_form_popup_title_en_input_locator} ${title_en}
210 ${description} = get from dictionary by keys ${data} description 207 ${description} = get from dictionary by keys ${data} description
211 - run keyword if condition is not none ${description} input text to visible input ${tender_form_lots_description_locator} ${description} 208 + run keyword if condition is not none ${description} input text to visible input ${lot_form_popup_description_input_locator} ${description}
212 ${description_en} = get from dictionary by keys ${data} description_en 209 ${description_en} = get from dictionary by keys ${data} description_en
213 - run keyword if condition is not none ${description_en} input text to exist visible input ${tender_form_lots_description_locator} ${description_en} 210 + run keyword if condition is not none ${description_en} input text to exist visible input ${lot_form_popup_description_en_input_locator} ${description_en}
214 capture page screenshot 211 capture page screenshot
215 ${description_ru} = get from dictionary by keys ${data} description_ru 212 ${description_ru} = get from dictionary by keys ${data} description_ru
216 run keyword if condition is not none ${description_ru} input text to exist visible input ${item_form_popup_description_ru_input_locator} ${description_ru} 213 run keyword if condition is not none ${description_ru} input text to exist visible input ${item_form_popup_description_ru_input_locator} ${description_ru}
217 ${amount} = get from dictionary by keys ${data} value amount 214 ${amount} = get from dictionary by keys ${data} value amount
218 - run keyword if condition is not none ${amount} input number to exist visible input ${tender_form_lots_value_amount_input_locator} ${amount}  
219 - submit current visible popup 215 + run keyword if condition is not none ${amount} input number to exist visible input ${lot_form_popup_value_amount_input_locator} ${amount}
  216 + ${min_step_amount} = get from dictionary by keys ${data} minimalStep amount
  217 + run keyword if condition is not none ${min_step_amount} input number to exist visible input ${lot_form_popup_minimalstep_amount_input_locator} ${min_step_amount}
  218 + ${min_step_percentage} = get from dictionary by keys ${data} minimalStepPercentage
  219 + run keyword if condition is not none ${min_step_percentage} input number to exist visible input ${lot_form_popup_min_step_percentage_amount_input_locator} ${min_step_percentage}
  220 +
220 # ${currency} = get from dictionary by keys ${data} value currency 221 # ${currency} = get from dictionary by keys ${data} value currency
221 # run keyword if condition is not none ${currency} select from visible list by value ${tender_form_lots_value_currency_input_locator} ${currency} 222 # run keyword if condition is not none ${currency} select from visible list by value ${tender_form_lots_value_currency_input_locator} ${currency}
222 # ${valueAddedTaxIncluded} = get from dictionary by keys ${data} value valueAddedTaxIncluded 223 # ${valueAddedTaxIncluded} = get from dictionary by keys ${data} value valueAddedTaxIncluded
223 # run keyword if condition is not none ${valueAddedTaxIncluded} run keyword if ${valueAddedTaxIncluded} Click Element ${tender_form_lots_value_added_tax_input_locator} 224 # run keyword if condition is not none ${valueAddedTaxIncluded} run keyword if ${valueAddedTaxIncluded} Click Element ${tender_form_lots_value_added_tax_input_locator}
224 - ${min_step_amount} = get from dictionary by keys ${data} minimalStep amount  
225 - run keyword if condition is not none ${min_step_amount} input number to exist visible input ${tender_form_lots_minimalStep_amount_input_locator} ${min_step_amount}  
226 225
227 fill tender required documents 226 fill tender required documents
228 [Documentation] додає документ до усієї закупівлі для успішної валідації форми 227 [Documentation] додає документ до усієї закупівлі для успішної валідації форми
229 228
230 ${file_path} ${file_name} ${file_content} = create_fake_doc 229 ${file_path} ${file_name} ${file_content} = create_fake_doc
231 click visible element ${tender_form_general_panel_add_document_btn_locator} 230 click visible element ${tender_form_general_panel_add_document_btn_locator}
232 - choose file xpath=//input[@type='file'] ${file_path} # @todo винести локатор в variables + привязатися до відкритого попапу  
233 - # @todo чекати поки документ завантажиться  
234 - submit current visible popup  
  231 + choose file ${add_file_to_form} ${file_path}
  232 + wait until page does not contain element ${button_refresh_element}
  233 + submit current visible popup
  234 +
  235 +open tender search form
  236 + [Documentation] відкриває сторінку з пошуком тендерів
  237 +
  238 + open page and wait element by locator ${broker_baseurl}/tenders ${tender_search_form_locator}
  239 +
  240 +get tender field value by name
  241 + [Arguments] ${key}
  242 + [Documentation] Отримати інформацію із тендера, користуючись ідентіфікатором плану та назвою поля ${key}.
  243 +
@@ -112,15 +112,18 @@ ${tender_enquiry_period_end_date_input_locator} = jquery=[id$= @@ -112,15 +112,18 @@ ${tender_enquiry_period_end_date_input_locator} = jquery=[id$=
112 ${tender_tender_period_start_date_input_locator} = jquery=[id$="form-tender_period_start_date"] 112 ${tender_tender_period_start_date_input_locator} = jquery=[id$="form-tender_period_start_date"]
113 ${tender_tender_period_end_date_input_locator} = jquery=[id$="form-tender_period_end_date"] 113 ${tender_tender_period_end_date_input_locator} = jquery=[id$="form-tender_period_end_date"]
114 ${tender_tender_quick_mode_locator} = jquery=[id$="form-quick_mode"] 114 ${tender_tender_quick_mode_locator} = jquery=[id$="form-quick_mode"]
  115 +#esco
  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
115 118
116 ${tender_form_general_panel_add_feature_btn_locator} = jquery=#collapseGeneral .btn[data-attribute="features"] 119 ${tender_form_general_panel_add_feature_btn_locator} = jquery=#collapseGeneral .btn[data-attribute="features"]
117 ${tender_form_features_panel_edit_btn_locator} = jquery=.fancybox-content [href$="#add-features"] 120 ${tender_form_features_panel_edit_btn_locator} = jquery=.fancybox-content [href$="#add-features"]
118 -${tender_form_features_title_locator} = jquery=.fancybox-is-open .tab-content:first > .tab-pane.active:first [id$="-title"]:first  
119 -${tender_form_features_description_locator} = jquery=.fancybox-is-open .tab-content:first > .tab-pane.active:first [id$="-description"]:first  
120 -${tender_form_features_value_locator} = jquery=[id$="-value"]  
121 -${tender_form_features_add-enums_locator} = jquery=.fancybox-is-open .enums-dynamic-forms-wrapper .btn-add a[href$="#add-enums"]  
122 -${tender_form_features_enum_title_locator} = jquery=.fancybox-is-open .enums-dynamic-forms-wrapper .tab-content:first > .tab-pane.active input[id$="-title"]  
123 -${tender_form_features_enum_value_locator} = jquery=.fancybox-is-open .enums-dynamic-forms-wrapper .tab-content:first > .tab-pane.active input[id$="-value"] 121 +${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
  123 +${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"]
  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"]
  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"]
124 127
125 ${tender_form_general_panel_add_document_btn_locator} = jquery=#collapseGeneral .btn[data-attribute="documents"] 128 ${tender_form_general_panel_add_document_btn_locator} = jquery=#collapseGeneral .btn[data-attribute="documents"]
126 129
@@ -131,30 +134,32 @@ ${tender_form_item_panel_add_feature_btn_locator} = jquery=.form @@ -131,30 +134,32 @@ ${tender_form_item_panel_add_feature_btn_locator} = jquery=.form
131 134
132 #${tender_form_milestones_panel_edit_btn_locator} = jquery=[data-url$="#milestones-form-popup"] 135 #${tender_form_milestones_panel_edit_btn_locator} = jquery=[data-url$="#milestones-form-popup"]
133 ${tender_form_milestones_panel_edit_btn_locator} = jquery=.form-popup-panel[data-attribute="milestones"]:last > .panel-heading .js-form-popup-update 136 ${tender_form_milestones_panel_edit_btn_locator} = jquery=.form-popup-panel[data-attribute="milestones"]:last > .panel-heading .js-form-popup-update
134 -${tender_form_milestones_add_btn_locator} = jquery=[href$="#add-milestones"]  
135 -${tender_form_milestones_title_locator} = jquery=.milestones-dynamic-forms-wrapper.dynamic-forms-wrapper.js-dynamic-forms-wrapper .js-dynamic-form-content-item.item-wrapper.js-item.tab-pane.active [id$="-title"]  
136 -${tender_form_milestones_description_locator} = jquery=.milestones-dynamic-forms-wrapper.dynamic-forms-wrapper.js-dynamic-forms-wrapper .js-dynamic-form-content-item.item-wrapper.js-item.tab-pane.active [id$="-description"]  
137 -${tender_form_milestones_percentage_locator} = jquery=.milestones-dynamic-forms-wrapper.dynamic-forms-wrapper.js-dynamic-forms-wrapper .js-dynamic-form-content-item.item-wrapper.js-item.tab-pane.active [id$="-percentage"]  
138 -${tender_form_milestones_code_locator} = jquery=.milestones-dynamic-forms-wrapper.dynamic-forms-wrapper.js-dynamic-forms-wrapper .js-dynamic-form-content-item.item-wrapper.js-item.tab-pane.active [id$="-code"]  
139 -${tender_form_milestones_duration_days_locator} = jquery=.milestones-dynamic-forms-wrapper.dynamic-forms-wrapper.js-dynamic-forms-wrapper .js-dynamic-form-content-item.item-wrapper.js-item.tab-pane.active [id$="-duration_days"]  
140 -${tender_form_milestones_duration_type_locator} = jquery=.milestones-dynamic-forms-wrapper.dynamic-forms-wrapper.js-dynamic-forms-wrapper .js-dynamic-form-content-item.item-wrapper.js-item.tab-pane.active [id$="-duration_type"] 137 +${milestone_form_popup_add_btn_locator} = jquery=.fancybox-is-open [href$="#add-milestones"]
  138 +${milestone_form_popup_title_input_locator} = jquery=.fancybox-is-open:last .tab-content:first > .tab-pane.active:first [id$="-title"]
  139 +${milestone_form_popup_description_input_locator} = jquery=.fancybox-is-open:last .tab-content:first > .tab-pane.active:first [id$="-description"]
  140 +${milestone_form_popup_percentage_input_locator} = jquery=.fancybox-is-open:last .tab-content:first > .tab-pane.active:first [id$="-percentage"]
  141 +${milestone_form_popup_code_input_locator} = jquery=.fancybox-is-open:last .tab-content:first > .tab-pane.active:first [id$="-code"]
  142 +${milestone_form_popup_duration_days_input_locator} = jquery=.fancybox-is-open:last .tab-content:first > .tab-pane.active:first [id$="-duration_days"]
  143 +${milestone_form_popup_duration_type_input_locator} = jquery=.fancybox-is-open:last .tab-content:first > .tab-pane.active:first [id$="-duration_type"]
141 144
142 ${tender_form_lots_panel_edit_btn_locator} = jquery=a.btn.btn-default.btn-update.js-form-popup-add 145 ${tender_form_lots_panel_edit_btn_locator} = jquery=a.btn.btn-default.btn-update.js-form-popup-add
143 -${tender_form_lots_add_btn_locator} = jquery=[href$="#add-milestones"]  
144 -${tender_form_lots_title_locator} = jquery=.fancybox-is-open [id$="-title"]  
145 -${tender_form_lots_description_locator} = jquery=.fancybox-is-open [id$="-description"]  
146 -${tender_form_lots_title_en_locator} = jquery=.fancybox-is-open [id$="-title_en"]  
147 -${tender_form_lots_description_en_locator} = jquery=.fancybox-is-open [id$="-description_en"]  
148 -${tender_form_lots_value_amount_input_locator} = jquery=.fancybox-is-open [id$="-value_amount"]  
149 -${tender_form_lots_value_currency_input_locator} = jquery=.fancybox-is-open [id$="-value_currency"]  
150 -${tender_form_lots_value_added_tax_input_locator} = jquery=.fancybox-is-open [id$="-value_added_tax_included"]  
151 -${tender_form_lots_minimalStep_amount_input_locator} = jquery=.fancybox-is-open [id$="-min_step_amount"] 146 +${lot_form_popup_add_btn_locator} = jquery=[href$="#add-milestones"]
  147 +${lot_form_popup_title_input_locator} = jquery=.fancybox-is-open [id$="-title"]
  148 +${lot_form_popup_description_input_locator} = jquery=.fancybox-is-open [id$="-description"]
  149 +${lot_form_popup_title_en_input_locator} = jquery=.fancybox-is-open [id$="-title_en"]
  150 +${lot_form_popup_description_en_input_locator} = jquery=.fancybox-is-open [id$="-description_en"]
  151 +${lot_form_popup_value_amount_input_locator} = jquery=.fancybox-is-open [id$="-value_amount"]
  152 +${lot_form_popup_value_currency_input_locator} = jquery=.fancybox-is-open [id$="-value_currency"]
  153 +${lot_form_popup_value_added_tax_input_locator} = jquery=.fancybox-is-open [id$="-value_added_tax_included"]
  154 +${lot_form_popup_minimalstep_amount_input_locator} = jquery=.fancybox-is-open [id$="-min_step_amount"]
  155 +${lot_form_popup_min_step_percentage_amount_input_locator} = jquery=.fancybox-is-open [id$="-min_step_percentage"]
  156 +
152 ${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"] 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"]
153 158
154 -${tender_form_milestones_percentage_locator} = jquery=.js-item.tab-pane.active [id$="-percentage"]  
155 -${tender_form_milestones_code_locator} = jquery=.tab-pane.active [id$="-code"]  
156 -${tender_form_milestones_duration_days_locator} = jquery=-pane.active [id$="-duration_days"]  
157 -${tender_form_milestones_duration_type_locator} = jquery=-pane.active [id$="-duration_type"] 159 +#${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"]
  161 +#${tender_form_milestones_duration_days_locator} = jquery=-pane.active [id$="-duration_days"]
  162 +#${tender_form_milestones_duration_type_locator} = jquery=-pane.active [id$="-duration_type"]
158 163
159 164
160 ${tender_form_procuringEntity_contactPoint_edit_btn_locator} = jquery=(#tender-form .panel.panel-default.form-popup-panel.js-form-popup-panel .panel-heading .actions-wrapper .js-form-popup-update)[4] 165 ${tender_form_procuringEntity_contactPoint_edit_btn_locator} = jquery=(#tender-form .panel.panel-default.form-popup-panel.js-form-popup-panel .panel-heading .actions-wrapper .js-form-popup-update)[4]
@@ -162,7 +167,15 @@ ${tender_form_submit_btn_locator} = jquery=#tend @@ -162,7 +167,15 @@ ${tender_form_submit_btn_locator} = jquery=#tend
162 ${tender_created_checker_element_locator} = id=tender-part-pjax 167 ${tender_created_checker_element_locator} = id=tender-part-pjax
163 168
164 # tender view 169 # tender view
165 -${tender_view_checker_element_locator} = id=tender-general-info  
166 -${tender_sync_element_locator} = jquery=#aside-part-pjax .status-label .fa-refresh  
167 -${tender_uaid_text_locator} = jquery=#tender-general-info .tender-id .value  
168 - 170 +${tender_view_checker_element_locator} = id=tender-general-info
  171 +${tender_sync_element_locator} = jquery=#aside-part-pjax .status-label .fa-refresh
  172 +${tender_uaid_text_locator} = jquery=#tender-general-info .tender-id .value
  173 +
  174 +${button_refresh_element} jquery=.fancybox-is-open .btn-add .fa-spin
  175 +#${add_file_to_form} xpath=//input[@type='file']
  176 +${add_file_to_form} jquery=.fancybox-is-open input[type$='file']
  177 +
  178 +# tender index + search
  179 +${tender_search_form_locator} = id=tender-filter-form
  180 +${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%)
Please register or login to post a comment