Showing
9 changed files
with
372 additions
and
258 deletions
... | ... | @@ -108,7 +108,8 @@ Resource playtender_tende |
108 | 108 | |
109 | 109 | Створити тендер |
110 | 110 | [Arguments] ${user} ${tender_data} |
111 | - [Documentation] Створити тендер з початковими даними tender_data. Повернути uaid створеного тендера. | |
111 | + [Documentation] Створити тендер з початковими даними tender_data. Повернути | |
112 | + ... uaid створеного тендера. | |
112 | 113 | |
113 | 114 | ${tender_prepared_data} = prepare tender data ${tender_data['data']} |
114 | 115 | log ${tender_prepared_data} |
... | ... | @@ -141,26 +142,10 @@ Resource playtender_tende |
141 | 142 | [Documentation] Отримати значення поля field_name для тендера tender_uaid. |
142 | 143 | |
143 | 144 | open tender page by uaid ${tender_uaid} |
144 | - ${value} = get tender field value by name ${field_name} | |
145 | - [Return] ${value} | |
146 | - | |
147 | -Отримати інформацію із предмету | |
148 | - [Arguments] ${username} ${tender_uaid} ${item_id} ${field_name} | |
149 | - [Documentation] Отримати значення поля field_name з предмету з item_id в описі для тендера tender_uaid. | |
150 | - | |
151 | - open tender page by uaid ${tender_uaid} | |
152 | - ${value} = get item field value by name ${field_name} | |
153 | - [Return] ${value} | |
154 | - | |
155 | -Отримати інформацію із лоту | |
156 | - [Arguments] ${username} ${tender_uaid} ${lot_id} ${field_name} | |
157 | - [Documentation] Отримати значення поля field_name з лоту з lot_id в описі для тендера tender_uaid. | |
158 | - | |
159 | - open tender page by uaid ${tender_uaid} | |
160 | - ${value} = get lot field value by name ${field_name} | |
145 | + ${field_name} = set variable tender.${field_name}.value | |
146 | + ${value} = get field_value by field_name on opened page ${field_name} | |
161 | 147 | [Return] ${value} |
162 | 148 | |
163 | - | |
164 | 149 | Внести зміни в тендер |
165 | 150 | [Arguments] ${username} ${tender_uaid} ${fieldname} ${fieldvalue} |
166 | 151 | [Documentation] Змінити значення поля fieldname на fieldvalue для плана із зазначеним plan_uaid. |
... | ... | @@ -170,55 +155,123 @@ Resource playtender_tende |
170 | 155 | fill tender form ${tender_data} |
171 | 156 | save tender form and wait synchronization |
172 | 157 | |
158 | +Завантажити документ | |
159 | + [Arguments] ${username} ${filepath} ${tender_uaid} | |
160 | + [Documentation] Завантажити документ, який знаходиться по шляху filepath, | |
161 | + ... до тендера tender_uaid. | |
162 | + | |
163 | + open tender form by uaid ${tender_uaid} | |
164 | + add document in tender ${filepath} | |
165 | + save tender form and wait synchronization | |
166 | + | |
167 | +######################################################################################################################## | |
168 | +################################################### ITEM KEYWORDS #################################################### | |
169 | +######################################################################################################################## | |
170 | + | |
173 | 171 | Додати предмет закупівлі |
174 | 172 | [Arguments] ${username} ${tender_uaid} ${item_data} |
173 | + [Documentation] Додати дані про предмет item до тендера tender_uaid. | |
175 | 174 | |
176 | 175 | open tender form by uaid ${tender_uaid} |
177 | 176 | ${items} = create list ${item_data} |
178 | 177 | fill tender form items ${items} |
179 | 178 | save tender form and wait synchronization |
180 | 179 | |
181 | -Завантажити документ | |
182 | - [Arguments] ${username} ${filepath} ${tender_uaid} | |
183 | - [Documentation] Завантажити документ, який знаходиться по шляху filepath, до тендера tender_uaid. | |
180 | +Отримати інформацію із предмету | |
181 | + [Arguments] ${username} ${tender_uaid} ${item_id} ${field_name} | |
182 | + [Documentation] Отримати значення поля field_name з предмету з item_id в описі для тендера tender_uaid. | |
184 | 183 | |
185 | - open tender form by uaid ${tender_uaid} | |
186 | - add document in tender ${filepath} | |
187 | - save tender form and wait synchronization | |
184 | + open tender page by uaid ${tender_uaid} | |
185 | + ${value} = get item field value by name ${field_name} | |
186 | + [Return] ${value} | |
187 | + | |
188 | +Видалити предмет закупівлі | |
189 | + [Arguments] ${username} ${tender_uaid} ${item_id} ${lot_id}=Empty | |
190 | + [Documentation] Видалити з тендера tender_uaid предмет з item_id в описі | |
191 | + ... (предмет може бути прив'язаним до лоту з lot_id в описі, | |
192 | + ... якщо lot_id != Empty). | |
193 | + | |
194 | + | |
195 | +######################################################################################################################## | |
196 | +################################################### END ITEM KEYWORDS ################################################# | |
197 | +######################################################################################################################## | |
198 | + | |
199 | +######################################################################################################################## | |
200 | +################################################### LOT KEYWORDS #################################################### | |
201 | +######################################################################################################################## | |
202 | + | |
203 | +Створити лот | |
204 | + [Arguments] ${username} ${tender_uaid} ${lot} | |
205 | + [Documentation] Додати лот lot до тендера tender_uaid. | |
206 | + | |
207 | +Отримати інформацію із лоту | |
208 | + [Arguments] ${username} ${tender_uaid} ${lot_id} ${field_name} | |
209 | + [Documentation] Отримати значення поля field_name з лоту з lot_id в описі для тендера tender_uaid. | |
210 | + | |
211 | + open tender page by uaid ${tender_uaid} | |
212 | + ${value} = get lot field value by name ${field_name} | |
213 | + [Return] ${value} | |
188 | 214 | |
189 | 215 | Завантажити документ в лот |
190 | 216 | [Arguments] ${username} ${filepath} ${tender_uaid} ${lot_id} |
191 | - [Documentation] Завантажити документ, який знаходиться по шляху filepath, до лоту з lot_id в описі для тендера tender_uaid. | |
217 | + [Documentation] Завантажити документ, який знаходиться по шляху filepath, | |
218 | + ... до лоту з lot_id в описі для тендера tender_uaid. | |
192 | 219 | |
193 | 220 | open tender form by uaid ${tender_uaid} |
194 | 221 | add document in lot ${filepath} ${lot_id} |
195 | 222 | save tender form and wait synchronization |
196 | 223 | |
224 | + | |
225 | +######################################################################################################################## | |
226 | +################################################### END LOT KEYWORDS ################################################# | |
227 | +######################################################################################################################## | |
228 | +######################################################################################################################## | |
229 | +################################################### FEATIRE KEYWORDS ############################################# | |
230 | +######################################################################################################################## | |
231 | + | |
232 | +######################################################################################################################## | |
233 | +################################################### END FEATIRE KEYWORDS ############################################# | |
234 | +######################################################################################################################## | |
235 | + | |
236 | +######################################################################################################################## | |
237 | +################################################### QUESTION KEYWORDS ############################################# | |
238 | +######################################################################################################################## | |
239 | + | |
197 | 240 | Відповісти на запитання |
198 | 241 | [Arguments] ${username} ${tender_uaid} ${answer_data} ${question_id} |
199 | - [Documentation] Дати відповідь answer_data на запитання з question_id в описі для тендера tender_uaid. | |
242 | + [Documentation] Дати відповідь answer_data на запитання з question_id | |
243 | + ... в описі для тендера tender_uaid. | |
200 | 244 | |
201 | 245 | open tender form by uaid ${tender_uaid} |
202 | 246 | answer question ${answer_data} ${question_id} |
203 | 247 | |
204 | 248 | Задати запитання на предмет |
205 | 249 | [Arguments] ${username} ${tender_uaid} ${item_id} ${question} |
206 | - [Documentation] Створити запитання з даними question до предмету з item_id в описі для тендера tender_uaid. | |
250 | + [Documentation] Створити запитання з даними question до предмету з item_id | |
251 | + ... в описі для тендера tender_uaid. | |
207 | 252 | |
208 | - Задати запитання ${username} ${tender_uaid} item ${item_id} ${question} | |
253 | + add question ${username} ${tender_uaid} item ${item_id} ${question} | |
209 | 254 | |
210 | 255 | Задати запитання на лот |
211 | 256 | [Arguments] ${username} ${tender_uaid} ${lot_id } ${question} |
212 | - [Documentation] Створити запитання з даними question до лоту з lot_id в описі для тендера tender_uaid. | |
257 | + [Documentation] Створити запитання з даними question до лоту з lot_id | |
258 | + ... в описі для тендера tender_uaid. | |
213 | 259 | |
214 | - Задати запитання ${username} ${tender_uaid} lot ${lot_id} ${question} | |
260 | + add question ${username} ${tender_uaid} lot ${lot_id} ${question} | |
215 | 261 | |
216 | 262 | Задати запитання на тендер |
217 | 263 | [Arguments] ${username} ${tender_uaid} ${question} |
218 | 264 | [Documentation] Створити запитання з даними question для тендера tender_uaid. |
219 | 265 | |
220 | - Задати запитання ${username} ${tender_uaid} tender null ${question} | |
266 | + add question ${username} ${tender_uaid} tender null ${question} | |
267 | + | |
268 | +######################################################################################################################## | |
269 | +################################################### END QUESTION KEYWORDS ############################################# | |
270 | +######################################################################################################################## | |
221 | 271 | |
272 | +######################################################################################################################## | |
273 | +################################################### CLAIM KEYWORDS ############################################# | |
274 | +######################################################################################################################## | |
222 | 275 | Створити вимогу про виправлення умов закупівлі |
223 | 276 | [Arguments] ${username} ${tender_uaid} ${claim} ${doc_name} |
224 | 277 | [Documentation] Створити запитання з даними question для тендера tender_uaid. |
... | ... | @@ -226,32 +279,50 @@ Resource playtender_tende |
226 | 279 | |
227 | 280 | Створити чернетку вимоги про виправлення умов закупівлі |
228 | 281 | [Arguments] ${username} ${tender_uaid} ${claim} |
229 | - [Documentation] Створює вимогу claim про виправлення умов закупівлі у статусі claim для тендера tender_uaid. Можна створити вимогу як з документом, який знаходиться за шляхом document, так і без нього. | |
282 | + [Documentation] Створює вимогу claim про виправлення умов закупівлі | |
283 | + ... у статусі claim для тендера tender_uaid. Можна створити | |
284 | + ... вимогу як з документом, який знаходиться за шляхом document, | |
285 | + ... так і без нього. | |
286 | + | |
230 | 287 | Run Keyword And Return Створити вимогу ${username} ${tender_uaid} tender null ${claim} null |
231 | 288 | |
232 | 289 | Створити вимогу про виправлення умов лоту |
233 | 290 | [Arguments] ${username} ${tender_uaid} ${claim} ${lot_id} ${doc_name} |
234 | - [Documentation] Створює вимогу claim про виправлення умов лоту у статусі draft для тендера tender_uaid. | |
291 | + [Documentation] Створює вимогу claim про виправлення умов лоту | |
292 | + ... у статусі draft для тендера tender_uaid. | |
293 | + | |
235 | 294 | Run Keyword And Return Створити вимогу ${username} ${tender_uaid} lot ${lot_id} ${claim} ${doc_name} |
236 | 295 | |
237 | 296 | Створити чернетку вимоги про виправлення умов лоту |
238 | 297 | [Arguments] ${username} ${tender_uaid} ${claim} ${lot_id} |
239 | - [Documentation] Створює вимогу claim про виправлення умов закупівлі у статусі draft для тендера tender_uaid. | |
298 | + [Documentation] Створює вимогу claim про виправлення умов закупівлі | |
299 | + ... у статусі draft для тендера tender_uaid. | |
240 | 300 | Run Keyword And Return Створити вимогу ${username} ${tender_uaid} lot ${lot_id} ${claim} null |
241 | 301 | |
242 | 302 | Створити вимогу про виправлення визначення переможця |
243 | 303 | [Arguments] ${username} ${tender_uaid} ${claim} ${proposal_id} ${doc_name} |
244 | - [Documentation] Створює вимогу claim про виправлення визначення переможця під номером award_index в статусі claim для тендера tender_uaid. Можна створити вимогу як з документом, який знаходиться за шляхом document, так і без нього. | |
304 | + [Documentation] Створює вимогу claim про виправлення визначення переможця | |
305 | + ... під номером award_index в статусі claim для тендера tender_uaid. Можна створити вимогу як з документом, який знаходиться за шляхом document, так і без нього. | |
245 | 306 | Run Keyword And Return Створити вимогу ${username} ${tender_uaid} winner ${proposal_id} ${claim} ${doc_name} |
246 | 307 | |
247 | 308 | Створити чернетку вимоги про виправлення визначення переможця |
248 | 309 | [Arguments] ${username} ${tender_uaid} ${claim} ${proposal_id} |
249 | - [Documentation] Створює вимогу claim про виправлення визначення переможця під номером award_index в статусі draft для тендера tender_uaid. | |
310 | + [Documentation] Створює вимогу claim про виправлення визначення переможця | |
311 | + ... під номером award_index в статусі draft для тендера tender_uaid. | |
250 | 312 | Run Keyword And Return Створити вимогу ${username} ${tender_uaid} winner ${proposal_id} ${claim} null |
251 | 313 | |
314 | +######################################################################################################################## | |
315 | +################################################### END CLAIM KEYWORDS ############################################# | |
316 | +######################################################################################################################## | |
317 | + | |
318 | +######################################################################################################################## | |
319 | +################################################### BID KEYWORDS ############################################# | |
320 | +######################################################################################################################## | |
252 | 321 | Подати цінову пропозицію |
253 | 322 | [Arguments] ${username} ${tender_uaid} ${bid} ${lots_ids} ${features_ids} |
254 | - [Documentation] Подати цінову пропозицію bid для тендера tender_uaid на лоти lots_ids (якщо lots_ids != None) з неціновими показниками features_ids (якщо features_ids != None). | |
323 | + [Documentation] Подати цінову пропозицію bid для тендера tender_uaid | |
324 | + ... на лоти lots_ids (якщо lots_ids != None) з неціновими | |
325 | + ... показниками features_ids (якщо features_ids != None). | |
255 | 326 | |
256 | 327 | open tender form by uaid ${tender_uaid} |
257 | 328 | fill bid form ${tender_uaid} ${bid} ${lots_ids} ${features_ids} |
... | ... | @@ -260,10 +331,34 @@ Resource playtender_tende |
260 | 331 | |
261 | 332 | Змінити цінову пропозицію |
262 | 333 | [Arguments] ${username} ${tender_uaid} ${fieldname} ${fieldvalue} |
263 | - [Documentation] Змінити поле fieldname на fieldvalue цінової пропозиції користувача username для тендера tender_uaid. | |
334 | + [Documentation] Змінити поле fieldname на fieldvalue цінової пропозиції користувача | |
335 | + ... username для тендера tender_uaid. | |
264 | 336 | |
265 | 337 | open tender form by uaid ${tender_uaid} |
266 | 338 | fill bid form edit ${fieldname} ${fieldvalue} |
267 | 339 | submit form and check result ${bid_form_submit_btn_locator} ${bid_form_submit_success_msg} ${tender_created_checker_element_locator} |
268 | 340 | wait until page does not contain element with reloading ${tender_sync_element_locator} |
269 | 341 | |
342 | +######################################################################################################################## | |
343 | +################################################### END BID KEYWORDS ############################################# | |
344 | +######################################################################################################################## | |
345 | +################################################### QUALIFICATION KEYWORDS ############################################# | |
346 | +######################################################################################################################## | |
347 | +######################################################################################################################## | |
348 | +################################################### END QUALIFICATION KEYWORDS ######################################## | |
349 | +######################################################################################################################## | |
350 | + | |
351 | +######################################################################################################################## | |
352 | +################################################### LIMITED PROCUREMENT KEYWORDS ###################################### | |
353 | +######################################################################################################################## | |
354 | +######################################################################################################################## | |
355 | +################################################### END LIMITED PROCUREMENT KEYWORDS ################################## | |
356 | +######################################################################################################################## | |
357 | + | |
358 | +######################################################################################################################## | |
359 | +################################################### OPEN PROCUREMENT KEYWORDS #################################### | |
360 | +######################################################################################################################## | |
361 | +######################################################################################################################## | |
362 | +################################################### END OPEN PROCUREMENT KEYWORDS ############################### | |
363 | +######################################################################################################################## | |
364 | + | ... | ... |
playtender_bid.robot
0 → 100644
1 | +*** Settings *** | |
2 | + | |
3 | +Resource playtender_common.robot | |
4 | +Resource playtender_variables.robot | |
5 | +Resource playtender_bid_variables.robot | |
6 | + | |
7 | +*** Keywords *** | |
8 | + | |
9 | + | |
10 | +fill bid form | |
11 | + [Arguments] ${tender_uaid} ${bid} ${lots_ids} ${features_ids} | |
12 | + [Documentation] Подати цінову пропозицію bid для тендера tender_uaid на лоти lots_ids (якщо lots_ids != None) з неціновими показниками features_ids (якщо features_ids != None). | |
13 | + | |
14 | + click visible element ${bid_form_open_btn_locator} | |
15 | + wait until popup is visible | |
16 | + ${value} = get from dictionary by keys ${bid} value amount | |
17 | + ${amount} = run keyword if condition is not none ${value} convert_float_to_string ${bid.data.value.amount} | |
18 | + run keyword if condition is not none ${value} input number to exist visible input ${bid_form_value_amount_input_locator} ${amount} | |
19 | + ${value_yearly_payments_percentage} = get from dictionary by keys ${bid} value yearlyPaymentsPercentage | |
20 | + ${yearly_payments_percentage} = run keyword if condition is not none ${value_yearly_payments_percentage} convert_float_to_string ${bid.data.value.yearlyPaymentsPercentage} | |
21 | + 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 | + ${contract_duration_years} = get from dictionary by keys ${bid} value contractDuration years | |
23 | + 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 | + ${contract_duration_days} = get from dictionary by keys ${bid} value contractDuration days | |
25 | + 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 | + ${annual_costs_reduction} = get from dictionary by keys ${bid} value annualCostsReduction | |
27 | + run keyword if condition is not none ${annual_costs_reduction} Подати цінову пропозицію Esco AnnualCostsReduction ${value.annualCostsReduction} | |
28 | +# ${lots} = get from dictionary by keys ${data} lots | |
29 | + run keyword if condition is not none ${lots_ids} fill bid form lots ${bid} | |
30 | +# run keyword if condition is none ${lots_ids} fill bid form whithout lots ${bid} | |
31 | +# ${features} = get from dictionary by keys ${data} features | |
32 | +# run keyword if condition is not none ${features_ids} fill bid form features ${bid} ${tender_form_general_panel_add_feature_btn_locator} | |
33 | + fill bid required documents_all | |
34 | + submit form and check result ${bid_form_submit_btn_locator} ${bid_form_submit_success_msg} ${tender_created_checker_element_locator} | |
35 | + | |
36 | +fill bid form lots | |
37 | + [Arguments] ${bid} ${lots_ids} ${features_ids} | |
38 | + [Documentation] Заповнити лотову цінову пропозицію bid для тендера tender_uaid на лоти lots_ids з неціновими показниками features_ids (якщо features_ids != None). | |
39 | + | |
40 | + ${lots} = get from dictionary by keys ${bid} lotValues | |
41 | + ${lots_length} = Get Length ${lots} | |
42 | + : FOR ${INDEX} IN RANGE 0 ${lots_length} | |
43 | + \ ${amount} = convert_float_to_string ${bid.data.value.amount} | |
44 | + \ run keyword and ignore error input number to exist visible input ${bid_form_value_amount_input_locator} ${amount} | |
45 | + \ ${self_qualified} = get from dictionary by keys ${bid} selfQualified | |
46 | + \ run keyword and ignore error ${self_qualified} click visible element ${bid_form_value_self_qualified_input_locator} | |
47 | + \ ${self_eligible} = get from dictionary by keys ${bid} selfEligible | |
48 | + \ run keyword if condition is not none ${self_eligible} click visible element ${bid_form_value_self_eligible_input_locator} | |
49 | + \ run keyword if condition is not none ${features_ids} fill bid form features ${bid.data.parameters} | |
50 | + | |
51 | +fill bid form features | |
52 | + [Arguments] ${bid_parameters} | |
53 | + [Documentation] Заповнити нецінові показники цінової пропозиції. | |
54 | + | |
55 | + ${features_length} = Get Length ${bid_parameters} | |
56 | + : FOR ${INDEX} IN RANGE 0 ${features_length} | |
57 | + \ ${bid_form_feature_input_locator} replace string ${bid_form_feature_input_locator_tpl} %title% ${features[${INDEX}]['code']} | |
58 | + \ Run Keyword And Ignore Error click visible element ${bid_form_feature_input_locator} | |
59 | + \ Run Keyword And Ignore Error Select From List By Label ${bid_form_feature_input_locator} ${features[${INDEX}]['value']} | |
60 | + | |
61 | +Подати цінову пропозицію Esco AnnualCostsReduction | |
62 | + [Arguments] ${values} | |
63 | + [Documentation] Заповнити цінову пропозицію Esco (параметр AnnualCostsReduction). | |
64 | + | |
65 | + ${input_index }= set variable 1 | |
66 | + : FOR ${value} IN @{values} | |
67 | + \ ${bid_form_value_annual_costs_reduction_input_locator} replace string ${bid_form_value_annual_costs_reduction_input_locator_tpl} %index% ${input_index} | |
68 | + \ input float ${bid_form_value_annual_costs_reduction_input_locator} ${value} | |
69 | + \ ${input_index} = evaluate ${input_index} + 1 | |
70 | + | |
71 | +fill bid required documents_all | |
72 | + [Arguments] ${values} | |
73 | + [Documentation] Додати фейковий документ до цінової пропозиції при створенні. | |
74 | + | |
75 | + ${file_path} ${file_name} ${file_content} = create_fake_doc | |
76 | + click visible element ${bid_form_add_document_all_btn_locator} | |
77 | + choose file ${add_file_to_form_locator} ${file_path} | |
78 | + wait until element is visible ${bid_form_add_document_type_input_locator} ${waiting_timeout} ${waiting_error} | |
79 | +# submit current visible popup | |
80 | + Run Keyword And Ignore Error Select From List By Value ${bid_form_add_document_type_input_locator} qualificationDocuments | |
81 | + click visible element ${bid_form_add_document_description_btn_locator} | |
82 | + wait until element is visible ${bid_form_add_document_description_input_locator} ${waiting_timeout} ${waiting_error} | |
83 | + input text to exist visible input ${bid_form_add_document_description_input_locator} test2 | |
84 | + click visible element ${bid_form_add_document_close_description_btn_locator} | |
85 | + | |
86 | +fill bid form edit | |
87 | + [Arguments] ${tender_uaid} ${fieldname} ${fieldvalue} | |
88 | + [Documentation] Змінити поле fieldname на fieldvalue цінової пропозиції користувача username для тендера tender_uaid. | |
89 | + | |
90 | + click visible element ${bid_form_open_btn_locator} | |
91 | + wait until popup is visible | |
92 | + Run Keyword If '${fieldname}' == 'lotValues[0].value.amount' and '${mode}' != 'esco' Run Keywords | |
93 | + ... ${amount} = convert_float_to_string ${fieldvalue} | |
94 | + ... input number to exist visible input ${bid_form_value_amount_input_locator} ${amount} | |
95 | + submit form and check result ${bid_form_submit_btn_locator} ${bid_form_submit_edit_success_msg} ${tender_created_checker_element_locator} | |
96 | + | |
97 | + | |
98 | + | ... | ... |
playtender_bid_variables.robot
0 → 100644
1 | +*** Variables *** | |
2 | + | |
3 | +#bids | |
4 | +${bid_form_open_btn_locator} = jquery=#aside-part-pjax a[href*="/tender/bid"] | |
5 | +${bid_form_submit_success_msg} = Пропозиція створена | |
6 | +${bid_form_submit_edit_success_msg} = Пропозиція відредагована | |
7 | +${bid_form_feature_input_locator_tpl} = jquery=.fancybox-is-open .fancybox-content select[id*="%title%-enum"] | |
8 | +${bid_form_value_amount_input_locator} = jquery=.fancybox-is-open .fancybox-content input[id*="-value_amount"] | |
9 | +${bid_form_value_subcontracting_details_input_locator} = jquery=.fancybox-is-open .fancybox-content textarea[id*="-subcontracting_details"] | |
10 | +${bid_form_value_self_eligible_input_locator} = jquery=.fancybox-is-open .fancybox-content input[id*="-self_eligible"] | |
11 | +${bid_form_value_self_qualified_input_locator} = jquery=.fancybox-is-open .fancybox-content input[id*="-self_qualified"] | |
12 | +${bid_form_value_yearly_payments_percentage_input_locator} = jquery=.fancybox-is-open .fancybox-content input[id*="-yearly_payments_percentage"] | |
13 | +${bid_form_value_contract_duration_years_input_locator} = jquery=.fancybox-is-open .fancybox-content input[id*="-contract_duration_years"] | |
14 | +${bid_form_value_contract_duration_days_input_locator} = jquery=.fancybox-is-open .fancybox-content input[id*="-contract_duration_days"] | |
15 | +${bid_form_value_annual_costs_reduction_input_locator_tpl} = jquery=.fancybox-is-open .fancybox-content input[id*="-annual_costs_reduction_%index%"] | |
16 | + | |
17 | +${bid_form_add_document_all_btn_locator} = jquery=.fancybox-is-open .fancybox-content .field-bidform-documents input[type$="file"] | |
18 | +${bid_form_add_document_type_input_locator} = jquery=.fancybox-is-open .fancybox-content .field-bidform-documents select[id*="-document_type"] | |
19 | +${bid_form_add_document_description_btn_locator} = jquery=.fancybox-is-open .fancybox-content .field-bidform-documents [href$="#edit"] | |
20 | +${bid_form_add_document_description_input_locator} = jquery=.fancybox-is-open .fancybox-content .field-bidform-documents .popover.fade.top.in textarea[id*="-description"].form-control | |
21 | +${bid_form_add_document_close_description_btn_locator} = jquery=.fancybox-is-open .fancybox-content .field-bidform-documents .popover.fade.top.in [href$="#close"] | |
22 | +${bid_form_submit_btn_locator} = jquery=.fancybox-is-open .fancybox-content button.btn.btn-success | |
23 | + | ... | ... |
playtender_claim.robot
0 → 100644
1 | +*** Settings *** | |
2 | + | |
3 | +Resource playtender_common.robot | |
4 | +Resource playtender_claim_variables.robot | |
5 | + | |
6 | +*** Keywords *** | |
7 | + | |
8 | + | |
9 | +Створити вимогу | |
10 | + [Arguments] ${username} ${tender_uaid} ${type} ${type_id} ${claim} ${doc_name} | |
11 | + [Documentation] Створити вимогу з claim в описі для тендера tender_uaid. | |
12 | + | |
13 | + click visible element ${claim_form_open_btn_locator} | |
14 | + wait until popup is visible | |
15 | + input text to exist visible input ${claim_form_complaintform_title_input_locator} ${claim.data.title} | |
16 | + input text to exist visible input ${claim_form_complaintform_description_input_locator} ${claim.data.description} | |
17 | + Run Keyword And Ignore Error Run Keyword If '${type}' == 'tender' Select From List By Label ${claim_form_complaintform_related_of_input_locator} Закупівля | |
18 | + Run Keyword And Ignore Error Run Keyword If '${type}' == 'lot' Select From List By Label ${claim_form_complaintform_related_of_input_locator} Лот | |
19 | + Run Keyword And Ignore Error Run Keyword If '${type}' == 'lot' Click Element ${claim_form_complaintform_related_lot_input_locator} | |
20 | + ${claim_form_complaintform_related_lot_select_locator} = Run Keyword If '${type}' == 'lot' replace string ${claim_form_complaintform_related_lot_input_locator_tpl} %type_id% ${type_id} | |
21 | + Run Keyword And Ignore Error Run Keyword If '${type}' == 'lot' Click Element ${claim_form_complaintform_related_lot_select_locator} | |
22 | + Run Keyword And Ignore Error Select From List By Label ${claim_form_complaintform_complaintform_type_input_locator} Вимога | |
23 | + Run Keyword If '${doc_name}' != 'null' click visible element ${claim_form_complaintform_document_btn_locator} | |
24 | + Run Keyword If '${doc_name}' != 'null' choose file ${add_file_to_form_locator} ${doc_name} | |
25 | + Run Keyword If '${doc_name}' != 'null' wait until page does not contain element ${popup_dynamic_form_loading_element_locator} | |
26 | +# Run Keyword If '${doc_name}' != 'null' submit current visible popup | |
27 | + submit form and check result ${claim_form_complaintform_submit_btn_locator} ${tender_form_submit_success_msg} ${tender_created_checker_element_locator} | |
28 | +# Функция ожидания claim_uaid_text_locator соответствующей вимоги | |
29 | + click visible element ${claim_form_open_btn_locator} | |
30 | + ${return_value}= Get Element Attribute ${claim_uaid_text_locator} | |
31 | + ${return_value}= Convert To String ${return_value} | |
32 | + [return] ${return_value} | |
33 | + | |
34 | + | ... | ... |
playtender_claim_variables.robot
0 → 100644
1 | +*** Variables *** | |
2 | + | |
3 | +#claim | |
4 | +${claim_form_open_btn_locator} = jquery=#aside-part-pjax a[href*="/tender/complaints"] | |
5 | +${claim_form_complaintform_title_input_locator} = jquery=.fancybox-is-open .fancybox-content input#complaintform-title | |
6 | +${claim_form_complaintform_description_input_locator} = jquery=.fancybox-is-open .fancybox-content input#complaintform-description | |
7 | +${claim_form_complaintform_related_of_input_locator} = jquery=.fancybox-is-open .fancybox-content #complaintform-related_of | |
8 | +${claim_form_complaintform_related_lot_input_locator} = jquery=.fancybox-is-open .fancybox-content #complaintform-related_lot | |
9 | +${claim_form_complaintform_related_item_input_locator_tpl} = jquery=.fancybox-is-open .fancybox-content #complaintform-related_lot option:contains("%type_id%") | |
10 | +${claim_form_complaintform_complaintform_type_input_locator} = jquery=.fancybox-is-open .fancybox-content #complaintform-type | |
11 | +${claim_form_complaintform_document_btn_locator} = jquery=.fancybox-is-open .fancybox-content a[data-url*="/tender/get-complaint-document"] | |
12 | +${claim_form_complaintform_submit_btn_locator} = jquery=.fancybox-is-open .fancybox-content a[href*="/tender/complaints"] | |
13 | +${claim_uaid_text_locator} = jquery=#tender-complaint-list div.item.js-item:last .complaint-id span.value | |
14 | + | ... | ... |
playtender_question.robot
0 → 100644
1 | +*** Settings *** | |
2 | + | |
3 | +Resource playtender_common.robot | |
4 | +Resource playtender_question_variables.robot | |
5 | + | |
6 | +*** Keywords *** | |
7 | + | |
8 | +add question | |
9 | + [Arguments] ${username} ${tender_uaid} ${type} ${type_id} ${question} | |
10 | + [Documentation] Створити запитання з question в описі для тендера tender_uaid. | |
11 | + | |
12 | + click visible element ${question_form_create_question_btn_locator} | |
13 | + wait until popup is visible | |
14 | + input text to exist visible input ${question_form_open_form_answer_input_locator} ${answer_data.data.answer} | |
15 | + Run Keyword If '${type}' == 'tender' Select From List By Value ${question_form_create_questionform_related_of_input_locator} Закупівля | |
16 | + Run Keyword If '${type}' == 'lot' Select From List By Value ${question_form_create_questionform_related_of_input_locator} Лот | |
17 | + Run Keyword If '${type}' == 'lot' Click Element ${question_form_create_questionform_related_lot_input_locator} | |
18 | + ${question_form_create_questionform_related_lot_input_locator} = Run Keyword If '${type}' == 'lot' replace string ${question_form_create_questionform_related_lot_input_locator_tpl} %type_id% ${type_id} | |
19 | + Run Keyword If '${type}' == 'lot' Click Element ${question_form_create_questionform_related_lot_input_locator} | |
20 | + Run Keyword If '${type}' == 'item' Select From List By Value ${question_form_create_questionform_related_of_input_locator} Предмет закупівлі | |
21 | + Run Keyword If '${type}' == 'item' Click Element ${question_form_create_questionform_related_item_input_locator} | |
22 | + ${question_form_create_questionform_related_item_input_locator} = Run Keyword If '${type}' == 'item' replace string ${question_form_create_questionform_related_item_input_locator_tpl} %type_id% ${type_id} | |
23 | + Run Keyword If '${type}' == 'item' Click Element ${question_questionform_related_item_input_locator} | |
24 | + input text to exist visible input ${question_form_create_questionform_title_input_locator} ${question.data.title} | |
25 | + input text to exist visible input ${question_form_create_questionform_description_input_locator} ${question.data.description} | |
26 | + click visible element ${question_form_answer_submit_btn_locator} | |
27 | + wait until page does not contain element with reloading ${tender_sync_element_locator} | |
28 | + | |
29 | +answer question | |
30 | + [Arguments] ${answer_data} ${question_id} | |
31 | + [Documentation] Дати відповідь answer_data на запитання з question_id в описі для тендера tender_uaid. | |
32 | + | |
33 | + run keyword and ignore error save tender form and wait synchronization | |
34 | + click visible element ${question_form_open_btn_locator} | |
35 | + ${question_open_form_answer_locator} = replace string ${question_open_form_answer_btn_locator_tpl} %title% ${question_id} | |
36 | + wait until page contains element with reloading ${question_open_form_answer_locator} | |
37 | + ${question_form_open_form_answer_btn_locator} = replace string ${question_form_open_form_answer_btn_locator_tpl} %title% ${question_id} | |
38 | + click visible element ${question_form_open_form_answer_btn_locator} | |
39 | + wait until popup is visible | |
40 | + input text to exist visible input ${question_form_open_form_answer_input_locator} ${answer_data.data.answer} | |
41 | + submit form and check result ${question_form_answer_submit_btn_locator} ${question_form_submit_answer_success_msg} ${tender_created_checker_element_locator} | |
42 | + | ... | ... |
playtender_question_variables.robot
0 → 100644
1 | +*** Variables *** | |
2 | + | |
3 | +#question | |
4 | +${question_form_open_btn_locator} = jquery=#aside-part-pjax a[href*="/tender/questions"] | |
5 | +${question_open_form_answer_btn_locator_tpl} = jquery=#tender-question-list .js-item div[data-title*="%title%"] | |
6 | +${question_form_open_form_answer_btn_locator_tpl} = jquery=#tender-question-list .js-item div[data-title*="%title%"] .btn.btn-default | |
7 | +${question_form_open_form_answer_input_locator} = jquery=.fancybox-is-open .fancybox-content #tender-question-answer-form #questionanswerform-answer | |
8 | +${question_form_answer_submit_btn_locator} = jquery=.fancybox-is-open .fancybox-content #tender-question-answer-form .js-submit-btn | |
9 | +${question_form_submit_answer_success_msg} = Відповідь на питання успішно надана. | |
10 | +${question_form_create_question_btn_locator} = jquery=.#aside-part-pjax [data-url*="/tender/question-create"] | |
11 | +${question_form_create_questionform_related_of_input_locator} = jquery=.fancybox-is-open .fancybox-content #questionform-related_of | |
12 | +${question_form_create_questionform_related_item_input_locator} = jquery=.fancybox-is-open .fancybox-content #questionform-related_item | |
13 | +${question_form_create_questionform_related_item_input_locator_tpl} = jquery=.fancybox-is-open .fancybox-content #questionform-related_item option:contains("%type_id%") | |
14 | +${question_form_create_questionform_title_input_locator} = jquery=.fancybox-is-open .fancybox-content #questionform-title | |
15 | +${question_form_create_questionform_description_input_locator} = jquery=.fancybox-is-open .fancybox-content #questionform-description | |
16 | +${question_form_submit_success_msg} = Запитання створене. | |
17 | +${question_form_create_questionform_related_lot_input_locator} = jquery=.fancybox-is-open .fancybox-content #questionform-related_lot | |
18 | +${question_form_create_questionform_related_lot_input_locator} = jquery=.fancybox-is-open .fancybox-content #questionform-related_lot | |
19 | +${question_form_create_questionform_related_lot_input_locator_tpl} = jquery=.fancybox-is-open .fancybox-content #questionform-related_lot option:contains("%type_id%") | |
20 | + | ... | ... |
1 | 1 | *** Settings *** |
2 | 2 | |
3 | 3 | Resource playtender_common.robot |
4 | +Resource playtender_variables.robot | |
5 | +Resource playtender_question.robot | |
6 | +Resource playtender_claim.robot | |
7 | +Resource playtender_bid.robot | |
4 | 8 | |
5 | 9 | *** Keywords *** |
6 | 10 | |
... | ... | @@ -28,7 +32,6 @@ open tender page by uaid |
28 | 32 | [Arguments] ${uaid} |
29 | 33 | [Documentation] відкриває сторінку з тендером |
30 | 34 | |
31 | -# open page and wait element by locator ${broker_baseurl}/tender/${uaid} ${tender_view_checker_element_locator} | |
32 | 35 | open site page and wait content element ${broker_baseurl}/tender/${uaid} |
33 | 36 | ${is_tender_found} = get is element exist ${tender_view_checker_element_locator} |
34 | 37 | return from keyword if ${is_tender_found} == ${True} |
... | ... | @@ -187,7 +190,7 @@ fill tender form features |
187 | 190 | [Arguments] ${feature_attributes_array} ${add_btn_locator} |
188 | 191 | [Documentation] заповнення нецінові крітерії тендеру |
189 | 192 | |
190 | - click visible element ${add_btn_locator} | |
193 | + click visible element ${add_btn_locator} | |
191 | 194 | wait until popup is visible |
192 | 195 | :FOR ${feature_attributes} IN @{feature_attributes_array} |
193 | 196 | \ click visible element ${tender_form_features_panel_edit_btn_locator} |
... | ... | @@ -309,13 +312,6 @@ get item field value by name |
309 | 312 | Run Keyword If 'description' == '${key}' log many ${items[0].quantity} |
310 | 313 | Run Keyword If 'description' == '${key}' log many ${items[0].description} |
311 | 314 | Run Keyword And Return If 'description' == '${key}' convert to string ${items[0].description} |
312 | -# Run Keyword And Return If 'enquiryPeriod.endDate' == '${key}' convert_date_to_string_contr ${td_railway_crutch.data.enquiryPeriod.endDate} | |
313 | -# Run Keyword If 'tenderPeriod.endDate' == '${key}' log many ${td_railway_crutch.data.tenderPeriod.endDate} | |
314 | -# Run Keyword And Return If 'tenderPeriod.endDate' == '${key}' convert_date_to_string_contr ${td_railway_crutch.data.tenderPeriod.endDate} | |
315 | -# Run Keyword If 'value.amount' == '${key}' log many ${td_railway_crutch.data.value.amount} | |
316 | - # ${return_value}= Run Keyword If 'value.amount' == '${key}' Evaluate ''.join('${td_railway_crutch.data.value.amount}'.split()[:-3]) | |
317 | -# Run Keyword And Return If 'value.amount' == '${key}' Convert To Number ${td_railway_crutch.data.value.amount} | |
318 | -# Run Keyword And Return If 'value.amount' == '${key}' convert float to string ${td_railway_crutch.data.value.amount} | |
319 | 315 | |
320 | 316 | get lot field value by name |
321 | 317 | [Arguments] ${key} |
... | ... | @@ -334,12 +330,6 @@ get lot field value by name |
334 | 330 | Run Keyword And Return If 'description' == '${key}' convert to string ${lots[0].description} |
335 | 331 | Run Keyword And Return If 'title' == '${key}' convert to string ${lots[0].title} |
336 | 332 | |
337 | -Отримати інформацію із тендера tenderPeriod.endDate | |
338 | - ${return_value}= get_text xpath=//p[contains(@class, 'tender-period')]//*[@class='value']//span[contains(@class, 'end-date')] | |
339 | -# ${return_value}= convert_date_for_compare_ex ${return_value} | |
340 | - ${return_value}= isodate format ${return_value} %d.%m.%Y %H:%M | |
341 | - [return] ${return_value} | |
342 | - | |
343 | 333 | save tender form and wait synchronization |
344 | 334 | [Documentation] натискає кнопку "Зберегти" і чекає синхронізації тендеру |
345 | 335 | |
... | ... | @@ -347,7 +337,7 @@ save tender form and wait synchronization |
347 | 337 | wait until page does not contain element with reloading ${tender_sync_element_locator} |
348 | 338 | |
349 | 339 | add document in tender |
350 | - [Arguments] ${filepath} | |
340 | + [Arguments] ${filepath} | |
351 | 341 | [Documentation] Завантажити документ, який знаходиться по шляху filepath. |
352 | 342 | |
353 | 343 | click visible element ${tender_form_general_panel_edit_add_document_btn_locator} |
... | ... | @@ -356,7 +346,7 @@ add document in tender |
356 | 346 | submit current visible popup |
357 | 347 | |
358 | 348 | add document in lot |
359 | - [Arguments] ${filepath} ${lot_id} | |
349 | + [Arguments] ${filepath} ${lot_id} | |
360 | 350 | [Documentation] Завантажити в лот (з ідентіфікатором ${lot_id}) документ, який знаходиться по шляху filepath. |
361 | 351 | |
362 | 352 | capture page screenshot |
... | ... | @@ -368,154 +358,3 @@ add document in lot |
368 | 358 | wait until page does not contain element ${popup_dynamic_form_loading_element_locator} |
369 | 359 | submit current visible popup |
370 | 360 | |
371 | -Задати запитання | |
372 | - [Arguments] ${username} ${tender_uaid} ${type} ${type_id} ${question} | |
373 | - [Documentation] Створити запитання з question в описі для тендера tender_uaid. | |
374 | -# run keyword and ignore error save tender form and wait synchronization | |
375 | - click visible element ${question_form_create_question_btn_locator} | |
376 | - wait until popup is visible | |
377 | - input text to exist visible input ${question_form_open_form_answer_input_locator} ${answer_data.data.answer} | |
378 | - Run Keyword If '${type}' == 'tender' Select From List By Value ${question_form_create_questionform_related_of_input_locator} Закупівля | |
379 | - Run Keyword If '${type}' == 'lot' Select From List By Value ${question_form_create_questionform_related_of_input_locator} Лот | |
380 | - Run Keyword If '${type}' == 'lot' Click Element ${question_form_create_questionform_related_lot_input_locator} | |
381 | - ${question_form_create_questionform_related_lot_input_locator} = Run Keyword If '${type}' == 'lot' replace string ${question_form_create_questionform_related_lot_input_locator_tpl} %type_id% ${type_id} | |
382 | - Run Keyword If '${type}' == 'lot' Click Element ${question_form_create_questionform_related_lot_input_locator} | |
383 | - Run Keyword If '${type}' == 'item' Select From List By Value ${question_form_create_questionform_related_of_input_locator} Предмет закупівлі | |
384 | - Run Keyword If '${type}' == 'item' Click Element ${question_form_create_questionform_related_item_input_locator} | |
385 | - ${question_form_create_questionform_related_item_input_locator} = Run Keyword If '${type}' == 'item' replace string ${question_form_create_questionform_related_item_input_locator_tpl} %type_id% ${type_id} | |
386 | - Run Keyword If '${type}' == 'item' Click Element ${question_questionform_related_item_input_locator} | |
387 | - input text to exist visible input ${question_form_create_questionform_title_input_locator} ${question.data.title} | |
388 | - input text to exist visible input ${question_form_create_questionform_description_input_locator} ${question.data.description} | |
389 | - click visible element ${question_form_answer_submit_btn_locator} | |
390 | - wait until page does not contain element with reloading ${tender_sync_element_locator} | |
391 | - | |
392 | -answer question | |
393 | - [Arguments] ${answer_data} ${question_id} | |
394 | - [Documentation] Дати відповідь answer_data на запитання з question_id в описі для тендера tender_uaid. | |
395 | - | |
396 | - run keyword and ignore error save tender form and wait synchronization | |
397 | - click visible element ${question_form_open_btn_locator} | |
398 | - ${question_open_form_answer_locator} = replace string ${question_open_form_answer_btn_locator_tpl} %title% ${question_id} | |
399 | - wait until page contains element with reloading ${question_open_form_answer_locator} | |
400 | - ${question_form_open_form_answer_btn_locator} = replace string ${question_form_open_form_answer_btn_locator_tpl} %title% ${question_id} | |
401 | - click visible element ${question_form_open_form_answer_btn_locator} | |
402 | - wait until popup is visible | |
403 | - input text to exist visible input ${question_form_open_form_answer_input_locator} ${answer_data.data.answer} | |
404 | -# click visible element ${question_form_answer_submit_btn_locator} | |
405 | - submit form and check result ${question_form_answer_submit_btn_locator} ${question_form_submit_answer_success_msg} ${tender_created_checker_element_locator} | |
406 | - | |
407 | -Створити вимогу | |
408 | - [Arguments] ${username} ${tender_uaid} ${type} ${type_id} ${claim} ${doc_name} | |
409 | - [Documentation] Створити вимогу з claim в описі для тендера tender_uaid. | |
410 | - | |
411 | - click visible element ${claim_form_open_btn_locator} | |
412 | - wait until popup is visible | |
413 | - input text to exist visible input ${claim_form_complaintform_title_input_locator} ${claim.data.title} | |
414 | - input text to exist visible input ${claim_form_complaintform_description_input_locator} ${claim.data.description} | |
415 | - Run Keyword And Ignore Error Run Keyword If '${type}' == 'tender' Select From List By Label ${claim_form_complaintform_related_of_input_locator} Закупівля | |
416 | - Run Keyword And Ignore Error Run Keyword If '${type}' == 'lot' Select From List By Label ${claim_form_complaintform_related_of_input_locator} Лот | |
417 | - Run Keyword And Ignore Error Run Keyword If '${type}' == 'lot' Click Element ${claim_form_complaintform_related_lot_input_locator} | |
418 | - ${claim_form_complaintform_related_lot_select_locator} = Run Keyword If '${type}' == 'lot' replace string ${claim_form_complaintform_related_lot_input_locator_tpl} %type_id% ${type_id} | |
419 | - Run Keyword And Ignore Error Run Keyword If '${type}' == 'lot' Click Element ${claim_form_complaintform_related_lot_select_locator} | |
420 | - Run Keyword And Ignore Error Select From List By Label ${claim_form_complaintform_complaintform_type_input_locator} Вимога | |
421 | - Run Keyword If '${doc_name}' != 'null' click visible element ${claim_form_complaintform_document_btn_locator} | |
422 | - Run Keyword If '${doc_name}' != 'null' choose file ${add_file_to_form_locator} ${doc_name} | |
423 | - Run Keyword If '${doc_name}' != 'null' wait until page does not contain element ${popup_dynamic_form_loading_element_locator} | |
424 | -# Run Keyword If '${doc_name}' != 'null' submit current visible popup | |
425 | - submit form and check result ${claim_form_complaintform_submit_btn_locator} ${tender_form_submit_success_msg} ${tender_created_checker_element_locator} | |
426 | -# Функция ожидания claim_uaid_text_locator соответствующей вимоги | |
427 | - click visible element ${claim_form_open_btn_locator} | |
428 | - ${return_value}= Get Element Attribute ${claim_uaid_text_locator} | |
429 | - ${return_value}= Convert To String ${return_value} | |
430 | - [return] ${return_value} | |
431 | - | |
432 | - | |
433 | -fill bid form | |
434 | - [Arguments] ${tender_uaid} ${bid} ${lots_ids} ${features_ids} | |
435 | - [Documentation] Подати цінову пропозицію bid для тендера tender_uaid на лоти lots_ids (якщо lots_ids != None) з неціновими показниками features_ids (якщо features_ids != None). | |
436 | - | |
437 | - click visible element ${bid_form_open_btn_locator} | |
438 | - wait until popup is visible | |
439 | - ${value} = get from dictionary by keys ${bid} value amount | |
440 | - ${amount} = run keyword if condition is not none ${value} convert_float_to_string ${bid.data.value.amount} | |
441 | - run keyword if condition is not none ${value} input number to exist visible input ${bid_form_value_amount_input_locator} ${amount} | |
442 | - ${value_yearly_payments_percentage} = get from dictionary by keys ${bid} value yearlyPaymentsPercentage | |
443 | - ${yearly_payments_percentage} = run keyword if condition is not none ${value_yearly_payments_percentage} convert_float_to_string ${bid.data.value.yearlyPaymentsPercentage} | |
444 | - 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} | |
445 | - ${contract_duration_years} = get from dictionary by keys ${bid} value contractDuration years | |
446 | - 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} | |
447 | - ${contract_duration_days} = get from dictionary by keys ${bid} value contractDuration days | |
448 | - 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} | |
449 | - ${annual_costs_reduction} = get from dictionary by keys ${bid} value annualCostsReduction | |
450 | - run keyword if condition is not none ${annual_costs_reduction} Подати цінову пропозицію Esco AnnualCostsReduction ${value.annualCostsReduction} | |
451 | -# ${lots} = get from dictionary by keys ${data} lots | |
452 | - run keyword if condition is not none ${lots_ids} fill bid form lots ${bid} | |
453 | -# run keyword if condition is none ${lots_ids} fill bid form whithout lots ${bid} | |
454 | -# ${features} = get from dictionary by keys ${data} features | |
455 | -# run keyword if condition is not none ${features_ids} fill bid form features ${bid} ${tender_form_general_panel_add_feature_btn_locator} | |
456 | - fill bid required documents_all | |
457 | - submit form and check result ${bid_form_submit_btn_locator} ${bid_form_submit_success_msg} ${tender_created_checker_element_locator} | |
458 | - | |
459 | -fill bid form lots | |
460 | - [Arguments] ${bid} ${lots_ids} ${features_ids} | |
461 | - [Documentation] Заповнити лотову цінову пропозицію bid для тендера tender_uaid на лоти lots_ids з неціновими показниками features_ids (якщо features_ids != None). | |
462 | - | |
463 | - ${lots} = get from dictionary by keys ${bid} lotValues | |
464 | - ${lots_length} = Get Length ${lots} | |
465 | - : FOR ${INDEX} IN RANGE 0 ${lots_length} | |
466 | - \ ${amount} = convert_float_to_string ${bid.data.value.amount} | |
467 | - \ run keyword and ignore error input number to exist visible input ${bid_form_value_amount_input_locator} ${amount} | |
468 | - \ ${self_qualified} = get from dictionary by keys ${bid} selfQualified | |
469 | - \ run keyword and ignore error ${self_qualified} click visible element ${bid_form_value_self_qualified_input_locator} | |
470 | - \ ${self_eligible} = get from dictionary by keys ${bid} selfEligible | |
471 | - \ run keyword if condition is not none ${self_eligible} click visible element ${bid_form_value_self_eligible_input_locator} | |
472 | - \ run keyword if condition is not none ${features_ids} fill bid form features ${bid.data.parameters} | |
473 | - | |
474 | -fill bid form features | |
475 | - [Arguments] ${bid_parameters} | |
476 | - [Documentation] Заповнити нецінові показники цінової пропозиції. | |
477 | - | |
478 | - ${features_length} = Get Length ${bid_parameters} | |
479 | - : FOR ${INDEX} IN RANGE 0 ${features_length} | |
480 | - \ ${bid_form_feature_input_locator} replace string ${bid_form_feature_input_locator_tpl} %title% ${features[${INDEX}]['code']} | |
481 | - \ Run Keyword And Ignore Error click visible element ${bid_form_feature_input_locator} | |
482 | - \ Run Keyword And Ignore Error Select From List By Label ${bid_form_feature_input_locator} ${features[${INDEX}]['value']} | |
483 | - | |
484 | -Подати цінову пропозицію Esco AnnualCostsReduction | |
485 | - [Arguments] ${values} | |
486 | - [Documentation] Заповнити цінову пропозицію Esco (параметр AnnualCostsReduction). | |
487 | - | |
488 | - ${input_index }= set variable 1 | |
489 | - : FOR ${value} IN @{values} | |
490 | - \ ${bid_form_value_annual_costs_reduction_input_locator} replace string ${bid_form_value_annual_costs_reduction_input_locator_tpl} %index% ${input_index} | |
491 | - \ input float ${bid_form_value_annual_costs_reduction_input_locator} ${value} | |
492 | - \ ${input_index} = evaluate ${input_index} + 1 | |
493 | - | |
494 | -fill bid required documents_all | |
495 | - [Arguments] ${values} | |
496 | - [Documentation] Додати фейковий документ до цінової пропозиції при створенні. | |
497 | - | |
498 | - ${file_path} ${file_name} ${file_content} = create_fake_doc | |
499 | - click visible element ${bid_form_add_document_all_btn_locator} | |
500 | - choose file ${add_file_to_form_locator} ${file_path} | |
501 | - wait until element is visible ${bid_form_add_document_type_input_locator} ${waiting_timeout} ${waiting_error} | |
502 | -# submit current visible popup | |
503 | - Run Keyword And Ignore Error Select From List By Value ${bid_form_add_document_type_input_locator} qualificationDocuments | |
504 | - click visible element ${bid_form_add_document_description_btn_locator} | |
505 | - wait until element is visible ${bid_form_add_document_description_input_locator} ${waiting_timeout} ${waiting_error} | |
506 | - input text to exist visible input ${bid_form_add_document_description_input_locator} test2 | |
507 | - click visible element ${bid_form_add_document_close_description_btn_locator} | |
508 | - | |
509 | -fill bid form edit | |
510 | - [Arguments] ${tender_uaid} ${fieldname} ${fieldvalue} | |
511 | - [Documentation] Змінити поле fieldname на fieldvalue цінової пропозиції користувача username для тендера tender_uaid. | |
512 | - | |
513 | - click visible element ${bid_form_open_btn_locator} | |
514 | - wait until popup is visible | |
515 | - Run Keyword If '${fieldname}' == 'lotValues[0].value.amount' and '${mode}' != 'esco' Run Keywords | |
516 | - ... ${amount} = convert_float_to_string ${fieldvalue} | |
517 | - ... input number to exist visible input ${bid_form_value_amount_input_locator} ${amount} | |
518 | - submit form and check result ${bid_form_submit_btn_locator} ${bid_form_submit_edit_success_msg} ${tender_created_checker_element_locator} | |
519 | - | |
520 | - | |
521 | - | ... | ... |
... | ... | @@ -159,56 +159,5 @@ ${tender_search_form_locator} = id=tender-fi |
159 | 159 | ${tender_search_form_query_input_locator} = jquery=#tender-filter-form .dynamic-search-query input |
160 | 160 | ${tender_search_form_result_locator_tpl} = jquery=#tender-list .lots__item .lot__characteristic li:contains(%query%) |
161 | 161 | |
162 | -#question | |
163 | -${question_form_open_btn_locator} = jquery=#aside-part-pjax a[href*="/tender/questions"] | |
164 | -${question_open_form_answer_btn_locator_tpl} = jquery=#tender-question-list .js-item div[data-title*="%title%"] | |
165 | -${question_form_open_form_answer_btn_locator_tpl} = jquery=#tender-question-list .js-item div[data-title*="%title%"] .btn.btn-default | |
166 | -${question_form_open_form_answer_input_locator} = jquery=.fancybox-is-open .fancybox-content #tender-question-answer-form #questionanswerform-answer | |
167 | -${question_form_answer_submit_btn_locator} = jquery=.fancybox-is-open .fancybox-content #tender-question-answer-form .js-submit-btn | |
168 | -${question_form_submit_answer_success_msg} = Відповідь на питання успішно надана. | |
169 | -${question_form_create_question_btn_locator} = jquery=.#aside-part-pjax [data-url*="/tender/question-create"] | |
170 | -${question_form_create_questionform_related_of_input_locator} = jquery=.fancybox-is-open .fancybox-content #questionform-related_of | |
171 | -${question_form_create_questionform_related_item_input_locator} = jquery=.fancybox-is-open .fancybox-content #questionform-related_item | |
172 | -${question_form_create_questionform_related_item_input_locator_tpl} = jquery=.fancybox-is-open .fancybox-content #questionform-related_item option:contains("%type_id%") | |
173 | -${question_form_create_questionform_title_input_locator} = jquery=.fancybox-is-open .fancybox-content #questionform-title | |
174 | -${question_form_create_questionform_description_input_locator} = jquery=.fancybox-is-open .fancybox-content #questionform-description | |
175 | -${question_form_submit_success_msg} = Запитання створене. | |
176 | -${question_form_create_questionform_related_lot_input_locator} = jquery=.fancybox-is-open .fancybox-content #questionform-related_lot | |
177 | -${question_form_create_questionform_related_lot_input_locator} = jquery=.fancybox-is-open .fancybox-content #questionform-related_lot | |
178 | -${question_form_create_questionform_related_lot_input_locator_tpl} = jquery=.fancybox-is-open .fancybox-content #questionform-related_lot option:contains("%type_id%") | |
179 | - | |
180 | -#claim | |
181 | -${claim_form_open_btn_locator} = jquery=#aside-part-pjax a[href*="/tender/complaints"] | |
182 | -${claim_form_complaintform_title_input_locator} = jquery=.fancybox-is-open .fancybox-content input#complaintform-title | |
183 | -${claim_form_complaintform_description_input_locator} = jquery=.fancybox-is-open .fancybox-content input#complaintform-description | |
184 | -${claim_form_complaintform_related_of_input_locator} = jquery=.fancybox-is-open .fancybox-content #complaintform-related_of | |
185 | -${claim_form_complaintform_related_lot_input_locator} = jquery=.fancybox-is-open .fancybox-content #complaintform-related_lot | |
186 | -${claim_form_complaintform_related_item_input_locator_tpl} = jquery=.fancybox-is-open .fancybox-content #complaintform-related_lot option:contains("%type_id%") | |
187 | -${claim_form_complaintform_complaintform_type_input_locator} = jquery=.fancybox-is-open .fancybox-content #complaintform-type | |
188 | -${claim_form_complaintform_document_btn_locator} = jquery=.fancybox-is-open .fancybox-content a[data-url*="/tender/get-complaint-document"] | |
189 | -${claim_form_complaintform_submit_btn_locator} = jquery=.fancybox-is-open .fancybox-content a[href*="/tender/complaints"] | |
190 | -${claim_uaid_text_locator} = jquery=#tender-complaint-list div.item.js-item:last .complaint-id span.value | |
191 | - | |
192 | -#bids | |
193 | -${bid_form_open_btn_locator} = jquery=#aside-part-pjax a[href*="/tender/bid"] | |
194 | -${bid_form_submit_success_msg} = Пропозиція створена | |
195 | -${bid_form_submit_edit_success_msg} = Пропозиція відредагована | |
196 | -${bid_form_feature_input_locator_tpl} = jquery=.fancybox-is-open .fancybox-content select[id*="%title%-enum"] | |
197 | -${bid_form_value_amount_input_locator} = jquery=.fancybox-is-open .fancybox-content input[id*="-value_amount"] | |
198 | -${bid_form_value_subcontracting_details_input_locator} = jquery=.fancybox-is-open .fancybox-content textarea[id*="-subcontracting_details"] | |
199 | -${bid_form_value_self_eligible_input_locator} = jquery=.fancybox-is-open .fancybox-content input[id*="-self_eligible"] | |
200 | -${bid_form_value_self_qualified_input_locator} = jquery=.fancybox-is-open .fancybox-content input[id*="-self_qualified"] | |
201 | -${bid_form_value_yearly_payments_percentage_input_locator} = jquery=.fancybox-is-open .fancybox-content input[id*="-yearly_payments_percentage"] | |
202 | -${bid_form_value_contract_duration_years_input_locator} = jquery=.fancybox-is-open .fancybox-content input[id*="-contract_duration_years"] | |
203 | -${bid_form_value_contract_duration_days_input_locator} = jquery=.fancybox-is-open .fancybox-content input[id*="-contract_duration_days"] | |
204 | -${bid_form_value_annual_costs_reduction_input_locator_tpl} = jquery=.fancybox-is-open .fancybox-content input[id*="-annual_costs_reduction_%index%"] | |
205 | - | |
206 | -${bid_form_add_document_all_btn_locator} = jquery=.fancybox-is-open .fancybox-content .field-bidform-documents input[type$="file"] | |
207 | -${bid_form_add_document_type_input_locator} = jquery=.fancybox-is-open .fancybox-content .field-bidform-documents select[id*="-document_type"] | |
208 | -${bid_form_add_document_description_btn_locator} = jquery=.fancybox-is-open .fancybox-content .field-bidform-documents [href$="#edit"] | |
209 | -${bid_form_add_document_description_input_locator} = jquery=.fancybox-is-open .fancybox-content .field-bidform-documents .popover.fade.top.in textarea[id*="-description"].form-control | |
210 | -${bid_form_add_document_close_description_btn_locator} = jquery=.fancybox-is-open .fancybox-content .field-bidform-documents .popover.fade.top.in [href$="#close"] | |
211 | -${bid_form_submit_btn_locator} = jquery=.fancybox-is-open .fancybox-content button.btn.btn-success | |
212 | - | |
213 | 162 | |
214 | 163 | ... | ... |
Please
register
or
login
to post a comment