Showing
5 changed files
with
137 additions
and
18 deletions
@@ -142,6 +142,7 @@ Resource playtender_tende | @@ -142,6 +142,7 @@ Resource playtender_tende | ||
142 | [Documentation] Отримати значення поля field_name для тендера tender_uaid. | 142 | [Documentation] Отримати значення поля field_name для тендера tender_uaid. |
143 | 143 | ||
144 | open tender page by uaid ${tender_uaid} | 144 | open tender page by uaid ${tender_uaid} |
145 | + wait until page does not contain element with reloading ${tender_sync_element_locator} | ||
145 | ${field_name} = set variable tender.${field_name}.value | 146 | ${field_name} = set variable tender.${field_name}.value |
146 | ${value} = get field_value by field_name on opened page ${field_name} | 147 | ${value} = get field_value by field_name on opened page ${field_name} |
147 | # ${value} = get tender field value by name ${field_name} | 148 | # ${value} = get tender field value by name ${field_name} |
@@ -229,6 +230,30 @@ Resource playtender_tende | @@ -229,6 +230,30 @@ Resource playtender_tende | ||
229 | add document in lot ${filepath} ${lot_id} | 230 | add document in lot ${filepath} ${lot_id} |
230 | save tender form and wait synchronization | 231 | save tender form and wait synchronization |
231 | 232 | ||
233 | +Змінити лот | ||
234 | + [Arguments] ${username} ${tender_uaid} ${lot_id} ${fieldname} ${fieldvalue} | ||
235 | + [Documentation] Змінити значення поля fieldname лоту з lot_id в описі | ||
236 | + ... для тендера tender_uaid на fieldvalue. | ||
237 | + | ||
238 | + ${tender_data} = generate dictionary from field path and value ${fieldname} ${fieldvalue} | ||
239 | + open tender form by uaid ${tender_uaid} | ||
240 | + #выбор нужного лота | ||
241 | + click visible element ${tender_form_lots_edit_lot1_btn_locator} | ||
242 | + wait until popup is visible | ||
243 | + fill lot form in opened popup ${tender_data} | ||
244 | + submit current visible popup | ||
245 | + save tender form and wait synchronization | ||
246 | + | ||
247 | +Додати предмет закупівлі в лот | ||
248 | + [Arguments] ${username} ${tender_uaid} ${lot_id} ${item} | ||
249 | + [Documentation] Додати предмет item в лот з lot_id в описі для тендера tender_uaid. | ||
250 | + | ||
251 | + open tender form by uaid ${tender_uaid} | ||
252 | + click visible element ${tender_form_lots_add_item_btn_locator} | ||
253 | + ${items} = create list ${item} | ||
254 | + fill tender form items ${items} | ||
255 | + save tender form and wait synchronization | ||
256 | + | ||
232 | 257 | ||
233 | ######################################################################################################################## | 258 | ######################################################################################################################## |
234 | ################################################### END LOT KEYWORDS ################################################# | 259 | ################################################### END LOT KEYWORDS ################################################# |
@@ -268,7 +293,8 @@ Resource playtender_tende | @@ -268,7 +293,8 @@ Resource playtender_tende | ||
268 | [Documentation] Отримати значення поля field_name з нецінового показника з feature_id в описі для тендера tender_uaid. | 293 | [Documentation] Отримати значення поля field_name з нецінового показника з feature_id в описі для тендера tender_uaid. |
269 | 294 | ||
270 | open tender form by uaid ${tender_uaid} | 295 | open tender form by uaid ${tender_uaid} |
271 | - ${value} = get feature information ${feature_id} ${field_name} | 296 | +# ${field_name} = set variable ${feature_id}.tender.feature.${field_name}.value |
297 | + ${value} = get field_value by field_name on opened page ${field_name} | ||
272 | 298 | ||
273 | Видалити неціновий показник | 299 | Видалити неціновий показник |
274 | [Arguments] ${username} ${tender_uaid} ${feature_id} ${obj_id}=Empty | 300 | [Arguments] ${username} ${tender_uaid} ${feature_id} ${obj_id}=Empty |
@@ -22,7 +22,7 @@ fill bid form | @@ -22,7 +22,7 @@ fill bid form | ||
22 | 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} | 22 | 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} |
23 | ${contract_duration_years} = get from dictionary by keys ${bid} value contractDuration years | 23 | ${contract_duration_years} = get from dictionary by keys ${bid} value contractDuration years |
24 | 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} | 24 | 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} |
25 | - ${contract_duration_days} = get from dictionary by keys ${bid} value contractDuration days | 25 | + ${contract_duration_days} = get from dictionary by keys ${bid} value contractDuration days |
26 | 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} | 26 | 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} |
27 | ${annual_costs_reduction} = get from dictionary by keys ${bid} value annualCostsReduction | 27 | ${annual_costs_reduction} = get from dictionary by keys ${bid} value annualCostsReduction |
28 | run keyword if condition is not none ${annual_costs_reduction} Подати цінову пропозицію Esco AnnualCostsReduction ${value.annualCostsReduction} | 28 | run keyword if condition is not none ${annual_costs_reduction} Подати цінову пропозицію Esco AnnualCostsReduction ${value.annualCostsReduction} |
@@ -63,7 +63,7 @@ fill bid form features | @@ -63,7 +63,7 @@ fill bid form features | ||
63 | [Arguments] ${values} | 63 | [Arguments] ${values} |
64 | [Documentation] Заповнити цінову пропозицію Esco (параметр AnnualCostsReduction). | 64 | [Documentation] Заповнити цінову пропозицію Esco (параметр AnnualCostsReduction). |
65 | 65 | ||
66 | - ${input_index }= set variable 1 | 66 | + ${input_index } = set variable 1 |
67 | : FOR ${value} IN @{values} | 67 | : FOR ${value} IN @{values} |
68 | \ ${bid_form_value_annual_costs_reduction_input_locator} replace string ${bid_form_value_annual_costs_reduction_input_locator_tpl} %index% ${input_index} | 68 | \ ${bid_form_value_annual_costs_reduction_input_locator} replace string ${bid_form_value_annual_costs_reduction_input_locator_tpl} %index% ${input_index} |
69 | \ input float ${bid_form_value_annual_costs_reduction_input_locator} ${value} | 69 | \ input float ${bid_form_value_annual_costs_reduction_input_locator} ${value} |
1 | # -*- coding: utf-8 - | 1 | # -*- coding: utf-8 - |
2 | import re | 2 | import re |
3 | +import copy | ||
3 | 4 | ||
4 | import dateutil.parser | 5 | import dateutil.parser |
5 | from iso8601 import parse_date | 6 | from iso8601 import parse_date |
@@ -227,7 +228,10 @@ def multiply_hundred(number): | @@ -227,7 +228,10 @@ def multiply_hundred(number): | ||
227 | 228 | ||
228 | 229 | ||
229 | # prepares data for filling form in easiest way | 230 | # prepares data for filling form in easiest way |
230 | -def prepare_tender_data(data): | 231 | +def prepare_tender_data(data_original): |
232 | + # preventing change data in global view | ||
233 | + data = copy.deepcopy(data_original) | ||
234 | + | ||
231 | # check if data is for multilot | 235 | # check if data is for multilot |
232 | if 'lots' not in data: | 236 | if 'lots' not in data: |
233 | return data | 237 | return data |
@@ -326,3 +330,52 @@ def set_value_minimalStepPercentage(value): | @@ -326,3 +330,52 @@ def set_value_minimalStepPercentage(value): | ||
326 | 330 | ||
327 | def convert_esco__float_to_string(number): | 331 | def convert_esco__float_to_string(number): |
328 | return '{0:.5f}'.format(float(number)) | 332 | return '{0:.5f}'.format(float(number)) |
333 | + | ||
334 | +def generate_fake_award_data(): | ||
335 | + myList = {} | ||
336 | +# myList = [('suppliers', 'address', 'countryName', u'Україна'), ('suppliers', 'address', 'locality', u'Переяслав-Хмельницький'), ('suppliers', 'address', 'postalCode', u'01111'), ('suppliers', 'address', 'region', u'Київська область'), ('suppliers', 'address', 'streetAddress', u'Тестова вулиця, 21-29'), ('suppliers', 'address', 'countryName', 'Україна'), ('suppliers', 'contactPoint', 'countryName', u'Україна'), ('suppliers', 'contactPoint', 'email', u'test_e_mail@ukr.net'), ('suppliers', 'contactPoint', 'faxNumber', u'9998877'), ('suppliers', 'contactPoint', 'name', u'ТЕСТ ФОП 1'), ('suppliers', 'address', 'telephone', u'+380997778899'), ('suppliers', 'contactPoint', 'url', 'http://www.page.gov.ua/'), ('suppliers', 'identifier', 'id', u'2833906462'), ('suppliers', 'identifier', 'legalName', u'Тестовий ФОП 1'), ('suppliers', 'contactPoint', 'faxNumber', u'9998877'), ('suppliers', 'identifier', 'scheme', u'UA-EDR'), ('suppliers', 'scale', 'sme'), ('value', 'amount', '5079'), ('value', 'currency', 'UAH'), ('value', 'valueAddedTaxIncluded', 'true')] | ||
337 | + print myList | ||
338 | + | ||
339 | + address = {} | ||
340 | + print myList | ||
341 | + myList["address"] = { | ||
342 | + "countryName": "Україна", | ||
343 | + "locality": "Переяслав - Хмельницький", | ||
344 | + "postalCode": "01111", | ||
345 | + "region": "Київська область", | ||
346 | + "streetAddress": "Тестова вулиця, 21 - 29" | ||
347 | + } | ||
348 | + print myList | ||
349 | + | ||
350 | + contactPoint = {} | ||
351 | + myList["contactPoint"] = { | ||
352 | + "email": "test_e_mail @ ukr.net", | ||
353 | + "faxNumber": "9998877", | ||
354 | + "name": "ТЕСТ ФОП 1", | ||
355 | + "telephone": "+380997778899", | ||
356 | + "url": "http: // www.page.gov.ua /" | ||
357 | + } | ||
358 | + print myList | ||
359 | + identifier = {} | ||
360 | + myList["identifier"] = { | ||
361 | + "id": "2833906462", | ||
362 | + "legalName": "Тестовий ФОП 1", | ||
363 | + "scheme": "UA-EDR" | ||
364 | + } | ||
365 | + value = {} | ||
366 | + myList["value"] = { | ||
367 | + "amount": "56333", | ||
368 | + "currency": "UAH", | ||
369 | + "valueAddedTaxIncluded": "true" | ||
370 | + } | ||
371 | + name = {} | ||
372 | + myList["name"] = { | ||
373 | + "amount": "56333", | ||
374 | + "currency": "UAH", | ||
375 | + "valueAddedTaxIncluded": "true" | ||
376 | + } | ||
377 | + print myList | ||
378 | + | ||
379 | + suppliers = {} | ||
380 | + suppliers = [address, contactPoint, identifier, value] | ||
381 | + return suppliers |
@@ -47,16 +47,22 @@ fill tender form | @@ -47,16 +47,22 @@ fill tender form | ||
47 | [Arguments] ${data} | 47 | [Arguments] ${data} |
48 | [Documentation] заповнення форми з масива даних | 48 | [Documentation] заповнення форми з масива даних |
49 | 49 | ||
50 | + ${awards} = Run Keyword And Ignore Error playtender_service.Generate Fake Award Data | ||
51 | + #${awards} = Run Keyword And Ignore Error generate_fake_award_data() | ||
52 | + Run Keyword And Ignore Error fill award reporting form in opened popup ${awards} | ||
50 | fill tender general info ${data} | 53 | fill tender general info ${data} |
51 | ${features} = get from dictionary by keys ${data} features | 54 | ${features} = get from dictionary by keys ${data} features |
52 | run keyword if condition is not none ${features} fill tender form features ${features} ${tender_form_general_panel_add_feature_btn_locator} | 55 | run keyword if condition is not none ${features} fill tender form features ${features} ${tender_form_general_panel_add_feature_btn_locator} |
53 | ${items} = get from dictionary by keys ${data} items | 56 | ${items} = get from dictionary by keys ${data} items |
54 | run keyword if condition is not none ${items} fill tender form items ${items} | 57 | run keyword if condition is not none ${items} fill tender form items ${items} |
55 | ${milestones} = get from dictionary by keys ${data} milestones | 58 | ${milestones} = get from dictionary by keys ${data} milestones |
56 | - run keyword if condition is not none ${milestones} fill tender form milestones ${milestones} | 59 | + run keyword and ignore error run keyword if condition is not none ${milestones} fill tender form milestones ${milestones} |
57 | ${lots} = get from dictionary by keys ${data} lots | 60 | ${lots} = get from dictionary by keys ${data} lots |
58 | run keyword if condition is not none ${lots} fill tender form lots ${lots} | 61 | run keyword if condition is not none ${lots} fill tender form lots ${lots} |
59 | - Run Keyword And Ignore Error fill tender required documents | 62 | + ${awards} = Run Keyword And Ignore Error playtender_service.Generate Fake Award Data |
63 | + #${awards} = Run Keyword And Ignore Error playtender_service.generate_fake_award_data() | ||
64 | + Run Keyword And Ignore Error fill award reporting form in opened popup ${awards} | ||
65 | + Run Keyword And Ignore Error fill tender required documents | ||
60 | 66 | ||
61 | fill tender general info | 67 | fill tender general info |
62 | [Arguments] ${data} | 68 | [Arguments] ${data} |
@@ -65,6 +71,7 @@ fill tender general info | @@ -65,6 +71,7 @@ fill tender general info | ||
65 | 71 | ||
66 | Execute Javascript $(window).scrollTop(0) | 72 | Execute Javascript $(window).scrollTop(0) |
67 | wait until page does not contain element ${popup_dynamic_form_loading_element_locator} | 73 | wait until page does not contain element ${popup_dynamic_form_loading_element_locator} |
74 | + wait until page contains element ${tender_form_procurement_method_type_input_locator} | ||
68 | ${procurement_method_type} = get from dictionary by keys ${data} procurementMethodType | 75 | ${procurement_method_type} = get from dictionary by keys ${data} procurementMethodType |
69 | 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} | 76 | 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} |
70 | wait until page does not contain element ${popup_dynamic_form_loading_element_locator} | 77 | wait until page does not contain element ${popup_dynamic_form_loading_element_locator} |
@@ -107,7 +114,7 @@ fill tender general info | @@ -107,7 +114,7 @@ fill tender general info | ||
107 | run keyword if condition is not none ${tender_start_date} run keyword and ignore error input datetime to visible input ${tender_tender_period_start_date_input_locator} ${tender_start_date} | 114 | run keyword if condition is not none ${tender_start_date} run keyword and ignore error input datetime to visible input ${tender_tender_period_start_date_input_locator} ${tender_start_date} |
108 | ${tender_end_date} = get from dictionary by keys ${data} tenderPeriod endDate | 115 | ${tender_end_date} = get from dictionary by keys ${data} tenderPeriod endDate |
109 | run keyword if condition is not none ${tender_end_date} input datetime to visible input ${tender_tender_period_end_date_input_locator} ${tender_end_date} | 116 | run keyword if condition is not none ${tender_end_date} input datetime to visible input ${tender_tender_period_end_date_input_locator} ${tender_end_date} |
110 | - click element ${tender_tender_quick_mode_locator} | 117 | + run keyword and ignore error click element ${tender_tender_quick_mode_locator} |
111 | ${classification} = get from dictionary by keys ${data} classification | 118 | ${classification} = get from dictionary by keys ${data} classification |
112 | run keyword if condition is not none ${classification} select classification by code attributes ${plan_form_classification_edit_btn_locator} ${classification} | 119 | run keyword if condition is not none ${classification} select classification by code attributes ${plan_form_classification_edit_btn_locator} ${classification} |
113 | ${additional_classifications} = get from dictionary by keys ${data} additionalClassifications | 120 | ${additional_classifications} = get from dictionary by keys ${data} additionalClassifications |
@@ -143,13 +150,17 @@ fill tender form items | @@ -143,13 +150,17 @@ fill tender form items | ||
143 | [Arguments] ${item_attributes_array} | 150 | [Arguments] ${item_attributes_array} |
144 | [Documentation] заповнення номенклатури тендеру | 151 | [Documentation] заповнення номенклатури тендеру |
145 | 152 | ||
153 | +# ${report} = set variable if "${mode}" in "reporting" 1 0 | ||
146 | :FOR ${item_attributes} IN @{item_attributes_array} | 154 | :FOR ${item_attributes} IN @{item_attributes_array} |
147 | - \ click visible element ${tender_form_item_add_edit_btn_locator} | 155 | + \ run keyword and ignore error click visible element ${tender_form_item_add_edit_btn_locator} |
156 | +# \ run keyword and ignore error run keyword if "${mode}" not in "reporting" or ${report} == 2 click visible element ${tender_form_item_add_edit_btn_locator} | ||
157 | +# \ run keyword and ignore error run keyword if "${mode}" in "reporting" and ${report} == 1 click visible element ${tender_form_lots_add_item_reporting_btn_locator} | ||
148 | \ wait until popup is visible | 158 | \ wait until popup is visible |
149 | \ fill tender item form in opened popup ${item_attributes} | 159 | \ fill tender item form in opened popup ${item_attributes} |
150 | \ submit current visible popup | 160 | \ submit current visible popup |
151 | \ ${features} = get from dictionary by keys ${item_attributes} features | 161 | \ ${features} = get from dictionary by keys ${item_attributes} features |
152 | \ run keyword if condition is not none ${features} fill tender form features ${features} ${tender_form_item_panel_add_feature_btn_locator} | 162 | \ run keyword if condition is not none ${features} fill tender form features ${features} ${tender_form_item_panel_add_feature_btn_locator} |
163 | +# \ ${report} = set variable if "${mode}" in "reporting" 2 | ||
153 | 164 | ||
154 | fill tender item form in opened popup | 165 | fill tender item form in opened popup |
155 | [Arguments] ${data} | 166 | [Arguments] ${data} |
@@ -217,17 +228,15 @@ fill tender form features2 | @@ -217,17 +228,15 @@ fill tender form features2 | ||
217 | 228 | ||
218 | click visible element ${add_btn_locator} | 229 | click visible element ${add_btn_locator} |
219 | wait until popup is visible | 230 | wait until popup is visible |
220 | - click visible element ${tender_form_features_panel_edit_btn_locator} | ||
221 | - wait until page does not contain element ${popup_dynamic_form_loading_element_locator} | ||
222 | - fill feature form in opened popup ${feature_attributes_array} | 231 | + click visible element ${tender_form_features_panel_edit_btn_locator} |
232 | + wait until page does not contain element ${popup_dynamic_form_loading_element_locator} | ||
233 | + fill feature form in opened popup ${feature_attributes_array} | ||
223 | submit current visible popup | 234 | submit current visible popup |
224 | 235 | ||
225 | fill feature form in opened popup | 236 | fill feature form in opened popup |
226 | [Arguments] ${data} | 237 | [Arguments] ${data} |
227 | [Documentation] заповнює відкриту форму в активній вкладці згідно вказаних даних | 238 | [Documentation] заповнює відкриту форму в активній вкладці згідно вказаних даних |
228 | 239 | ||
229 | - log many ${data} | ||
230 | - capture page screenshot | ||
231 | ${title} = get from dictionary by keys ${data} title | 240 | ${title} = get from dictionary by keys ${data} title |
232 | run keyword if condition is not none ${title} input text to exist visible input ${feature_form_popup_title_input_locator} ${title} | 241 | run keyword if condition is not none ${title} input text to exist visible input ${feature_form_popup_title_input_locator} ${title} |
233 | ${description} = get from dictionary by keys ${data} description | 242 | ${description} = get from dictionary by keys ${data} description |
@@ -256,8 +265,6 @@ fill feature form in opened popup2 | @@ -256,8 +265,6 @@ fill feature form in opened popup2 | ||
256 | [Arguments] ${data} | 265 | [Arguments] ${data} |
257 | [Documentation] заповнює відкриту форму в активній вкладці згідно вказаних даних | 266 | [Documentation] заповнює відкриту форму в активній вкладці згідно вказаних даних |
258 | 267 | ||
259 | - log many ${data} | ||
260 | - capture page screenshot | ||
261 | ${title} = get from dictionary by keys ${data} title | 268 | ${title} = get from dictionary by keys ${data} title |
262 | run keyword if condition is not none ${title} input text to exist visible input ${feature_form_popup_title_input_locator} ${title} | 269 | run keyword if condition is not none ${title} input text to exist visible input ${feature_form_popup_title_input_locator} ${title} |
263 | ${description} = get from dictionary by keys ${data} description | 270 | ${description} = get from dictionary by keys ${data} description |
@@ -302,6 +309,7 @@ fill lot form in opened popup | @@ -302,6 +309,7 @@ fill lot form in opened popup | ||
302 | [Arguments] ${data} | 309 | [Arguments] ${data} |
303 | [Documentation] заповнює відкриту форму згідно вказаних даних | 310 | [Documentation] заповнює відкриту форму згідно вказаних даних |
304 | 311 | ||
312 | + log many ${data} | ||
305 | ${title} = get from dictionary by keys ${data} title | 313 | ${title} = get from dictionary by keys ${data} title |
306 | run keyword if condition is not none ${title} input text to visible input ${lot_form_popup_title_input_locator} ${title} | 314 | run keyword if condition is not none ${title} input text to visible input ${lot_form_popup_title_input_locator} ${title} |
307 | ${title_en} = get from dictionary by keys ${data} title_en | 315 | ${title_en} = get from dictionary by keys ${data} title_en |
@@ -317,8 +325,8 @@ fill lot form in opened popup | @@ -317,8 +325,8 @@ fill lot form in opened popup | ||
317 | run keyword if condition is not none ${amount} input number to exist visible input ${lot_form_popup_value_amount_input_locator} ${amount} | 325 | run keyword if condition is not none ${amount} input number to exist visible input ${lot_form_popup_value_amount_input_locator} ${amount} |
318 | ${min_step_amount} = get from dictionary by keys ${data} minimalStep amount | 326 | ${min_step_amount} = get from dictionary by keys ${data} minimalStep amount |
319 | 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} | 327 | 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} |
320 | - ${min_step_percentage} = get from dictionary by keys ${data} minimalStepPercentage | ||
321 | - 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} | 328 | +# ${min_step_percentage} = get from dictionary by keys ${data} minimalStepPercentage |
329 | +# 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} | ||
322 | 330 | ||
323 | ${yearly_payments_percentage_range} = get from dictionary by keys ${data} yearlyPaymentsPercentageRange | 331 | ${yearly_payments_percentage_range} = get from dictionary by keys ${data} yearlyPaymentsPercentageRange |
324 | ${yearly_payments_percentage_range} = Run keyword If '${yearly_payments_percentage_range}' != '${None}' set_value_minimalStepPercentage ${yearly_payments_percentage_range} | 332 | ${yearly_payments_percentage_range} = Run keyword If '${yearly_payments_percentage_range}' != '${None}' set_value_minimalStepPercentage ${yearly_payments_percentage_range} |
@@ -350,6 +358,24 @@ fill tender required documents | @@ -350,6 +358,24 @@ fill tender required documents | ||
350 | wait until page does not contain element ${popup_dynamic_form_loading_element_locator} | 358 | wait until page does not contain element ${popup_dynamic_form_loading_element_locator} |
351 | submit current visible popup | 359 | submit current visible popup |
352 | 360 | ||
361 | +fill award reporting form in opened popup | ||
362 | + [Arguments] ${data} | ||
363 | + [Documentation] заповнює відкриту форму в активній вкладці згідно вказаних даних | ||
364 | + | ||
365 | + log many ${data} | ||
366 | + ${suppliers} = get from dictionary by keys ${data} suppliers address | ||
367 | + run keyword if condition is not none ${title} select from visible list by value ${milestone_form_popup_title_input_locator} ${title} | ||
368 | + ${description} = get from dictionary by keys ${data} description | ||
369 | + run keyword if condition is not none ${description} input text to exist visible input ${milestone_form_popup_description_input_locator} ${description} | ||
370 | + ${percentage} = get from dictionary by keys ${data} percentage | ||
371 | + run keyword if condition is not none ${percentage} input text to exist visible input ${milestone_form_popup_percentage_input_locator} ${percentage} | ||
372 | + ${code} = get from dictionary by keys ${data} code | ||
373 | + run keyword if condition is not none ${code} select from visible list by value ${milestone_form_popup_code_input_locator} ${code} | ||
374 | + ${duration_days} = get from dictionary by keys ${data} duration days | ||
375 | + run keyword if condition is not none ${duration_days} input text to exist visible input ${milestone_form_popup_duration_days_input_locator} ${duration_days} | ||
376 | + ${duration_type} = get from dictionary by keys ${data} duration type | ||
377 | + run keyword if condition is not none ${duration_type} select from visible list by value ${milestone_form_popup_duration_type_input_locator} ${duration_type} | ||
378 | + | ||
353 | open tender search form | 379 | open tender search form |
354 | [Documentation] відкриває сторінку з пошуком тендерів | 380 | [Documentation] відкриває сторінку з пошуком тендерів |
355 | 381 |
@@ -113,9 +113,10 @@ ${tender_form_general_panel_add_document_btn_locator} = jquery=#coll | @@ -113,9 +113,10 @@ ${tender_form_general_panel_add_document_btn_locator} = jquery=#coll | ||
113 | ${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 | 113 | ${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 |
114 | 114 | ||
115 | #${tender_form_item_add_edit_btn_locator} = jquery=.js-form-group-popup-panel .panel-heading .actions-wrapper .js-form-popup-add | 115 | #${tender_form_item_add_edit_btn_locator} = jquery=.js-form-group-popup-panel .panel-heading .actions-wrapper .js-form-popup-add |
116 | -#последняя кнопка “Додати” для номенклатуры (для лотовой и безлотовой) | 116 | +#последняя кнопка “Додати” для номенклатуры (для лотовой и безлотовой и репортинг) |
117 | ${tender_form_item_add_edit_btn_locator} = jquery=.form-group-popup-panel[data-attribute="items"]:last > .panel-heading .js-form-popup-add | 117 | ${tender_form_item_add_edit_btn_locator} = jquery=.form-group-popup-panel[data-attribute="items"]:last > .panel-heading .js-form-popup-add |
118 | ${tender_form_item_panel_add_feature_btn_locator} = jquery=.form-group-popup-panel[data-attribute="items"]:last .js-form-popup-panel-list:first > .js-form-popup-panel-item:last .actions-wrapper .btn[data-attribute="features"] | 118 | ${tender_form_item_panel_add_feature_btn_locator} = jquery=.form-group-popup-panel[data-attribute="items"]:last .js-form-popup-panel-list:first > .js-form-popup-panel-item:last .actions-wrapper .btn[data-attribute="features"] |
119 | +${tender_form_item_edit_btn_locator} = jquery=.form-group-popup-panel[data-attribute="items"]:last > .panel-heading .js-form-popup-add | ||
119 | 120 | ||
120 | #${tender_form_milestones_panel_edit_btn_locator} = jquery=[data-url$="#milestones-form-popup"] | 121 | #${tender_form_milestones_panel_edit_btn_locator} = jquery=[data-url$="#milestones-form-popup"] |
121 | ${tender_form_milestones_panel_edit_btn_locator} = jquery=.form-popup-panel[data-attribute="milestones"]:last > .panel-heading .js-form-popup-update | 122 | ${tender_form_milestones_panel_edit_btn_locator} = jquery=.form-popup-panel[data-attribute="milestones"]:last > .panel-heading .js-form-popup-update |
@@ -181,16 +182,19 @@ ${tender_milestones_0_code_value_locator} = jquery=#tend | @@ -181,16 +182,19 @@ ${tender_milestones_0_code_value_locator} = jquery=#tend | ||
181 | ${tender_milestones_0_title_value_locator} = jquery=#tender-part-pjax .tabs.tabs .milestone-info-wrapper.hidden.info-wrapper:first .info-row.title | 182 | ${tender_milestones_0_title_value_locator} = jquery=#tender-part-pjax .tabs.tabs .milestone-info-wrapper.hidden.info-wrapper:first .info-row.title |
182 | ${tender_milestones_0_percentage_value_locator} = jquery=#tender-part-pjax .tabs.tabs .milestone-info-wrapper.hidden.info-wrapper:first .info-row.percentage | 183 | ${tender_milestones_0_percentage_value_locator} = jquery=#tender-part-pjax .tabs.tabs .milestone-info-wrapper.hidden.info-wrapper:first .info-row.percentage |
183 | ${tender_milestones_0_duration_days_value_locator} = jquery=#tender-part-pjax .tabs.tabs .milestone-info-wrapper.hidden.info-wrapper:first .info-row.duration_days | 184 | ${tender_milestones_0_duration_days_value_locator} = jquery=#tender-part-pjax .tabs.tabs .milestone-info-wrapper.hidden.info-wrapper:first .info-row.duration_days |
185 | +${tender_milestones_0_duration_days_value_type} = integer | ||
184 | ${tender_milestones_0_duration_type_value_locator} = jquery=#tender-part-pjax .tabs.tabs .milestone-info-wrapper.hidden.info-wrapper:first .info-row.duration_type | 186 | ${tender_milestones_0_duration_type_value_locator} = jquery=#tender-part-pjax .tabs.tabs .milestone-info-wrapper.hidden.info-wrapper:first .info-row.duration_type |
185 | ${tender_milestones_1_code_value_locator} = jquery=#milestones .pseudo-table__row:nth(2) .milestone-info-wrapper.hidden.info-wrapper .info-row.code | 187 | ${tender_milestones_1_code_value_locator} = jquery=#milestones .pseudo-table__row:nth(2) .milestone-info-wrapper.hidden.info-wrapper .info-row.code |
186 | ${tender_milestones_1_title_value_locator} = jquery=#milestones .pseudo-table__row:nth(2) .milestone-info-wrapper.hidden.info-wrapper .info-row.title | 188 | ${tender_milestones_1_title_value_locator} = jquery=#milestones .pseudo-table__row:nth(2) .milestone-info-wrapper.hidden.info-wrapper .info-row.title |
187 | ${tender_milestones_1_percentage_value_locator} = jquery=#milestones .pseudo-table__row:nth(2) .milestone-info-wrapper.hidden.info-wrapper .info-row.percentage | 189 | ${tender_milestones_1_percentage_value_locator} = jquery=#milestones .pseudo-table__row:nth(2) .milestone-info-wrapper.hidden.info-wrapper .info-row.percentage |
188 | ${tender_milestones_1_duration_days_value_locator} = jquery=#milestones .pseudo-table__row:nth(2) .milestone-info-wrapper.hidden.info-wrapper .info-row.duration_days | 190 | ${tender_milestones_1_duration_days_value_locator} = jquery=#milestones .pseudo-table__row:nth(2) .milestone-info-wrapper.hidden.info-wrapper .info-row.duration_days |
191 | +${tender_milestones_1_duration_days_value_type} = integer | ||
189 | ${tender_milestones_1_duration_type_value_locator} = jquery=#milestones .pseudo-table__row:nth(2) .milestone-info-wrapper.hidden.info-wrapper .info-row.duration_type | 192 | ${tender_milestones_1_duration_type_value_locator} = jquery=#milestones .pseudo-table__row:nth(2) .milestone-info-wrapper.hidden.info-wrapper .info-row.duration_type |
190 | ${tender_milestones_2_code_value_locator} = jquery=#tender-part-pjax .tabs.tabs .milestone-info-wrapper.hidden.info-wrapper:last .info-row.code | 193 | ${tender_milestones_2_code_value_locator} = jquery=#tender-part-pjax .tabs.tabs .milestone-info-wrapper.hidden.info-wrapper:last .info-row.code |
191 | ${tender_milestones_2_title_value_locator} = jquery=#tender-part-pjax .tabs.tabs .milestone-info-wrapper.hidden.info-wrapper:last .info-row.title | 194 | ${tender_milestones_2_title_value_locator} = jquery=#tender-part-pjax .tabs.tabs .milestone-info-wrapper.hidden.info-wrapper:last .info-row.title |
192 | ${tender_milestones_2_percentage_value_locator} = jquery=#tender-part-pjax .tabs.tabs .milestone-info-wrapper.hidden.info-wrapper:last .info-row.percentage | 195 | ${tender_milestones_2_percentage_value_locator} = jquery=#tender-part-pjax .tabs.tabs .milestone-info-wrapper.hidden.info-wrapper:last .info-row.percentage |
193 | ${tender_milestones_2_duration_days_value_locator} = jquery=#tender-part-pjax .tabs.tabs .milestone-info-wrapper.hidden.info-wrapper:last .info-row.duration_days | 196 | ${tender_milestones_2_duration_days_value_locator} = jquery=#tender-part-pjax .tabs.tabs .milestone-info-wrapper.hidden.info-wrapper:last .info-row.duration_days |
197 | +${tender_milestones_2_duration_days_value_type} = integer | ||
194 | ${tender_milestones_2_duration_type_value_locator} = jquery=#tender-part-pjax .tabs.tabs .milestone-info-wrapper.hidden.info-wrapper:last .info-row.duration_type | 198 | ${tender_milestones_2_duration_type_value_locator} = jquery=#tender-part-pjax .tabs.tabs .milestone-info-wrapper.hidden.info-wrapper:last .info-row.duration_type |
195 | ${tender_value_amount_value_locator} = jquery=#tender-general-info .budget-amount.hidden | 199 | ${tender_value_amount_value_locator} = jquery=#tender-general-info .budget-amount.hidden |
196 | ${tender_value_amount_value_type} = float | 200 | ${tender_value_amount_value_type} = float |
@@ -231,6 +235,8 @@ ${tender_lot_0_minimal_step_amount_value_locator} = jquery=#lots | @@ -231,6 +235,8 @@ ${tender_lot_0_minimal_step_amount_value_locator} = jquery=#lots | ||
231 | ${tender_lot_0_minimal_step_amount_value_type} = float | 235 | ${tender_lot_0_minimal_step_amount_value_type} = float |
232 | ${tender_lot_0_lot_0_minimal_step_amount_currency_value_locator} = jquery=#lots .tabs__content .tabs__pane--visible .budget-source.hidden | 236 | ${tender_lot_0_lot_0_minimal_step_amount_currency_value_locator} = jquery=#lots .tabs__content .tabs__pane--visible .budget-source.hidden |
233 | ${tender_lot_0_lot_0_minimal_step_amount_value_added_tax_included_value_locator} = jquery=#lots .tabs__content .tabs__pane--visible .budget-source.hidden | 237 | ${tender_lot_0_lot_0_minimal_step_amount_value_added_tax_included_value_locator} = jquery=#lots .tabs__content .tabs__pane--visible .budget-source.hidden |
238 | +${tender_form_lots_edit_lot1_btn_locator} = jquery=#Lots #collapseLots #Lots0 .actions-wrapper a.btn.btn-default.btn-update.js-form-popup-update:first | ||
239 | +${tender_form_lots_add_item_reporting_btn_locator} = jquery=.form-group-popup-panel[data-attribute="items"]:last #Items0 .js-form-popup-update | ||
234 | 240 | ||
235 | #item | 241 | #item |
236 | ${tender_item_1_tabs_item_btn_locator} jquery=.tabs__content .tabs__pane--visible .pseudo-table__row.item-item-wrapper:nth(0) | 242 | ${tender_item_1_tabs_item_btn_locator} jquery=.tabs__content .tabs__pane--visible .pseudo-table__row.item-item-wrapper:nth(0) |
@@ -259,6 +265,10 @@ ${tender_item_delivery_end_date_value_locator} = jquery=.tabs | @@ -259,6 +265,10 @@ ${tender_item_delivery_end_date_value_locator} = jquery=.tabs | ||
259 | ${tender_item_delivery_latitude_value_locator} = jquery=.tabs__content .tabs__pane--visible .pseudo-table__row.item-item-wrapper:nth(0) .item-info-wrapper.hidden.info-wrapper .delivery-latitude | 265 | ${tender_item_delivery_latitude_value_locator} = jquery=.tabs__content .tabs__pane--visible .pseudo-table__row.item-item-wrapper:nth(0) .item-info-wrapper.hidden.info-wrapper .delivery-latitude |
260 | ${tender_item_delivery_longitude_value_locator} = jquery=.tabs__content .tabs__pane--visible .pseudo-table__row.item-item-wrapper:nth(0) .item-info-wrapper.hidden.info-wrapper .delivery-longitude | 266 | ${tender_item_delivery_longitude_value_locator} = jquery=.tabs__content .tabs__pane--visible .pseudo-table__row.item-item-wrapper:nth(0) .item-info-wrapper.hidden.info-wrapper .delivery-longitude |
261 | 267 | ||
268 | +${tender_lot_item_description_value_locator} = jquery=.tabs__content .tabs__pane--visible .pseudo-table__row.item-item-wrapper:nth(0) .textvalue.hidden | ||
269 | + | ||
270 | + | ||
271 | +${tender_form_general_panel_update_award_reporting_btn_locator} = jquery=#Award .js-form-popup-update | ||
262 | 272 | ||
263 | #add feature | 273 | #add feature |
264 | #${tender_form_features_panel_edit_btn_locator} = jquery=.fancybox-content [href$="#add-features"] | 274 | #${tender_form_features_panel_edit_btn_locator} = jquery=.fancybox-content [href$="#add-features"] |
@@ -266,3 +276,7 @@ ${tender_form_general_panel_update_feature_btn_locator} = jquery=#coll | @@ -266,3 +276,7 @@ ${tender_form_general_panel_update_feature_btn_locator} = jquery=#coll | ||
266 | ${tender_feature_dell_btn_locator} = jquery=.fancybox-is-open .nav.nav-pills.js-nav.allow-empty .fa.fa-times:last | 276 | ${tender_feature_dell_btn_locator} = jquery=.fancybox-is-open .nav.nav-pills.js-nav.allow-empty .fa.fa-times:last |
267 | ${tender_feature_form_submit_success_msg} = Ви впевнені що бажаєте видалити поточний неціновий критерій? | 277 | ${tender_feature_form_submit_success_msg} = Ви впевнені що бажаєте видалити поточний неціновий критерій? |
268 | ${tender_feature_dell_submit_btn_locator} = jquery=.animated-content .js-btn-confirm | 278 | ${tender_feature_dell_submit_btn_locator} = jquery=.animated-content .js-btn-confirm |
279 | + | ||
280 | +${tender_features_0_title_value_locator} = jquery=.row--value-list .value .underline__inner:nth(1) | ||
281 | +${tender_features_1_title_value_locator} = jquery=.row--value-list .value .underline__inner:nth(0) | ||
282 | +${tender_features_2_title_value_locator} = jquery=.row--value-list .value .underline__inner:nth(2) |
Please
register
or
login
to post a comment