Showing
9 changed files
with
372 additions
and
258 deletions
| @@ -108,7 +108,8 @@ Resource playtender_tende | @@ -108,7 +108,8 @@ Resource playtender_tende | ||
| 108 | 108 | ||
| 109 | Створити тендер | 109 | Створити тендер |
| 110 | [Arguments] ${user} ${tender_data} | 110 | [Arguments] ${user} ${tender_data} |
| 111 | - [Documentation] Створити тендер з початковими даними tender_data. Повернути uaid створеного тендера. | 111 | + [Documentation] Створити тендер з початковими даними tender_data. Повернути |
| 112 | + ... uaid створеного тендера. | ||
| 112 | 113 | ||
| 113 | ${tender_prepared_data} = prepare tender data ${tender_data['data']} | 114 | ${tender_prepared_data} = prepare tender data ${tender_data['data']} |
| 114 | log ${tender_prepared_data} | 115 | log ${tender_prepared_data} |
| @@ -141,26 +142,10 @@ Resource playtender_tende | @@ -141,26 +142,10 @@ Resource playtender_tende | ||
| 141 | [Documentation] Отримати значення поля field_name для тендера tender_uaid. | 142 | [Documentation] Отримати значення поля field_name для тендера tender_uaid. |
| 142 | 143 | ||
| 143 | open tender page by uaid ${tender_uaid} | 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 | [Return] ${value} | 147 | [Return] ${value} |
| 162 | 148 | ||
| 163 | - | ||
| 164 | Внести зміни в тендер | 149 | Внести зміни в тендер |
| 165 | [Arguments] ${username} ${tender_uaid} ${fieldname} ${fieldvalue} | 150 | [Arguments] ${username} ${tender_uaid} ${fieldname} ${fieldvalue} |
| 166 | [Documentation] Змінити значення поля fieldname на fieldvalue для плана із зазначеним plan_uaid. | 151 | [Documentation] Змінити значення поля fieldname на fieldvalue для плана із зазначеним plan_uaid. |
| @@ -170,55 +155,123 @@ Resource playtender_tende | @@ -170,55 +155,123 @@ Resource playtender_tende | ||
| 170 | fill tender form ${tender_data} | 155 | fill tender form ${tender_data} |
| 171 | save tender form and wait synchronization | 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 | [Arguments] ${username} ${tender_uaid} ${item_data} | 172 | [Arguments] ${username} ${tender_uaid} ${item_data} |
| 173 | + [Documentation] Додати дані про предмет item до тендера tender_uaid. | ||
| 175 | 174 | ||
| 176 | open tender form by uaid ${tender_uaid} | 175 | open tender form by uaid ${tender_uaid} |
| 177 | ${items} = create list ${item_data} | 176 | ${items} = create list ${item_data} |
| 178 | fill tender form items ${items} | 177 | fill tender form items ${items} |
| 179 | save tender form and wait synchronization | 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 | [Arguments] ${username} ${filepath} ${tender_uaid} ${lot_id} | 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 | open tender form by uaid ${tender_uaid} | 220 | open tender form by uaid ${tender_uaid} |
| 194 | add document in lot ${filepath} ${lot_id} | 221 | add document in lot ${filepath} ${lot_id} |
| 195 | save tender form and wait synchronization | 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 | [Arguments] ${username} ${tender_uaid} ${answer_data} ${question_id} | 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 | open tender form by uaid ${tender_uaid} | 245 | open tender form by uaid ${tender_uaid} |
| 202 | answer question ${answer_data} ${question_id} | 246 | answer question ${answer_data} ${question_id} |
| 203 | 247 | ||
| 204 | Задати запитання на предмет | 248 | Задати запитання на предмет |
| 205 | [Arguments] ${username} ${tender_uaid} ${item_id} ${question} | 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 | [Arguments] ${username} ${tender_uaid} ${lot_id } ${question} | 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 | [Arguments] ${username} ${tender_uaid} ${question} | 263 | [Arguments] ${username} ${tender_uaid} ${question} |
| 218 | [Documentation] Створити запитання з даними question для тендера tender_uaid. | 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 | [Arguments] ${username} ${tender_uaid} ${claim} ${doc_name} | 276 | [Arguments] ${username} ${tender_uaid} ${claim} ${doc_name} |
| 224 | [Documentation] Створити запитання з даними question для тендера tender_uaid. | 277 | [Documentation] Створити запитання з даними question для тендера tender_uaid. |
| @@ -226,32 +279,50 @@ Resource playtender_tende | @@ -226,32 +279,50 @@ Resource playtender_tende | ||
| 226 | 279 | ||
| 227 | Створити чернетку вимоги про виправлення умов закупівлі | 280 | Створити чернетку вимоги про виправлення умов закупівлі |
| 228 | [Arguments] ${username} ${tender_uaid} ${claim} | 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 | Run Keyword And Return Створити вимогу ${username} ${tender_uaid} tender null ${claim} null | 287 | Run Keyword And Return Створити вимогу ${username} ${tender_uaid} tender null ${claim} null |
| 231 | 288 | ||
| 232 | Створити вимогу про виправлення умов лоту | 289 | Створити вимогу про виправлення умов лоту |
| 233 | [Arguments] ${username} ${tender_uaid} ${claim} ${lot_id} ${doc_name} | 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 | Run Keyword And Return Створити вимогу ${username} ${tender_uaid} lot ${lot_id} ${claim} ${doc_name} | 294 | Run Keyword And Return Створити вимогу ${username} ${tender_uaid} lot ${lot_id} ${claim} ${doc_name} |
| 236 | 295 | ||
| 237 | Створити чернетку вимоги про виправлення умов лоту | 296 | Створити чернетку вимоги про виправлення умов лоту |
| 238 | [Arguments] ${username} ${tender_uaid} ${claim} ${lot_id} | 297 | [Arguments] ${username} ${tender_uaid} ${claim} ${lot_id} |
| 239 | - [Documentation] Створює вимогу claim про виправлення умов закупівлі у статусі draft для тендера tender_uaid. | 298 | + [Documentation] Створює вимогу claim про виправлення умов закупівлі |
| 299 | + ... у статусі draft для тендера tender_uaid. | ||
| 240 | Run Keyword And Return Створити вимогу ${username} ${tender_uaid} lot ${lot_id} ${claim} null | 300 | Run Keyword And Return Створити вимогу ${username} ${tender_uaid} lot ${lot_id} ${claim} null |
| 241 | 301 | ||
| 242 | Створити вимогу про виправлення визначення переможця | 302 | Створити вимогу про виправлення визначення переможця |
| 243 | [Arguments] ${username} ${tender_uaid} ${claim} ${proposal_id} ${doc_name} | 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 | Run Keyword And Return Створити вимогу ${username} ${tender_uaid} winner ${proposal_id} ${claim} ${doc_name} | 306 | Run Keyword And Return Створити вимогу ${username} ${tender_uaid} winner ${proposal_id} ${claim} ${doc_name} |
| 246 | 307 | ||
| 247 | Створити чернетку вимоги про виправлення визначення переможця | 308 | Створити чернетку вимоги про виправлення визначення переможця |
| 248 | [Arguments] ${username} ${tender_uaid} ${claim} ${proposal_id} | 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 | Run Keyword And Return Створити вимогу ${username} ${tender_uaid} winner ${proposal_id} ${claim} null | 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 | [Arguments] ${username} ${tender_uaid} ${bid} ${lots_ids} ${features_ids} | 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 | open tender form by uaid ${tender_uaid} | 327 | open tender form by uaid ${tender_uaid} |
| 257 | fill bid form ${tender_uaid} ${bid} ${lots_ids} ${features_ids} | 328 | fill bid form ${tender_uaid} ${bid} ${lots_ids} ${features_ids} |
| @@ -260,10 +331,34 @@ Resource playtender_tende | @@ -260,10 +331,34 @@ Resource playtender_tende | ||
| 260 | 331 | ||
| 261 | Змінити цінову пропозицію | 332 | Змінити цінову пропозицію |
| 262 | [Arguments] ${username} ${tender_uaid} ${fieldname} ${fieldvalue} | 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 | open tender form by uaid ${tender_uaid} | 337 | open tender form by uaid ${tender_uaid} |
| 266 | fill bid form edit ${fieldname} ${fieldvalue} | 338 | fill bid form edit ${fieldname} ${fieldvalue} |
| 267 | submit form and check result ${bid_form_submit_btn_locator} ${bid_form_submit_success_msg} ${tender_created_checker_element_locator} | 339 | submit form and check result ${bid_form_submit_btn_locator} ${bid_form_submit_success_msg} ${tender_created_checker_element_locator} |
| 268 | wait until page does not contain element with reloading ${tender_sync_element_locator} | 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 | *** Settings *** | 1 | *** Settings *** |
| 2 | 2 | ||
| 3 | Resource playtender_common.robot | 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 | *** Keywords *** | 9 | *** Keywords *** |
| 6 | 10 | ||
| @@ -28,7 +32,6 @@ open tender page by uaid | @@ -28,7 +32,6 @@ open tender page by uaid | ||
| 28 | [Arguments] ${uaid} | 32 | [Arguments] ${uaid} |
| 29 | [Documentation] відкриває сторінку з тендером | 33 | [Documentation] відкриває сторінку з тендером |
| 30 | 34 | ||
| 31 | -# open page and wait element by locator ${broker_baseurl}/tender/${uaid} ${tender_view_checker_element_locator} | ||
| 32 | open site page and wait content element ${broker_baseurl}/tender/${uaid} | 35 | open site page and wait content element ${broker_baseurl}/tender/${uaid} |
| 33 | ${is_tender_found} = get is element exist ${tender_view_checker_element_locator} | 36 | ${is_tender_found} = get is element exist ${tender_view_checker_element_locator} |
| 34 | return from keyword if ${is_tender_found} == ${True} | 37 | return from keyword if ${is_tender_found} == ${True} |
| @@ -187,7 +190,7 @@ fill tender form features | @@ -187,7 +190,7 @@ fill tender form features | ||
| 187 | [Arguments] ${feature_attributes_array} ${add_btn_locator} | 190 | [Arguments] ${feature_attributes_array} ${add_btn_locator} |
| 188 | [Documentation] заповнення нецінові крітерії тендеру | 191 | [Documentation] заповнення нецінові крітерії тендеру |
| 189 | 192 | ||
| 190 | - click visible element ${add_btn_locator} | 193 | + click visible element ${add_btn_locator} |
| 191 | wait until popup is visible | 194 | wait until popup is visible |
| 192 | :FOR ${feature_attributes} IN @{feature_attributes_array} | 195 | :FOR ${feature_attributes} IN @{feature_attributes_array} |
| 193 | \ click visible element ${tender_form_features_panel_edit_btn_locator} | 196 | \ click visible element ${tender_form_features_panel_edit_btn_locator} |
| @@ -309,13 +312,6 @@ get item field value by name | @@ -309,13 +312,6 @@ get item field value by name | ||
| 309 | Run Keyword If 'description' == '${key}' log many ${items[0].quantity} | 312 | Run Keyword If 'description' == '${key}' log many ${items[0].quantity} |
| 310 | Run Keyword If 'description' == '${key}' log many ${items[0].description} | 313 | Run Keyword If 'description' == '${key}' log many ${items[0].description} |
| 311 | Run Keyword And Return If 'description' == '${key}' convert to string ${items[0].description} | 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 | get lot field value by name | 316 | get lot field value by name |
| 321 | [Arguments] ${key} | 317 | [Arguments] ${key} |
| @@ -334,12 +330,6 @@ get lot field value by name | @@ -334,12 +330,6 @@ get lot field value by name | ||
| 334 | Run Keyword And Return If 'description' == '${key}' convert to string ${lots[0].description} | 330 | Run Keyword And Return If 'description' == '${key}' convert to string ${lots[0].description} |
| 335 | Run Keyword And Return If 'title' == '${key}' convert to string ${lots[0].title} | 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 | save tender form and wait synchronization | 333 | save tender form and wait synchronization |
| 344 | [Documentation] натискає кнопку "Зберегти" і чекає синхронізації тендеру | 334 | [Documentation] натискає кнопку "Зберегти" і чекає синхронізації тендеру |
| 345 | 335 | ||
| @@ -347,7 +337,7 @@ save tender form and wait synchronization | @@ -347,7 +337,7 @@ save tender form and wait synchronization | ||
| 347 | wait until page does not contain element with reloading ${tender_sync_element_locator} | 337 | wait until page does not contain element with reloading ${tender_sync_element_locator} |
| 348 | 338 | ||
| 349 | add document in tender | 339 | add document in tender |
| 350 | - [Arguments] ${filepath} | 340 | + [Arguments] ${filepath} |
| 351 | [Documentation] Завантажити документ, який знаходиться по шляху filepath. | 341 | [Documentation] Завантажити документ, який знаходиться по шляху filepath. |
| 352 | 342 | ||
| 353 | click visible element ${tender_form_general_panel_edit_add_document_btn_locator} | 343 | click visible element ${tender_form_general_panel_edit_add_document_btn_locator} |
| @@ -356,7 +346,7 @@ add document in tender | @@ -356,7 +346,7 @@ add document in tender | ||
| 356 | submit current visible popup | 346 | submit current visible popup |
| 357 | 347 | ||
| 358 | add document in lot | 348 | add document in lot |
| 359 | - [Arguments] ${filepath} ${lot_id} | 349 | + [Arguments] ${filepath} ${lot_id} |
| 360 | [Documentation] Завантажити в лот (з ідентіфікатором ${lot_id}) документ, який знаходиться по шляху filepath. | 350 | [Documentation] Завантажити в лот (з ідентіфікатором ${lot_id}) документ, який знаходиться по шляху filepath. |
| 361 | 351 | ||
| 362 | capture page screenshot | 352 | capture page screenshot |
| @@ -368,154 +358,3 @@ add document in lot | @@ -368,154 +358,3 @@ add document in lot | ||
| 368 | 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} |
| 369 | submit current visible popup | 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,56 +159,5 @@ ${tender_search_form_locator} = id=tender-fi | ||
| 159 | ${tender_search_form_query_input_locator} = jquery=#tender-filter-form .dynamic-search-query input | 159 | ${tender_search_form_query_input_locator} = jquery=#tender-filter-form .dynamic-search-query input |
| 160 | ${tender_search_form_result_locator_tpl} = jquery=#tender-list .lots__item .lot__characteristic li:contains(%query%) | 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