Commit 8f0c6a365c0961caa90ffc45e67b3a3067d14919

Authored by Playtenders
1 parent 9279c1cb

reporting

@@ -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