Commit 360b3b2c9099a9ab5eb4c9c194162f31de438a42

Authored by Myroslav Opyr
2 parents 42df9535 ac023854

Merge pull request #27 from selurvedu/black_friday

Introduce default and overridden values for brokers.yaml; various fixes, minor and trivial improvements
  1 +from chromedriver import CHROMEDRV_PATH
1 from robot import run_cli 2 from robot import run_cli
2 import os 3 import os
3 import sys 4 import sys
4 -from chromedriver import CHROMEDRV_PATH  
5 5
6 sys.path.append(CHROMEDRV_PATH) 6 sys.path.append(CHROMEDRV_PATH)
7 7
@@ -201,12 +201,15 @@ Set Multi Ids @@ -201,12 +201,15 @@ Set Multi Ids
201 ... ${ARGUMENTS[0]} == username 201 ... ${ARGUMENTS[0]} == username
202 ... ${ARGUMENTS[1]} == ${TENDER_UAID} 202 ... ${ARGUMENTS[1]} == ${TENDER_UAID}
203 Switch browser ${ARGUMENTS[0]} 203 Switch browser ${ARGUMENTS[0]}
204 - Go to ${BROKERS['${USERS.users['${username}'].broker}'].url} 204 + ${url}= Get Broker Property By Username ${ARGUMENTS[0]} url
  205 + Go To ${url}
205 Wait Until Page Contains Прозорі закупівлі 10 206 Wait Until Page Contains Прозорі закупівлі 10
206 sleep 1 207 sleep 1
207 Input Text jquery=input[ng-change='searchChange()'] ${ARGUMENTS[1]} 208 Input Text jquery=input[ng-change='searchChange()'] ${ARGUMENTS[1]}
208 sleep 1 209 sleep 1
209 - Wait Until Keyword Succeeds 300 s 0 s Шукати і знайти 210 + ${timeout_on_wait}= Get Broker Property By Username ${ARGUMENTS[0]} timeout_on_wait
  211 + ${passed}= Run Keyword And Return Status Wait Until Keyword Succeeds ${timeout_on_wait} s 0 s Шукати і знайти
  212 + Run Keyword Unless ${passed} Fatal Error Тендер не знайдено за ${timeout_on_wait} секунд
210 sleep 3 213 sleep 3
211 Click Link jquery=a[href^="#/tenderDetailes"] 214 Click Link jquery=a[href^="#/tenderDetailes"]
212 Wait Until Page Contains ${ARGUMENTS[1]} 10 215 Wait Until Page Contains ${ARGUMENTS[1]} 10
@@ -310,7 +313,8 @@ Set Multi Ids @@ -310,7 +313,8 @@ Set Multi Ids
310 [Documentation] 313 [Documentation]
311 ... ${ARGUMENTS[0]} = username 314 ... ${ARGUMENTS[0]} = username
312 ... ${ARGUMENTS[1]} = ${TENDER_UAID} 315 ... ${ARGUMENTS[1]} = ${TENDER_UAID}
313 - ${ADDITIONAL_DATA}= prepare_test_tender_data ${BROKERS['${USERS.users['${tender_owner}'].broker}'].period_interval} single 316 + ${period_interval}= Get Broker Property By Username ${ARGUMENTS[0]} period_interval
  317 + ${ADDITIONAL_DATA}= prepare_test_tender_data ${period_interval} single
314 ${tender_data}= Add_data_for_GUI_FrontEnds ${ADDITIONAL_DATA} 318 ${tender_data}= Add_data_for_GUI_FrontEnds ${ADDITIONAL_DATA}
315 ${items}= Get From Dictionary ${tender_data.data} items 319 ${items}= Get From Dictionary ${tender_data.data} items
316 ${description}= Get From Dictionary ${tender_data.data} description 320 ${description}= Get From Dictionary ${tender_data.data} description
@@ -329,7 +333,8 @@ Set Multi Ids @@ -329,7 +333,8 @@ Set Multi Ids
329 ... ${ARGUMENTS[0]} = username 333 ... ${ARGUMENTS[0]} = username
330 ... ${ARGUMENTS[1]} = ${TENDER_UAID} 334 ... ${ARGUMENTS[1]} = ${TENDER_UAID}
331 ... ${ARGUMENTS[2]} = 3 335 ... ${ARGUMENTS[2]} = 3
332 - ${ADDITIONAL_DATA}= prepare_test_tender_data ${BROKERS['${USERS.users['${tender_owner}'].broker}'].period_interval} multi 336 + ${period_interval}= Get Broker Property By Username ${ARGUMENTS[0]} period_interval
  337 + ${ADDITIONAL_DATA}= prepare_test_tender_data ${period_interval} multi
333 ${tender_data}= Add_data_for_GUI_FrontEnds ${ADDITIONAL_DATA} 338 ${tender_data}= Add_data_for_GUI_FrontEnds ${ADDITIONAL_DATA}
334 ${items}= Get From Dictionary ${tender_data.data} items 339 ${items}= Get From Dictionary ${tender_data.data} items
335 Selenium2Library.Switch Browser ${ARGUMENTS[0]} 340 Selenium2Library.Switch Browser ${ARGUMENTS[0]}
@@ -366,10 +371,9 @@ Set Multi Ids @@ -366,10 +371,9 @@ Set Multi Ids
366 ... ${ARGUMENTS[0]} == username 371 ... ${ARGUMENTS[0]} == username
367 ... ${ARGUMENTS[1]} == fieldname 372 ... ${ARGUMENTS[1]} == fieldname
368 Switch browser ${ARGUMENTS[0]} 373 Switch browser ${ARGUMENTS[0]}
369 - ${return_value}= run keyword Отримати інформацію про ${ARGUMENTS[1]}  
370 - [return] ${return_value} 374 + Run Keyword And Return Отримати інформацію про ${ARGUMENTS[1]}
371 375
372 -Отримати тест із поля і показати на сторінці 376 +Отримати текст із поля і показати на сторінці
373 [Arguments] ${fieldname} 377 [Arguments] ${fieldname}
374 sleep 3 378 sleep 3
375 # відмітити на сторінці поле з тендера ${fieldname} ${locator.${fieldname}} 379 # відмітити на сторінці поле з тендера ${fieldname} ${locator.${fieldname}}
@@ -377,20 +381,20 @@ Set Multi Ids @@ -377,20 +381,20 @@ Set Multi Ids
377 [return] ${return_value} 381 [return] ${return_value}
378 382
379 Отримати інформацію про title 383 Отримати інформацію про title
380 - ${return_value}= Отримати тест із поля і показати на сторінці title 384 + ${return_value}= Отримати текст із поля і показати на сторінці title
381 [return] ${return_value} 385 [return] ${return_value}
382 386
383 Отримати інформацію про description 387 Отримати інформацію про description
384 - ${return_value}= Отримати тест із поля і показати на сторінці description 388 + ${return_value}= Отримати текст із поля і показати на сторінці description
385 [return] ${return_value} 389 [return] ${return_value}
386 390
387 Отримати інформацію про minimalStep.amount 391 Отримати інформацію про minimalStep.amount
388 - ${return_value}= Отримати тест із поля і показати на сторінці minimalStep.amount 392 + ${return_value}= Отримати текст із поля і показати на сторінці minimalStep.amount
389 ${return_value}= Convert To Number ${return_value.split(' ')[0]} 393 ${return_value}= Convert To Number ${return_value.split(' ')[0]}
390 [return] ${return_value} 394 [return] ${return_value}
391 395
392 Отримати інформацію про value.amount 396 Отримати інформацію про value.amount
393 - ${return_value}= Отримати тест із поля і показати на сторінці value.amount 397 + ${return_value}= Отримати текст із поля і показати на сторінці value.amount
394 ${return_value}= Evaluate "".join("${return_value}".split(' ')[:-3]) 398 ${return_value}= Evaluate "".join("${return_value}".split(' ')[:-3])
395 ${return_value}= Convert To Number ${return_value} 399 ${return_value}= Convert To Number ${return_value}
396 [return] ${return_value} 400 [return] ${return_value}
@@ -403,31 +407,31 @@ Set Multi Ids @@ -403,31 +407,31 @@ Set Multi Ids
403 Remove element ${last_note_id} 407 Remove element ${last_note_id}
404 408
405 Отримати інформацію про tenderId 409 Отримати інформацію про tenderId
406 - ${return_value}= Отримати тест із поля і показати на сторінці tenderId 410 + ${return_value}= Отримати текст із поля і показати на сторінці tenderId
407 ${return_value}= Get Substring ${return_value} 10 411 ${return_value}= Get Substring ${return_value} 10
408 [return] ${return_value} 412 [return] ${return_value}
409 413
410 Отримати інформацію про procuringEntity.name 414 Отримати інформацію про procuringEntity.name
411 - ${return_value}= Отримати тест із поля і показати на сторінці procuringEntity.name 415 + ${return_value}= Отримати текст із поля і показати на сторінці procuringEntity.name
412 [return] ${return_value} 416 [return] ${return_value}
413 417
414 Отримати інформацію про tenderPeriod.startDate 418 Отримати інформацію про tenderPeriod.startDate
415 - ${return_value}= Отримати тест із поля і показати на сторінці tenderPeriod.startDate 419 + ${return_value}= Отримати текст із поля і показати на сторінці tenderPeriod.startDate
416 ${return_value}= Change_date_to_month ${return_value} 420 ${return_value}= Change_date_to_month ${return_value}
417 [return] ${return_value} 421 [return] ${return_value}
418 422
419 Отримати інформацію про tenderPeriod.endDate 423 Отримати інформацію про tenderPeriod.endDate
420 - ${return_value}= Отримати тест із поля і показати на сторінці tenderPeriod.endDate 424 + ${return_value}= Отримати текст із поля і показати на сторінці tenderPeriod.endDate
421 ${return_value}= Change_date_to_month ${return_value} 425 ${return_value}= Change_date_to_month ${return_value}
422 [return] ${return_value} 426 [return] ${return_value}
423 427
424 Отримати інформацію про enquiryPeriod.startDate 428 Отримати інформацію про enquiryPeriod.startDate
425 - ${return_value}= Отримати тест із поля і показати на сторінці enquiryPeriod.startDate 429 + ${return_value}= Отримати текст із поля і показати на сторінці enquiryPeriod.startDate
426 ${return_value}= Change_date_to_month ${return_value} 430 ${return_value}= Change_date_to_month ${return_value}
427 [return] ${return_value} 431 [return] ${return_value}
428 432
429 Отримати інформацію про enquiryPeriod.endDate 433 Отримати інформацію про enquiryPeriod.endDate
430 - ${return_value}= Отримати тест із поля і показати на сторінці enquiryPeriod.endDate 434 + ${return_value}= Отримати текст із поля і показати на сторінці enquiryPeriod.endDate
431 ${return_value}= Change_date_to_month ${return_value} 435 ${return_value}= Change_date_to_month ${return_value}
432 [return] ${return_value} 436 [return] ${return_value}
433 437
@@ -442,89 +446,87 @@ Change_date_to_month @@ -442,89 +446,87 @@ Change_date_to_month
442 [return] ${return_value} 446 [return] ${return_value}
443 447
444 Отримати інформацію про items[0].description 448 Отримати інформацію про items[0].description
445 - ${return_value}= Отримати тест із поля і показати на сторінці items[0].description 449 + ${return_value}= Отримати текст із поля і показати на сторінці items[0].description
446 [return] ${return_value} 450 [return] ${return_value}
447 451
448 Отримати інформацію про items[0].deliveryLocation.latitude 452 Отримати інформацію про items[0].deliveryLocation.latitude
449 - ${return_value}= Отримати тест із поля і показати на сторінці items[0].deliveryLocation.latitude 453 + ${return_value}= Отримати текст із поля і показати на сторінці items[0].deliveryLocation.latitude
450 ${return_value}= Get Substring ${return_value} 0 10 454 ${return_value}= Get Substring ${return_value} 0 10
451 [return] ${return_value} 455 [return] ${return_value}
452 456
453 Отримати інформацію про items[0].deliveryLocation.longitude 457 Отримати інформацію про items[0].deliveryLocation.longitude
454 - ${return_value}= Отримати тест із поля і показати на сторінці items[0].deliveryLocation.longitude 458 + ${return_value}= Отримати текст із поля і показати на сторінці items[0].deliveryLocation.longitude
455 ${return_value}= Get Substring ${return_value} 12 22 459 ${return_value}= Get Substring ${return_value} 12 22
456 [return] ${return_value} 460 [return] ${return_value}
457 461
458 Отримати інформацію про items[0].unit.code 462 Отримати інформацію про items[0].unit.code
459 - ${return_value}= Отримати тест із поля і показати на сторінці items[0].unit.code 463 + ${return_value}= Отримати текст із поля і показати на сторінці items[0].unit.code
460 ${return_value}= Get Substring ${return_value} 5 464 ${return_value}= Get Substring ${return_value} 5
461 - ${return_value}= Run keyword if '${return_value}' == 'кг.' Convert To String KGM 465 + Run Keyword And Return If '${return_value}' == 'кг.' Convert To String KGM
462 [return] ${return_value} 466 [return] ${return_value}
463 467
464 Отримати інформацію про items[0].quantity 468 Отримати інформацію про items[0].quantity
465 - ${return_value}= Отримати тест із поля і показати на сторінці items[0].quantity 469 + ${return_value}= Отримати текст із поля і показати на сторінці items[0].quantity
466 ${return_value}= Get Substring ${return_value} 0 4 470 ${return_value}= Get Substring ${return_value} 0 4
467 ${return_value}= Convert To Number ${return_value} 471 ${return_value}= Convert To Number ${return_value}
468 [return] ${return_value} 472 [return] ${return_value}
469 473
470 Отримати інформацію про items[0].classification.id 474 Отримати інформацію про items[0].classification.id
471 - ${return_value}= Отримати тест із поля і показати на сторінці items[0].classification.id 475 + ${return_value}= Отримати текст із поля і показати на сторінці items[0].classification.id
472 [return] ${return_value.split(' ')[0]} 476 [return] ${return_value.split(' ')[0]}
473 477
474 Отримати інформацію про items[0].classification.scheme 478 Отримати інформацію про items[0].classification.scheme
475 - ${return_value}= Отримати тест із поля і показати на сторінці items[0].classification.scheme 479 + ${return_value}= Отримати текст із поля і показати на сторінці items[0].classification.scheme
476 ${return_value}= Get Substring ${return_value} 0 -1 480 ${return_value}= Get Substring ${return_value} 0 -1
477 [return] ${return_value.split(' ')[1]} 481 [return] ${return_value.split(' ')[1]}
478 482
479 Отримати інформацію про items[0].classification.description 483 Отримати інформацію про items[0].classification.description
480 - ${return_value}= Отримати тест із поля і показати на сторінці items[0].classification.description 484 + ${return_value}= Отримати текст із поля і показати на сторінці items[0].classification.description
481 ${return_value}= Get Substring ${return_value} 11 485 ${return_value}= Get Substring ${return_value} 11
482 - ${return_value}= Run keyword if '${return_value}' == 'Картонки' Convert To String Cartons 486 + Run Keyword And Return If '${return_value}' == 'Картонки' Convert To String Cartons
483 [return] ${return_value} 487 [return] ${return_value}
484 488
485 Отримати інформацію про items[0].additionalClassifications[0].id 489 Отримати інформацію про items[0].additionalClassifications[0].id
486 - ${return_value}= Отримати тест із поля і показати на сторінці items[0].additionalClassifications[0].id 490 + ${return_value}= Отримати текст із поля і показати на сторінці items[0].additionalClassifications[0].id
487 [return] ${return_value.split(' ')[0]} 491 [return] ${return_value.split(' ')[0]}
488 492
489 Отримати інформацію про items[0].additionalClassifications[0].scheme 493 Отримати інформацію про items[0].additionalClassifications[0].scheme
490 - ${return_value}= Отримати тест із поля і показати на сторінці items[0].additionalClassifications[0].scheme 494 + ${return_value}= Отримати текст із поля і показати на сторінці items[0].additionalClassifications[0].scheme
491 ${return_value}= Get Substring ${return_value} 0 -1 495 ${return_value}= Get Substring ${return_value} 0 -1
492 [return] ${return_value.split(' ')[1]} 496 [return] ${return_value.split(' ')[1]}
493 497
494 Отримати інформацію про items[0].additionalClassifications[0].description 498 Отримати інформацію про items[0].additionalClassifications[0].description
495 - ${return_value}= Отримати тест із поля і показати на сторінці items[0].additionalClassifications[0].description 499 + ${return_value}= Отримати текст із поля і показати на сторінці items[0].additionalClassifications[0].description
496 ${return_value}= Get Substring ${return_value} 8 60 500 ${return_value}= Get Substring ${return_value} 8 60
497 ${return_value}= Remove String ${return_value} " 501 ${return_value}= Remove String ${return_value} "
498 ${return_value}= Convert To Lowercase ${return_value} 502 ${return_value}= Convert To Lowercase ${return_value}
499 [return] ${return_value} 503 [return] ${return_value}
500 504
501 Отримати інформацію про items[0].deliveryAddress.postalCode 505 Отримати інформацію про items[0].deliveryAddress.postalCode
502 - ${return_value}= Отримати тест із поля і показати на сторінці items[0].deliveryAddress.postalCode 506 + ${return_value}= Отримати текст із поля і показати на сторінці items[0].deliveryAddress.postalCode
503 ${return_value}= Get Substring ${return_value} 0 5 507 ${return_value}= Get Substring ${return_value} 0 5
504 [return] ${return_value} 508 [return] ${return_value}
505 509
506 Отримати інформацію про items[0].deliveryAddress.countryName 510 Отримати інформацію про items[0].deliveryAddress.countryName
507 - ${return_value}= Отримати тест із поля і показати на сторінці items[0].deliveryAddress.countryName 511 + ${return_value}= Отримати текст із поля і показати на сторінці items[0].deliveryAddress.countryName
508 ${return_value}= Get Substring ${return_value} 0 7 512 ${return_value}= Get Substring ${return_value} 0 7
509 [return] ${return_value} 513 [return] ${return_value}
510 514
511 Отримати інформацію про items[0].deliveryAddress.region 515 Отримати інформацію про items[0].deliveryAddress.region
512 - ${return_value}= Отримати тест із поля і показати на сторінці items[0].deliveryAddress.region  
513 - ${return_value}= Run keyword if '${return_value}' == 'Київська,' Convert To String м. Київ  
514 - [return] ${return_value} 516 + ${return_value}= Отримати текст із поля і показати на сторінці items[0].deliveryAddress.region
  517 + Run Keyword And Return Remove String ${return_value} ,
515 518
516 Отримати інформацію про items[0].deliveryAddress.locality 519 Отримати інформацію про items[0].deliveryAddress.locality
517 - ${return_value}= Отримати тест із поля і показати на сторінці items[0].deliveryAddress.locality  
518 - ${return_value}= Run keyword if '${return_value}' == 'Київ,' Convert To String м. Київ  
519 - [return] ${return_value} 520 + ${return_value}= Отримати текст із поля і показати на сторінці items[0].deliveryAddress.locality
  521 + Run Keyword And Return Remove String ${return_value} ,
520 522
521 Отримати інформацію про items[0].deliveryAddress.streetAddress 523 Отримати інформацію про items[0].deliveryAddress.streetAddress
522 - ${return_value}= Отримати тест із поля і показати на сторінці items[0].deliveryAddress.streetAddress 524 + ${return_value}= Отримати текст із поля і показати на сторінці items[0].deliveryAddress.streetAddress
523 [return] ${return_value} 525 [return] ${return_value}
524 526
525 Отримати інформацію про items[0].deliveryDate.endDate 527 Отримати інформацію про items[0].deliveryDate.endDate
526 - ${return_value}= Отримати тест із поля і показати на сторінці items[0].deliveryDate.endDate  
527 - ${time}= Отримати тест із поля і показати на сторінці enquiryPeriod.startDate 528 + ${return_value}= Отримати текст із поля і показати на сторінці items[0].deliveryDate.endDate
  529 + ${time}= Отримати текст із поля і показати на сторінці enquiryPeriod.startDate
528 ${time}= Get Substring ${time} 11 530 ${time}= Get Substring ${time} 11
529 ${day}= Get Substring ${return_value} 16 18 531 ${day}= Get Substring ${return_value} 16 18
530 ${month}= Get Substring ${return_value} 18 22 532 ${month}= Get Substring ${return_value} 18 22
@@ -533,18 +535,18 @@ Change_date_to_month @@ -533,18 +535,18 @@ Change_date_to_month
533 [return] ${return_value} 535 [return] ${return_value}
534 536
535 Отримати інформацію про questions[0].title 537 Отримати інформацію про questions[0].title
536 - ${return_value}= отримати тест із поля і показати на сторінці questions[0].title 538 + ${return_value}= Отримати текст із поля і показати на сторінці questions[0].title
537 [return] ${return_value} 539 [return] ${return_value}
538 540
539 Отримати інформацію про questions[0].description 541 Отримати інформацію про questions[0].description
540 - ${return_value}= отримати тест із поля і показати на сторінці questions[0].description 542 + ${return_value}= Отримати текст із поля і показати на сторінці questions[0].description
541 [return] ${return_value} 543 [return] ${return_value}
542 544
543 Отримати інформацію про questions[0].date 545 Отримати інформацію про questions[0].date
544 - ${return_value}= отримати тест із поля і показати на сторінці questions[0].date 546 + ${return_value}= Отримати текст із поля і показати на сторінці questions[0].date
545 ${return_value}= Change_date_to_month ${return_value} 547 ${return_value}= Change_date_to_month ${return_value}
546 [return] ${return_value} 548 [return] ${return_value}
547 549
548 Отримати інформацію про questions[0].answer 550 Отримати інформацію про questions[0].answer
549 - ${return_value}= отримати тест із поля і показати на сторінці questions[0].answer 551 + ${return_value}= Отримати текст із поля і показати на сторінці questions[0].answer
550 [return] ${return_value} 552 [return] ${return_value}
@@ -31,7 +31,8 @@ ${locator.questions[0].answer} xpath=//div[@class = 'answer relative']//di @@ -31,7 +31,8 @@ ${locator.questions[0].answer} xpath=//div[@class = 'answer relative']//di
31 [Arguments] @{ARGUMENTS} 31 [Arguments] @{ARGUMENTS}
32 [Documentation] Відкрити брaузер, створити обєкт api wrapper, тощо 32 [Documentation] Відкрити брaузер, створити обєкт api wrapper, тощо
33 ... ${ARGUMENTS[0]} == username 33 ... ${ARGUMENTS[0]} == username
34 - Open Browser ${BROKERS['${USERS.users['${ARGUMENTS[0]}'].broker}'].url} ${USERS.users['${ARGUMENTS[0]}'].browser} alias=${ARGUMENTS[0]} 34 + ${url}= Get Broker Property By Username ${ARGUMENTS[0]} url
  35 + Open Browser ${url} ${USERS.users['${ARGUMENTS[0]}'].browser} alias=${ARGUMENTS[0]}
35 Set Window Size @{USERS.users['${ARGUMENTS[0]}'].size} 36 Set Window Size @{USERS.users['${ARGUMENTS[0]}'].size}
36 Set Window Position @{USERS.users['${ARGUMENTS[0]}'].position} 37 Set Window Position @{USERS.users['${ARGUMENTS[0]}'].position}
37 Run Keyword And Ignore Error Pre Login ${ARGUMENTS[0]} 38 Run Keyword And Ignore Error Pre Login ${ARGUMENTS[0]}
@@ -53,10 +54,12 @@ Pre Login @@ -53,10 +54,12 @@ Pre Login
53 [Arguments] @{ARGUMENTS} 54 [Arguments] @{ARGUMENTS}
54 [Documentation] 55 [Documentation]
55 ... ${ARGUMENTS[0]} == username 56 ... ${ARGUMENTS[0]} == username
56 - Wait Until Page Contains Element name=siteLogin 10  
57 - Input text name=siteLogin ${BROKERS['${USERS.users['${username}'].broker}'].login}  
58 - Input text name=sitePass ${BROKERS['${USERS.users['${username}'].broker}'].password}  
59 - Click Button xpath=.//*[@id='table1']/tbody/tr/td/form/p[3]/input 57 + ${login}= Get Broker Property By Username ${ARGUMENTS[0]} login
  58 + ${password}= Get Broker Property By Username ${ARGUMENTS[0]} password
  59 + Wait Until Page Contains Element name=siteLogin 10
  60 + Input Text name=siteLogin ${login}
  61 + Input Text name=sitePass ${password}
  62 + Click Button xpath=.//*[@id='table1']/tbody/tr/td/form/p[3]/input
60 63
61 Створити тендер 64 Створити тендер
62 [Arguments] @{ARGUMENTS} 65 [Arguments] @{ARGUMENTS}
@@ -187,7 +190,8 @@ Set Multi Ids @@ -187,7 +190,8 @@ Set Multi Ids
187 ... ${ARGUMENTS[0]} = username 190 ... ${ARGUMENTS[0]} = username
188 ... ${ARGUMENTS[1]} = ${TENDER_UAID} 191 ... ${ARGUMENTS[1]} = ${TENDER_UAID}
189 ... ${ARGUMENTS[2]} = 3 192 ... ${ARGUMENTS[2]} = 3
190 - ${tender_data}= prepare_test_tender_data ${BROKERS['${USERS.users['${tender_owner}'].broker}'].period_interval} multi 193 + ${period_interval}= Get Broker Property By Username ${ARGUMENTS[0]} period_interval
  194 + ${tender_data}= prepare_test_tender_data ${period_interval} multi
191 195
192 ${items}= Get From Dictionary ${tender_data.data} items 196 ${items}= Get From Dictionary ${tender_data.data} items
193 ${description}= Get From Dictionary ${tender_data.data} description 197 ${description}= Get From Dictionary ${tender_data.data} description
@@ -229,7 +233,8 @@ Set Multi Ids @@ -229,7 +233,8 @@ Set Multi Ids
229 ... ${ARGUMENTS[0]} == username 233 ... ${ARGUMENTS[0]} == username
230 ... ${ARGUMENTS[1]} == tenderId 234 ... ${ARGUMENTS[1]} == tenderId
231 Switch browser ${ARGUMENTS[0]} 235 Switch browser ${ARGUMENTS[0]}
232 - Go to ${BROKERS['${USERS.users['${username}'].broker}'].url} 236 + ${url}= Get Broker Property By Username ${ARGUMENTS[0]} url
  237 + Go To ${url}
233 Wait Until Page Contains Держзакупівлі.онлайн 10 238 Wait Until Page Contains Держзакупівлі.онлайн 10
234 Click Element xpath=//a[text()='Закупівлі'] 239 Click Element xpath=//a[text()='Закупівлі']
235 sleep 1 240 sleep 1
@@ -360,57 +365,56 @@ Set Multi Ids @@ -360,57 +365,56 @@ Set Multi Ids
360 ... ${ARGUMENTS[0]} == username 365 ... ${ARGUMENTS[0]} == username
361 ... ${ARGUMENTS[1]} == fieldname 366 ... ${ARGUMENTS[1]} == fieldname
362 Switch browser ${ARGUMENTS[0]} 367 Switch browser ${ARGUMENTS[0]}
363 - ${return_value}= run keyword отримати інформацію про ${ARGUMENTS[1]}  
364 - [return] ${return_value} 368 + Run Keyword And Return Отримати інформацію про ${ARGUMENTS[1]}
365 369
366 -отримати тест із поля і показати на сторінці 370 +Отримати текст із поля і показати на сторінці
367 [Arguments] ${fieldname} 371 [Arguments] ${fieldname}
368 sleep 1 372 sleep 1
369 ${return_value}= Get Text ${locator.${fieldname}} 373 ${return_value}= Get Text ${locator.${fieldname}}
370 [return] ${return_value} 374 [return] ${return_value}
371 375
372 отримати інформацію про title 376 отримати інформацію про title
373 - ${title}= отримати тест із поля і показати на сторінці title 377 + ${title}= Отримати текст із поля і показати на сторінці title
374 [return] ${title.split('.')[0]} 378 [return] ${title.split('.')[0]}
375 379
376 отримати інформацію про description 380 отримати інформацію про description
377 - ${description}= отримати тест із поля і показати на сторінці description 381 + ${description}= Отримати текст із поля і показати на сторінці description
378 [return] ${description} 382 [return] ${description}
379 383
380 отримати інформацію про tenderId 384 отримати інформацію про tenderId
381 - ${tenderId}= отримати тест із поля і показати на сторінці tenderId 385 + ${tenderId}= Отримати текст із поля і показати на сторінці tenderId
382 [return] ${tenderId} 386 [return] ${tenderId}
383 387
384 отримати інформацію про value.amount 388 отримати інформацію про value.amount
385 - ${valueAmount}= отримати тест із поля і показати на сторінці value.amount 389 + ${valueAmount}= Отримати текст із поля і показати на сторінці value.amount
386 ${valueAmount}= Convert To Number ${valueAmount.split(' ')[0]} 390 ${valueAmount}= Convert To Number ${valueAmount.split(' ')[0]}
387 [return] ${valueAmount} 391 [return] ${valueAmount}
388 392
389 отримати інформацію про minimalStep.amount 393 отримати інформацію про minimalStep.amount
390 - ${minimalStepAmount}= отримати тест із поля і показати на сторінці minimalStep.amount 394 + ${minimalStepAmount}= Отримати текст із поля і показати на сторінці minimalStep.amount
391 ${minimalStepAmount}= Convert To Number ${minimalStepAmount.split(' ')[0]} 395 ${minimalStepAmount}= Convert To Number ${minimalStepAmount.split(' ')[0]}
392 [return] ${minimalStepAmount} 396 [return] ${minimalStepAmount}
393 397
394 отримати інформацію про enquiryPeriod.endDate 398 отримати інформацію про enquiryPeriod.endDate
395 - ${enquiryPeriodEndDate}= отримати тест із поля і показати на сторінці enquiryPeriod.endDate 399 + ${enquiryPeriodEndDate}= Отримати текст із поля і показати на сторінці enquiryPeriod.endDate
396 ${enquiryPeriodEndDate}= subtract_from_time ${enquiryPeriodEndDate} 6 5 400 ${enquiryPeriodEndDate}= subtract_from_time ${enquiryPeriodEndDate} 6 5
397 [return] ${enquiryPeriodEndDate} 401 [return] ${enquiryPeriodEndDate}
398 402
399 отримати інформацію про tenderPeriod.endDate 403 отримати інформацію про tenderPeriod.endDate
400 - ${tenderPeriodEndDate}= отримати тест із поля і показати на сторінці tenderPeriod.endDate 404 + ${tenderPeriodEndDate}= Отримати текст із поля і показати на сторінці tenderPeriod.endDate
401 ${tenderPeriodEndDate}= subtract_from_time ${tenderPeriodEndDate} 11 0 405 ${tenderPeriodEndDate}= subtract_from_time ${tenderPeriodEndDate} 11 0
402 [return] ${tenderPeriodEndDate} 406 [return] ${tenderPeriodEndDate}
403 407
404 отримати інформацію про items[0].deliveryAddress.countryName 408 отримати інформацію про items[0].deliveryAddress.countryName
405 - ${countryName}= отримати тест із поля і показати на сторінці items[0].deliveryAddress.countryName 409 + ${countryName}= Отримати текст із поля і показати на сторінці items[0].deliveryAddress.countryName
406 [return] ${countryName} 410 [return] ${countryName}
407 411
408 отримати інформацію про items[0].classification.scheme 412 отримати інформацію про items[0].classification.scheme
409 - ${classificationScheme}= отримати тест із поля і показати на сторінці items[0].classification.scheme 413 + ${classificationScheme}= Отримати текст із поля і показати на сторінці items[0].classification.scheme
410 [return] ${classificationScheme.split(' ')[1]} 414 [return] ${classificationScheme.split(' ')[1]}
411 415
412 отримати інформацію про items[0].additionalClassifications[0].scheme 416 отримати інформацію про items[0].additionalClassifications[0].scheme
413 - ${additionalClassificationsScheme}= отримати тест із поля і показати на сторінці items[0].additionalClassifications[0].scheme 417 + ${additionalClassificationsScheme}= Отримати текст із поля і показати на сторінці items[0].additionalClassifications[0].scheme
414 [return] ${additionalClassificationsScheme.split(' ')[1]} 418 [return] ${additionalClassificationsScheme.split(' ')[1]}
415 419
416 отримати інформацію про questions[0].title 420 отримати інформацію про questions[0].title
@@ -418,16 +422,16 @@ Set Multi Ids @@ -418,16 +422,16 @@ Set Multi Ids
418 Click Element xpath=//a[@class='reverse tenderLink'] 422 Click Element xpath=//a[@class='reverse tenderLink']
419 sleep 1 423 sleep 1
420 Click Element xpath=//a[@class='reverse openCPart'][span[text()='Обговорення']] 424 Click Element xpath=//a[@class='reverse openCPart'][span[text()='Обговорення']]
421 - ${questionsTitle}= отримати тест із поля і показати на сторінці questions[0].title 425 + ${questionsTitle}= Отримати текст із поля і показати на сторінці questions[0].title
422 ${questionsTitle}= Convert To Lowercase ${questionsTitle} 426 ${questionsTitle}= Convert To Lowercase ${questionsTitle}
423 [return] ${questionsTitle.capitalize().split('.')[0] + '.'} 427 [return] ${questionsTitle.capitalize().split('.')[0] + '.'}
424 428
425 отримати інформацію про questions[0].description 429 отримати інформацію про questions[0].description
426 - ${questionsDescription}= отримати тест із поля і показати на сторінці questions[0].description 430 + ${questionsDescription}= Отримати текст із поля і показати на сторінці questions[0].description
427 [return] ${questionsDescription} 431 [return] ${questionsDescription}
428 432
429 отримати інформацію про questions[0].date 433 отримати інформацію про questions[0].date
430 - ${questionsDate}= отримати тест із поля і показати на сторінці questions[0].date 434 + ${questionsDate}= Отримати текст із поля і показати на сторінці questions[0].date
431 log ${questionsDate} 435 log ${questionsDate}
432 [return] ${questionsDate} 436 [return] ${questionsDate}
433 437
@@ -436,40 +440,40 @@ Set Multi Ids @@ -436,40 +440,40 @@ Set Multi Ids
436 Click Element xpath=//a[@class='reverse tenderLink'] 440 Click Element xpath=//a[@class='reverse tenderLink']
437 sleep 1 441 sleep 1
438 Click Element xpath=//a[@class='reverse openCPart'][span[text()='Обговорення']] 442 Click Element xpath=//a[@class='reverse openCPart'][span[text()='Обговорення']]
439 - ${questionsAnswer}= отримати тест із поля і показати на сторінці questions[0].answer 443 + ${questionsAnswer}= Отримати текст із поля і показати на сторінці questions[0].answer
440 [return] ${questionsAnswer} 444 [return] ${questionsAnswer}
441 445
442 отримати інформацію про items[0].deliveryDate.endDate 446 отримати інформацію про items[0].deliveryDate.endDate
443 - ${deliveryDateEndDate}= отримати тест із поля і показати на сторінці items[0].deliveryDate.endDate 447 + ${deliveryDateEndDate}= Отримати текст із поля і показати на сторінці items[0].deliveryDate.endDate
444 ${deliveryDateEndDate}= subtract_from_time ${deliveryDateEndDate} 15 0 448 ${deliveryDateEndDate}= subtract_from_time ${deliveryDateEndDate} 15 0
445 [return] ${deliveryDateEndDate} 449 [return] ${deliveryDateEndDate}
446 450
447 отримати інформацію про items[0].classification.id 451 отримати інформацію про items[0].classification.id
448 - ${classificationId}= отримати тест із поля і показати на сторінці items[0].classification.id 452 + ${classificationId}= Отримати текст із поля і показати на сторінці items[0].classification.id
449 [return] ${classificationId} 453 [return] ${classificationId}
450 454
451 отримати інформацію про items[0].classification.description 455 отримати інформацію про items[0].classification.description
452 - ${classificationDescription}= отримати тест із поля і показати на сторінці items[0].classification.description  
453 - ${classificationDescription}= Run keyword if '${classificationDescription}' == 'Картонки' Convert To String Cartons 456 + ${classificationDescription}= Отримати текст із поля і показати на сторінці items[0].classification.description
  457 + Run Keyword And Return If '${classificationDescription}' == 'Картонки' Convert To String Cartons
454 [return] ${classificationDescription} 458 [return] ${classificationDescription}
455 459
456 отримати інформацію про items[0].additionalClassifications[0].id 460 отримати інформацію про items[0].additionalClassifications[0].id
457 - ${additionalClassificationsId}= отримати тест із поля і показати на сторінці items[0].additionalClassifications[0].id 461 + ${additionalClassificationsId}= Отримати текст із поля і показати на сторінці items[0].additionalClassifications[0].id
458 [return] ${additionalClassificationsId} 462 [return] ${additionalClassificationsId}
459 463
460 отримати інформацію про items[0].additionalClassifications[0].description 464 отримати інформацію про items[0].additionalClassifications[0].description
461 - ${additionalClassificationsDescription}= отримати тест із поля і показати на сторінці items[0].additionalClassifications[0].description 465 + ${additionalClassificationsDescription}= Отримати текст із поля і показати на сторінці items[0].additionalClassifications[0].description
462 ${additionalClassificationsDescription}= Convert To Lowercase ${additionalClassificationsDescription} 466 ${additionalClassificationsDescription}= Convert To Lowercase ${additionalClassificationsDescription}
463 [return] ${additionalClassificationsDescription} 467 [return] ${additionalClassificationsDescription}
464 468
465 отримати інформацію про items[0].quantity 469 отримати інформацію про items[0].quantity
466 - ${itemsQuantity}= отримати тест із поля і показати на сторінці items[0].quantity 470 + ${itemsQuantity}= Отримати текст із поля і показати на сторінці items[0].quantity
467 ${itemsQuantity}= Convert To Integer ${itemsQuantity} 471 ${itemsQuantity}= Convert To Integer ${itemsQuantity}
468 [return] ${itemsQuantity} 472 [return] ${itemsQuantity}
469 473
470 отримати інформацію про items[0].unit.code 474 отримати інформацію про items[0].unit.code
471 - ${unitCode}= отримати тест із поля і показати на сторінці items[0].unit.code  
472 - ${unitCode}= Run keyword if '${unitCode}'== 'кг' Convert To String KGM 475 + ${unitCode}= Отримати текст із поля і показати на сторінці items[0].unit.code
  476 + Run Keyword And Return If '${unitCode}'== 'кг' Convert To String KGM
473 [return] ${unitCode} 477 [return] ${unitCode}
474 478
475 отримати інформацію про procuringEntity.name 479 отримати інформацію про procuringEntity.name
@@ -42,7 +42,8 @@ ${locator.QUESTIONS[0].date} xpath=//span[@class="date ng-binding"] @@ -42,7 +42,8 @@ ${locator.QUESTIONS[0].date} xpath=//span[@class="date ng-binding"]
42 [Arguments] @{ARGUMENTS} 42 [Arguments] @{ARGUMENTS}
43 [Documentation] Відкрити брaвзер, створити обєкт api wrapper, тощо 43 [Documentation] Відкрити брaвзер, створити обєкт api wrapper, тощо
44 ... ${ARGUMENTS[0]} == username 44 ... ${ARGUMENTS[0]} == username
45 - Open Browser ${BROKERS['${USERS.users['${username}'].broker}'].url} ${USERS.users['${username}'].browser} alias=${ARGUMENTS[0]} 45 + ${url}= Get Broker Property By Username ${ARGUMENTS[0]} url
  46 + Open Browser ${url} ${USERS.users['${username}'].browser} alias=${ARGUMENTS[0]}
46 Set Window Size @{USERS.users['${ARGUMENTS[0]}'].size} 47 Set Window Size @{USERS.users['${ARGUMENTS[0]}'].size}
47 Set Window Position @{USERS.users['${ARGUMENTS[0]}'].position} 48 Set Window Position @{USERS.users['${ARGUMENTS[0]}'].position}
48 Run Keyword If '${username}' != 'Newtend_Viewer' Login 49 Run Keyword If '${username}' != 'Newtend_Viewer' Login
@@ -247,8 +248,7 @@ Set datetime @@ -247,8 +248,7 @@ Set datetime
247 ... ${ARGUMENTS[0]} == username 248 ... ${ARGUMENTS[0]} == username
248 ... ${ARGUMENTS[1]} == fieldname 249 ... ${ARGUMENTS[1]} == fieldname
249 Switch browser ${ARGUMENTS[0]} 250 Switch browser ${ARGUMENTS[0]}
250 - ${return_value}= run keyword отримати інформацію про ${ARGUMENTS[1]}  
251 - [return] ${return_value} 251 + Run Keyword And Return Отримати інформацію про ${ARGUMENTS[1]}
252 252
253 отримати текст із поля і показати на сторінці 253 отримати текст із поля і показати на сторінці
254 [Arguments] ${fieldname} 254 [Arguments] ${fieldname}
@@ -361,7 +361,7 @@ Set datetime @@ -361,7 +361,7 @@ Set datetime
361 361
362 отримати інформацію про items[0].classification.description 362 отримати інформацію про items[0].classification.description
363 ${classification_description}= отримати текст із поля і показати на сторінці items[0].classification.scheme 363 ${classification_description}= отримати текст із поля і показати на сторінці items[0].classification.scheme
364 - ${classification_description}= Run Keyword If '${classification_description}' == '44617100-9 - Картонки' Convert To String Cartons 364 + Run Keyword And Return If '${classification_description}' == '44617100-9 - Картонки' Convert To String Cartons
365 [return] ${classification_description} 365 [return] ${classification_description}
366 366
367 ##ДКПП 367 ##ДКПП
@@ -382,7 +382,7 @@ Set datetime @@ -382,7 +382,7 @@ Set datetime
382 ##item 382 ##item
383 отримати інформацію про items[0].unit.name 383 отримати інформацію про items[0].unit.name
384 ${unit_name}= отримати текст із поля і показати на сторінці items[0].unit.name 384 ${unit_name}= отримати текст із поля і показати на сторінці items[0].unit.name
385 - ${unit_name}= Run Keyword If '${unit_name}' == 'килограммы' Convert To String кілограм 385 + Run Keyword And Return If '${unit_name}' == 'килограммы' Convert To String кілограм
386 [return] ${unit_name} 386 [return] ${unit_name}
387 387
388 отримати інформацію про items[0].unit.code 388 отримати інформацію про items[0].unit.code
@@ -401,7 +401,8 @@ Set datetime @@ -401,7 +401,8 @@ Set datetime
401 ... ${ARGUMENTS[0]} = username 401 ... ${ARGUMENTS[0]} = username
402 ... ${ARGUMENTS[1]} = ${TENDER_UAID} 402 ... ${ARGUMENTS[1]} = ${TENDER_UAID}
403 ... ${ARGUMENTS[2]} = 3 403 ... ${ARGUMENTS[2]} = 3
404 - ${ADDITIONAL_DATA}= prepare_test_tender_data ${BROKERS['${USERS.users['${tender_owner}'].broker}'].period_interval} multi 404 + ${period_interval}= Get Broker Property By Username ${ARGUMENTS[0]} period_interval
  405 + ${ADDITIONAL_DATA}= prepare_test_tender_data ${period_interval} multi
405 ${items}= Get From Dictionary ${ADDITIONAL_DATA.data} items 406 ${items}= Get From Dictionary ${ADDITIONAL_DATA.data} items
406 Selenium2Library.Switch Browser ${ARGUMENTS[0]} 407 Selenium2Library.Switch Browser ${ARGUMENTS[0]}
407 Wait Until Page Contains Element ${locator.edit_tender} 10 408 Wait Until Page Contains Element ${locator.edit_tender} 10
@@ -21,7 +21,8 @@ ${PASSWORD} 1234 @@ -21,7 +21,8 @@ ${PASSWORD} 1234
21 log many @{ARGUMENTS} 21 log many @{ARGUMENTS}
22 log ${username} 22 log ${username}
23 [Documentation] Відкрити брaвзер, створити обєкт api wrapper, тощо 23 [Documentation] Відкрити брaвзер, створити обєкт api wrapper, тощо
24 - Open Browser ${BROKERS['${USERS.users['${username}'].broker}'].url} ${USERS.users['${username}'].browser} alias=${username} 24 + ${url}= Get Broker Property By Username ${ARGUMENTS[0]} url
  25 + Open Browser ${url} ${USERS.users['${username}'].browser} alias=${username}
25 Set Window Position @{USERS.users['${username}'].position} 26 Set Window Position @{USERS.users['${username}'].position}
26 #Set Window Size @{USERS.users['${username}'].size} 27 #Set Window Size @{USERS.users['${username}'].size}
27 Log Variables 28 Log Variables
@@ -99,8 +100,9 @@ Get tender id @@ -99,8 +100,9 @@ Get tender id
99 ... ${ARGUMENTS[2]} == id 100 ... ${ARGUMENTS[2]} == id
100 Switch browser ${ARGUMENTS[0]} 101 Switch browser ${ARGUMENTS[0]}
101 ${current_location}= Get Location 102 ${current_location}= Get Location
102 - Run keyword if '${BROKERS['${USERS.users['${username}'].broker}'].url}/#/tenderDetailes/${ARGUMENTS[2]}'=='${current_location}' Reload Page  
103 - Go to ${BROKERS['${USERS.users['${username}'].broker}'].url} 103 + ${url}= Get Broker Property By Username ${ARGUMENTS[0]} url
  104 + Run Keyword If '${url}/#/tenderDetailes/${ARGUMENTS[2]}'=='${current_location}' Reload Page
  105 + Go to ${url}
104 Wait Until Page Contains Допороговые закупки Украины 10 106 Wait Until Page Contains Допороговые закупки Украины 10
105 sleep 1 107 sleep 1
106 Input Text id=search ${ARGUMENTS[1]} 108 Input Text id=search ${ARGUMENTS[1]}
@@ -17,8 +17,8 @@ ${telephone} +380976535447 @@ -17,8 +17,8 @@ ${telephone} +380976535447
17 Set Window Position @{USERS.users['${ARGUMENTS[0]}'].position} 17 Set Window Position @{USERS.users['${ARGUMENTS[0]}'].position}
18 18
19 # login 19 # login
20 - Run Keyword And Ignore Error Wait Until Page Contains Element id=mForm:j_idt54 10  
21 - Click Element id=mForm:j_idt54 20 + Run Keyword And Ignore Error Wait Until Page Contains Element id=mForm:j_idt56 10
  21 + Click Element id=mForm:j_idt56
22 Run Keyword And Ignore Error Wait Until Page Contains Element id=mForm:email 10 22 Run Keyword And Ignore Error Wait Until Page Contains Element id=mForm:email 10
23 Input text id=mForm:email ${USERS.users['${username}'].login} 23 Input text id=mForm:email ${USERS.users['${username}'].login}
24 Sleep 2 24 Sleep 2
@@ -81,9 +81,16 @@ ${telephone} +380976535447 @@ -81,9 +81,16 @@ ${telephone} +380976535447
81 Choose File id=mForm:data:docFile_input ${file_path} 81 Choose File id=mForm:data:docFile_input ${file_path}
82 Sleep 2 82 Sleep 2
83 Run Keyword if '${mode}' == 'multi' Додати предмет items 83 Run Keyword if '${mode}' == 'multi' Додати предмет items
  84 + # Save
84 Click Element id=mForm:bSave 85 Click Element id=mForm:bSave
  86 + Sleep 5
  87 + # Announce
  88 + Click Element xpath=//span[text()="Оголосити"]
  89 + Sleep 2
  90 + # Confirm in message box
  91 + Click Element xpath=//div[contains(@class, "ui-confirm-dialog") and @aria-hidden="false"]//span[text()="Оголосити"]
85 # More smart wait for id is needed there. 92 # More smart wait for id is needed there.
86 - Sleep 25 93 + Sleep 5
87 ${tender_UAid}= Get Text id=mForm:nBid 94 ${tender_UAid}= Get Text id=mForm:nBid
88 ${tender_UAid}= Get Substring ${tender_UAid} 19 95 ${tender_UAid}= Get Substring ${tender_UAid} 19
89 ${Ids} Convert To String ${tender_UAid} 96 ${Ids} Convert To String ${tender_UAid}
@@ -7,7 +7,8 @@ Library DateTime @@ -7,7 +7,8 @@ Library DateTime
7 Підготувати клієнт для користувача 7 Підготувати клієнт для користувача
8 [Arguments] ${username} 8 [Arguments] ${username}
9 [Documentation] Відкрити брaвзер, створити обєкт api wrapper, тощо 9 [Documentation] Відкрити брaвзер, створити обєкт api wrapper, тощо
10 - Open Browser ${BROKERS['${USERS.users['${username}'].broker}'].url} ${USERS.users['${username}'].browser} alias=${username} 10 + ${url}= Get Broker Property By Username ${username} url
  11 + Open Browser ${url} ${USERS.users['${username}'].browser} alias=${username}
11 Set Window Position @{USERS.users['${username}'].position} 12 Set Window Position @{USERS.users['${username}'].position}
12 Set Window Size @{USERS.users['${username}'].size} 13 Set Window Size @{USERS.users['${username}'].size}
13 Log Variables 14 Log Variables
@@ -20,8 +21,9 @@ Library DateTime @@ -20,8 +21,9 @@ Library DateTime
20 ... ${ARGUMENTS[2]} == id 21 ... ${ARGUMENTS[2]} == id
21 Switch browser ${ARGUMENTS[0]} 22 Switch browser ${ARGUMENTS[0]}
22 ${current_location}= Get Location 23 ${current_location}= Get Location
23 - Run keyword if '${BROKERS['${USERS.users['${username}'].broker}'].url}/#/tenderDetailes/${ARGUMENTS[2]}'=='${current_location}' Reload Page  
24 - Go to ${BROKERS['${USERS.users['${username}'].broker}'].url} 24 + ${url}= Get Broker Property By Username ${ARGUMENTS[0]} url
  25 + Run Keyword If '${url}/#/tenderDetailes/${ARGUMENTS[2]}'=='${current_location}' Reload Page
  26 + Go To ${url}
25 Wait Until Page Contains Офіційний майданчик державних закупівель України 10 27 Wait Until Page Contains Офіційний майданчик державних закупівель України 10
26 sleep 1 28 sleep 1
27 Input Text id=j_idt18:datalist:j_idt67 ${ARGUMENTS[1]} 29 Input Text id=j_idt18:datalist:j_idt67 ${ARGUMENTS[1]}
  1 +Default:
  2 + # These values are used by default unless a
  3 + # specific broker entry overrides them.
  4 + timeout_on_wait: 300
  5 + period_interval: 3
1 Quinta: 6 Quinta:
2 keywords_file: openprocurement_client 7 keywords_file: openprocurement_client
3 - timeout_on_wait: 0  
4 - period_interval: 2 8 + timeout_on_wait: 15
5 roles: 9 roles:
6 tender_owner: Tender_Owner 10 tender_owner: Tender_Owner
7 provider: Tender_User 11 provider: Tender_User
@@ -10,8 +14,7 @@ Quinta: @@ -10,8 +14,7 @@ Quinta:
10 E-tender: 14 E-tender:
11 keywords_file: etender 15 keywords_file: etender
12 url: http://bid.uat.e-tender.biz/ 16 url: http://bid.uat.e-tender.biz/
13 - timeout_on_wait: 15  
14 - period_interval: 2 17 + timeout_on_wait: 60
15 roles: 18 roles:
16 tender_owner: E-tender_Owner 19 tender_owner: E-tender_Owner
17 provider: E-tender_Provider1 20 provider: E-tender_Provider1
@@ -19,11 +22,9 @@ E-tender: @@ -19,11 +22,9 @@ E-tender:
19 viewer: E-tender_Viewer 22 viewer: E-tender_Viewer
20 Netcast: 23 Netcast:
21 keywords_file: netcast 24 keywords_file: netcast
22 - url: "http://dz2.byustudio.in.ua" 25 + url: http://dz2.byustudio.in.ua
23 login: admin 26 login: admin
24 password: uStudio 27 password: uStudio
25 - timeout_on_wait: 15  
26 - period_interval: 2  
27 roles: 28 roles:
28 tender_owner: Netcast_Owner 29 tender_owner: Netcast_Owner
29 provider: Netcast_Provider1 30 provider: Netcast_Provider1
@@ -31,8 +32,6 @@ Netcast: @@ -31,8 +32,6 @@ Netcast:
31 Newtend: 32 Newtend:
32 keywords_file: newtend 33 keywords_file: newtend
33 url: http://openprocurement:test@dev23.newtend.com 34 url: http://openprocurement:test@dev23.newtend.com
34 - timeout_on_wait: 15  
35 - period_interval: 2  
36 roles: 35 roles:
37 tender_owner: Newtend_Owner 36 tender_owner: Newtend_Owner
38 provider: Newtend_Provider1 37 provider: Newtend_Provider1
@@ -40,7 +39,6 @@ Newtend: @@ -40,7 +39,6 @@ Newtend:
40 Prom: 39 Prom:
41 keywords_file: prom 40 keywords_file: prom
42 url: http://dz.dz-test.net/ 41 url: http://dz.dz-test.net/
43 - timeout_on_wait: 15  
44 period_interval: 31 42 period_interval: 31
45 roles: 43 roles:
46 tender_owner: Prom_Owner 44 tender_owner: Prom_Owner
@@ -48,15 +46,11 @@ Prom: @@ -48,15 +46,11 @@ Prom:
48 Publicbid: 46 Publicbid:
49 keywords_file: publicbid 47 keywords_file: publicbid
50 url: https://public-bid.com.ua/ 48 url: https://public-bid.com.ua/
51 - timeout_on_wait: 15  
52 - period_interval: 2  
53 roles: 49 roles:
54 tender_owner: Publicbid_Owner 50 tender_owner: Publicbid_Owner
55 viewer: Publicbid_Viewer 51 viewer: Publicbid_Viewer
56 SmartTender: 52 SmartTender:
57 keywords_file: smarttender 53 keywords_file: smarttender
58 url: http://smarttender.biz/tenders 54 url: http://smarttender.biz/tenders
59 - timeout_on_wait: 15  
60 - period_interval: 2  
61 roles: 55 roles:
62 viewer: SmartTender_Viewer 56 viewer: SmartTender_Viewer
1 users: 1 users:
2 Tender_Owner: 2 Tender_Owner:
3 - api_key: e9c3ccb8e8124f26941d5f9639a4ebc3  
4 - broker: Quinta 3 + api_key: e9c3ccb8e8124f26941d5f9639a4ebc3
  4 + broker: Quinta
5 Tender_User: 5 Tender_User:
6 - api_key: e9c3ccb8e8124f26941d5f9639a4ebc3  
7 - broker: Quinta 6 + api_key: e9c3ccb8e8124f26941d5f9639a4ebc3
  7 + broker: Quinta
8 Tender_User1: 8 Tender_User1:
9 - api_key: e9c3ccb8e8124f26941d5f9639a4ebc3  
10 - broker: Quinta 9 + api_key: e9c3ccb8e8124f26941d5f9639a4ebc3
  10 + broker: Quinta
11 Tender_Viewer: 11 Tender_Viewer:
12 - broker: Quinta  
13 - api_key: "" 12 + api_key: ""
  13 + broker: Quinta
14 E-tender_Owner: 14 E-tender_Owner:
15 - broker: E-tender 15 + broker: E-tender
16 username: E-tendertest 16 username: E-tendertest
17 homepage: "http://bid.uat.e-tender.biz/#/profile" 17 homepage: "http://bid.uat.e-tender.biz/#/profile"
18 - login: Misha2 18 + login: Misha2
19 password: Password1 19 password: Password1
20 browser: chrome 20 browser: chrome
21 - position: [0, 0]  
22 - size: [800, 800] 21 + position: [0, 0]
  22 + size: [800, 800]
23 E-tender_Provider1: 23 E-tender_Provider1:
24 - broker: E-tender 24 + broker: E-tender
25 username: E-tendertest 25 username: E-tendertest
26 homepage: "http://bid.uat.e-tender.biz/#/profile" 26 homepage: "http://bid.uat.e-tender.biz/#/profile"
27 - login: st_org 27 + login: st_org
28 password: 12345678 28 password: 12345678
29 - browser: chrome 29 + browser: chrome
30 position: [700, 0] 30 position: [700, 0]
31 - size: [700, 800] 31 + size: [700, 800]
32 E-tender_Provider2: 32 E-tender_Provider2:
33 - broker: E-tender 33 + broker: E-tender
34 username: E-tendertest 34 username: E-tendertest
35 homepage: "http://bid.uat.e-tender.biz/#/profile" 35 homepage: "http://bid.uat.e-tender.biz/#/profile"
36 - login: provider2 36 + login: provider2
37 password: Qa123456 37 password: Qa123456
38 browser: chrome 38 browser: chrome
39 - position: [700, 0]  
40 - size: [640, 450] 39 + position: [700, 0]
  40 + size: [640, 450]
41 E-tender_Viewer: 41 E-tender_Viewer:
42 - broker: E-tender 42 + broker: E-tender
43 username: E-tendertest 43 username: E-tendertest
44 homepage: "http://bid.uat.e-tender.biz/#" 44 homepage: "http://bid.uat.e-tender.biz/#"
45 browser: chrome 45 browser: chrome
46 - position: [0, 0]  
47 - size: [640, 450] 46 + position: [0, 0]
  47 + size: [640, 450]
48 Netcast_Owner: 48 Netcast_Owner:
49 - broker: Netcast 49 + broker: Netcast
50 username: Netcasttest 50 username: Netcasttest
51 homepage: "http://dz2.byustudio.in.ua" 51 homepage: "http://dz2.byustudio.in.ua"
52 - login: ovramet.s@gmail.com 52 + login: ovramet.s@gmail.com
53 password: Password1 53 password: Password1
54 - browser: chrome  
55 - position: [0, 0]  
56 - size: [700, 800] 54 + browser: chrome
  55 + position: [0, 0]
  56 + size: [700, 800]
57 Netcast_Provider1: 57 Netcast_Provider1:
58 - broker: Netcast 58 + broker: Netcast
59 username: Netcasttest 59 username: Netcasttest
60 homepage: "http://dz2.byustudio.in.ua" 60 homepage: "http://dz2.byustudio.in.ua"
61 - login: halyna.khimka@gmail.com 61 + login: halyna.khimka@gmail.com
62 password: JHO5VUp5n 62 password: JHO5VUp5n
63 - browser: chrome  
64 - position: [0, 0]  
65 - size: [600, 800] 63 + browser: chrome
  64 + position: [0, 0]
  65 + size: [600, 800]
66 Netcast_Viewer: 66 Netcast_Viewer:
67 - broker: Netcast 67 + broker: Netcast
68 username: Netcasttest 68 username: Netcasttest
69 homepage: "http://dz2.byustudio.in.ua" 69 homepage: "http://dz2.byustudio.in.ua"
70 - browser: chrome  
71 - position: [0, 0]  
72 - size: [600, 800] 70 + browser: chrome
  71 + position: [0, 0]
  72 + size: [600, 800]
73 Newtend_Owner: 73 Newtend_Owner:
74 - broker: Newtend 74 + broker: Newtend
75 username: Newtendtest 75 username: Newtendtest
76 homepage: "http://dev23.newtend.com/openprocurement/#/home/page/1" 76 homepage: "http://dev23.newtend.com/openprocurement/#/home/page/1"
77 - login: openprocurement@mailinator.com 77 + login: openprocurement@mailinator.com
78 password: 123123 78 password: 123123
79 browser: chrome 79 browser: chrome
80 - position: [0, 0]  
81 - size: [1200, 1200] 80 + position: [0, 0]
  81 + size: [1200, 1200]
82 Newtend_Provider1: 82 Newtend_Provider1:
83 - broker: Newtend 83 + broker: Newtend
84 username: Newtendtest 84 username: Newtendtest
85 homepage: "http://dev23.newtend.com/openprocurement/tenders" 85 homepage: "http://dev23.newtend.com/openprocurement/tenders"
86 - login: openprocboss@mailinator.com 86 + login: openprocboss@mailinator.com
87 password: 123123 87 password: 123123
88 browser: chrome 88 browser: chrome
89 - position: [700, 0]  
90 - size: [800, 700] 89 + position: [700, 0]
  90 + size: [800, 700]
91 Newtend_Viewer: 91 Newtend_Viewer:
92 - broker: Newtend 92 + broker: Newtend
93 username: Newtendtest 93 username: Newtendtest
94 homepage: "http://dev23.newtend.com/openprocurement/tenders" 94 homepage: "http://dev23.newtend.com/openprocurement/tenders"
95 browser: chrome 95 browser: chrome
96 - position: [800, 400]  
97 - size: [800, 700] 96 + position: [800, 400]
  97 + size: [800, 700]
98 Prom_Owner: 98 Prom_Owner:
99 - broker: Prom 99 + broker: Prom
100 username: Promtest 100 username: Promtest
  101 + homepage: "http://zakupki.dz-test.net"
101 browser: chrome 102 browser: chrome
102 - position: [0, 0]  
103 - size: [640, 450] 103 + position: [0, 0]
  104 + size: [640, 450]
104 Prom_Viewer: 105 Prom_Viewer:
105 - broker: Prom 106 + broker: Prom
106 username: Promtest 107 username: Promtest
  108 + homepage: "http://zakupki.dz-test.net"
107 browser: chrome 109 browser: chrome
108 - position: [640, 0]  
109 - size: [640, 450] 110 + position: [640, 0]
  111 + size: [640, 450]
110 Publicbid_Owner: 112 Publicbid_Owner:
111 - broker: Publicbid 113 + broker: Publicbid
112 username: Publicbid 114 username: Publicbid
113 - homepage: "https://public-bid.com.ua/test/"  
114 - login: yaroslav1boyko@gmail.com 115 + homepage: "https://public-bid.com.ua/"
  116 + login: yaroslav1boyko@gmail.com
115 password: Password1 117 password: Password1
116 - browser: chrome 118 + browser: chrome
117 position: [0, 0] 119 position: [0, 0]
118 - size: [740, 550] 120 + size: [740, 550]
119 Publicbid_Viewer: 121 Publicbid_Viewer:
120 - broker: Publicbid 122 + broker: Publicbid
121 username: Publicbid 123 username: Publicbid
  124 + homepage: "https://public-bid.com.ua/"
122 browser: chrome 125 browser: chrome
123 - position: [0, 450]  
124 - size: [640, 450] 126 + position: [0, 450]
  127 + size: [640, 450]
125 SmartTender_Viewer: 128 SmartTender_Viewer:
126 - broker: SmartTender 129 + broker: SmartTender
127 username: SmartTendertest 130 username: SmartTendertest
  131 + homepage: "http://smarttender.biz/tenders"
128 browser: chrome 132 browser: chrome
129 - position: [0, 450]  
130 - size: [640, 450] 133 + position: [0, 450]
  134 + size: [640, 450]
1 # -*- coding: utf-8 - 1 # -*- coding: utf-8 -
2 -import os  
3 -from pytz import timezone  
4 from datetime import datetime, timedelta 2 from datetime import datetime, timedelta
5 -from munch import munchify  
6 from faker import Factory 3 from faker import Factory
  4 +from munch import munchify
  5 +from pytz import timezone
7 from tempfile import NamedTemporaryFile 6 from tempfile import NamedTemporaryFile
  7 +import os
8 8
9 fake = Factory.create('uk_UA') 9 fake = Factory.create('uk_UA')
10 fake_ru = Factory.create('ru') 10 fake_ru = Factory.create('ru')
@@ -12,6 +12,7 @@ fake_en = Factory.create() @@ -12,6 +12,7 @@ fake_en = Factory.create()
12 12
13 TZ = timezone(os.environ['TZ'] if 'TZ' in os.environ else 'Europe/Kiev') 13 TZ = timezone(os.environ['TZ'] if 'TZ' in os.environ else 'Europe/Kiev')
14 14
  15 +
15 def get_now(): 16 def get_now():
16 return datetime.now(TZ) 17 return datetime.now(TZ)
17 18
@@ -23,370 +24,418 @@ def create_fake_doc(): @@ -23,370 +24,418 @@ def create_fake_doc():
23 tf.close() 24 tf.close()
24 return tf.name 25 return tf.name
25 26
26 -def test_tender_data(period_interval=2):  
27 - now = get_now()  
28 - return {  
29 - "title": u"[ТЕСТУВАННЯ] " + fake.catch_phrase(),  
30 - "mode": "test",  
31 - "submissionMethodDetails": "quick",  
32 - "description": "Test tender1", #Error @prom when 'Тестовый тендер'  
33 - "description_en": "Test tender",  
34 - "description_ru": "Тестовый тендер",  
35 - "procuringEntity": {  
36 - "name": fake.company(),  
37 - "name_ru": fake_ru.company(),  
38 - "name_en": fake_en.company(),  
39 - "identifier": {  
40 - "scheme": u"UA-EDR",  
41 - "id": u"0000{}".format(fake.pyint()),  
42 - "uri": fake.image_url(width=None, height=None)  
43 - },  
44 - "address": {  
45 - "countryName": u"Україна",  
46 - "postalCode": fake.postalcode(),  
47 - "region": u"м. Київ",  
48 - "locality": u"м. Київ",  
49 - "streetAddress": fake.street_address()  
50 - },  
51 - "contactPoint": {  
52 - "name": fake.name(),  
53 - "telephone": fake.phone_number()  
54 - }  
55 - },  
56 - "value": {  
57 - "amount": 50000, #Error @prom when float '50000.99'  
58 - "currency": u"UAH"  
59 - },  
60 - "minimalStep": {  
61 - "amount": 100, #Error @prom when float '100.1'  
62 - "currency": u"UAH"  
63 - },  
64 - "items": [  
65 - {  
66 - "description": fake.catch_phrase(),  
67 - "deliveryDate": {  
68 - "endDate": (now + timedelta(days=5)).isoformat()  
69 - },  
70 - "deliveryLocation": {  
71 - "latitude": u"49.8500° N",  
72 - "longitude": u"24.0167° E"  
73 - },  
74 - "deliveryAddress": { 27 +
  28 +def test_tender_data(period_interval):
  29 + now = get_now()
  30 + return {
  31 + "title": u"[ТЕСТУВАННЯ] " + fake.catch_phrase(),
  32 + "mode": "test",
  33 + "submissionMethodDetails": "quick",
  34 + "description": u"Тестовий тендер", # Error @prom when "Тестовый тендер"
  35 + "description_ru": u"Тестовый тендер",
  36 + "description_en": "Test tender",
  37 + "procuringEntity": {
  38 + "name": fake.company(),
  39 + "name_ru": fake_ru.company(),
  40 + "name_en": fake_en.company(),
  41 + "identifier": {
  42 + "scheme": u"UA-EDR",
  43 + "id": u"0000{}".format(fake.pyint()),
  44 + "uri": fake.image_url(width=None, height=None)
  45 + },
  46 + "address": {
75 "countryName": u"Україна", 47 "countryName": u"Україна",
  48 + "countryName_ru": u"Украина",
  49 + "countryName_en": "Ukraine",
76 "postalCode": fake.postalcode(), 50 "postalCode": fake.postalcode(),
77 "region": u"м. Київ", 51 "region": u"м. Київ",
78 "locality": u"м. Київ", 52 "locality": u"м. Київ",
79 "streetAddress": fake.street_address() 53 "streetAddress": fake.street_address()
80 }, 54 },
81 - "classification": {  
82 - "scheme": u"CPV",  
83 - "id": u"44617100-9",  
84 - "description": u"Cartons"  
85 - },  
86 - "additionalClassifications": [  
87 - {  
88 - "scheme": u"ДКПП",  
89 - "id": u"17.21.1",  
90 - "description": u"папір і картон гофровані, паперова й картонна тара"  
91 - }  
92 - ],  
93 - "unit": {  
94 - "name": u"кілограм",  
95 - "code": u"KGM"  
96 - },  
97 - "quantity": fake.pyint() 55 + "contactPoint": {
  56 + "name": fake.name(),
  57 + "telephone": fake.phone_number()
  58 + }
  59 + },
  60 + "value": {
  61 + "amount": 50000, # Error @prom when float '50000.99'
  62 + "currency": u"UAH"
  63 + },
  64 + "minimalStep": {
  65 + "amount": 100, # Error @prom when float '100.1'
  66 + "currency": u"UAH"
  67 + },
  68 + "items": [
  69 + {
  70 + "description": fake.catch_phrase(),
  71 + "deliveryDate": {
  72 + "endDate": (now + timedelta(days=5)).isoformat()
  73 + },
  74 + "deliveryLocation": {
  75 + "latitude": u"49.8500° N",
  76 + "longitude": u"24.0167° E"
  77 + },
  78 + "deliveryAddress": {
  79 + "countryName": u"Україна",
  80 + "countryName_ru": u"Украина",
  81 + "countryName_en": "Ukraine",
  82 + "postalCode": fake.postalcode(),
  83 + "region": u"м. Київ",
  84 + "locality": u"м. Київ",
  85 + "streetAddress": fake.street_address()
  86 + },
  87 + "classification": {
  88 + "scheme": u"CPV",
  89 + "id": u"44617100-9",
  90 + "description": u"Картонки",
  91 + "description_ru": u"Большие картонные коробки",
  92 + "description_en": u"Cartons"
  93 + },
  94 + "additionalClassifications": [
  95 + {
  96 + "scheme": u"ДКПП",
  97 + "id": u"17.21.1",
  98 + "description": u"Папір і картон гофровані, паперова й картонна тара"
  99 + }
  100 + ],
  101 + "unit": {
  102 + "name": u"кілограм",
  103 + "name_ru": u"килограмм",
  104 + "name_en": "kilogram",
  105 + "code": u"KGM"
  106 + },
  107 + "quantity": fake.pyint()
  108 + }
  109 + ],
  110 + "enquiryPeriod": {
  111 + "startDate": (now).isoformat(),
  112 + "endDate": (now + timedelta(minutes=1)).isoformat()
  113 + },
  114 + "tenderPeriod": {
  115 + "startDate": (now + timedelta(minutes=2)).isoformat(),
  116 + "endDate": (now + timedelta(minutes=(2 + period_interval))).isoformat()
98 } 117 }
99 - ],  
100 - "enquiryPeriod": {  
101 - "startDate": (now).isoformat(),  
102 - "endDate": (now + timedelta(minutes=1)).isoformat()  
103 - },  
104 - "tenderPeriod": {  
105 - "startDate": (now + timedelta(minutes=2)).isoformat(),  
106 - "endDate": (now + timedelta(minutes=(2+period_interval))).isoformat()  
107 } 118 }
108 -} 119 +
109 120
110 def prom_test_tender_data(): 121 def prom_test_tender_data():
111 - now = get_now()  
112 - return {  
113 - "title": fake.catch_phrase(),  
114 - "mode": "test",  
115 - "submissionMethodDetails": "quick",  
116 - "description": "Test tender1", #Error @prom when 'Тестовый тендер'  
117 - "description_en": "Test tender",  
118 - "description_ru": "Тестовый тендер",  
119 - "procuringEntity": {  
120 - "name": fake.company(),  
121 - "name_ru": fake_ru.company(),  
122 - "name_en": fake_en.company(),  
123 - "identifier": {  
124 - "scheme": u"UA-EDR",  
125 - "id": u"0000{}".format(fake.pyint()),  
126 - "uri": fake.image_url(width=None, height=None)  
127 - },  
128 - "address": {  
129 - "countryName": u"Україна",  
130 - "postalCode": fake.postalcode(),  
131 - "region": u"м. Київ",  
132 - "locality": u"м. Київ",  
133 - "streetAddress": fake.street_address()  
134 - },  
135 - "contactPoint": {  
136 - "name": fake.name(),  
137 - "telephone": fake.phone_number()  
138 - }  
139 - },  
140 - "value": {  
141 - "amount": 50000, #Error @prom when float '50000.99'  
142 - "currency": u"UAH"  
143 - },  
144 - "minimalStep": {  
145 - "amount": 100, #Error @prom when float '100.1'  
146 - "currency": u"UAH"  
147 - },  
148 - "items": [  
149 - {  
150 - "description": fake.catch_phrase(),  
151 - "deliveryDate": {  
152 - "startDate": (now + timedelta(days=4)).isoformat(),  
153 - "endDate": (now + timedelta(days=5)).isoformat()  
154 - },  
155 - "deliveryLocation": {  
156 - "latitude": "49.8500° N",  
157 - "longitude": "24.0167° E"  
158 - },  
159 - "deliveryAddress": { 122 + now = get_now()
  123 + return {
  124 + "title": fake.catch_phrase(),
  125 + "mode": "test",
  126 + "submissionMethodDetails": "quick",
  127 + "description": u"Тестовий тендер", # Error @prom when "Тестовый тендер"
  128 + "description_ru": u"Тестовый тендер",
  129 + "description_en": "Test tender",
  130 + "procuringEntity": {
  131 + "name": fake.company(),
  132 + "name_ru": fake_ru.company(),
  133 + "name_en": fake_en.company(),
  134 + "identifier": {
  135 + "scheme": u"UA-EDR",
  136 + "id": u"0000{}".format(fake.pyint()),
  137 + "uri": fake.image_url(width=None, height=None)
  138 + },
  139 + "address": {
160 "countryName": u"Україна", 140 "countryName": u"Україна",
  141 + "countryName_ru": u"Украина",
  142 + "countryName_en": "Ukraine",
161 "postalCode": fake.postalcode(), 143 "postalCode": fake.postalcode(),
162 "region": u"м. Київ", 144 "region": u"м. Київ",
163 "locality": u"м. Київ", 145 "locality": u"м. Київ",
164 "streetAddress": fake.street_address() 146 "streetAddress": fake.street_address()
165 }, 147 },
166 - "classification": {  
167 - "scheme": u"CPV",  
168 - "id": u"44617100-9",  
169 - "description": u"Cartons"  
170 - },  
171 - "additionalClassifications": [  
172 - {  
173 - "scheme": u"ДКПП",  
174 - "id": u"17.21.1",  
175 - "description": u"папір і картон гофровані, паперова й картонна тара"  
176 - }  
177 - ],  
178 - "unit": {  
179 - "name": u"кілограм",  
180 - "code": u"KGM"  
181 - },  
182 - "quantity": fake.pyint() 148 + "contactPoint": {
  149 + "name": fake.name(),
  150 + "telephone": fake.phone_number()
  151 + }
  152 + },
  153 + "value": {
  154 + "amount": 50000, # Error @prom when float '50000.99'
  155 + "currency": u"UAH"
  156 + },
  157 + "minimalStep": {
  158 + "amount": 100, # Error @prom when float '100.1'
  159 + "currency": u"UAH"
  160 + },
  161 + "items": [
  162 + {
  163 + "description": fake.catch_phrase(),
  164 + "deliveryDate": {
  165 + "startDate": (now + timedelta(days=4)).isoformat(),
  166 + "endDate": (now + timedelta(days=5)).isoformat()
  167 + },
  168 + "deliveryLocation": {
  169 + "latitude": "49.8500° N",
  170 + "longitude": "24.0167° E"
  171 + },
  172 + "deliveryAddress": {
  173 + "countryName": u"Україна",
  174 + "countryName_ru": u"Украина",
  175 + "countryName_en": "Ukraine",
  176 + "postalCode": fake.postalcode(),
  177 + "region": u"м. Київ",
  178 + "locality": u"м. Київ",
  179 + "streetAddress": fake.street_address()
  180 + },
  181 + "classification": {
  182 + "scheme": u"CPV",
  183 + "id": u"44617100-9",
  184 + "description": u"Картонки",
  185 + "description_ru": u"Большие картонные коробки",
  186 + "description_en": u"Cartons"
  187 + },
  188 + "additionalClassifications": [
  189 + {
  190 + "scheme": u"ДКПП",
  191 + "id": u"17.21.1",
  192 + "description": u"Папір і картон гофровані, паперова й картонна тара"
  193 + }
  194 + ],
  195 + "unit": {
  196 + "name": u"кілограм",
  197 + "name_ru": u"килограмм",
  198 + "name_en": "kilogram",
  199 + "code": u"KGM"
  200 + },
  201 + "quantity": fake.pyint()
  202 + }
  203 + ],
  204 + "enquiryPeriod": {
  205 + "startDate": (now + timedelta(days=1)).isoformat(),
  206 + "endDate": (now + timedelta(days=2)).isoformat()
  207 + },
  208 + "tenderPeriod": {
  209 + "startDate": (now + timedelta(days=3)).isoformat(),
  210 + "endDate": (now + timedelta(days=5)).isoformat()
183 } 211 }
184 - ],  
185 - "enquiryPeriod": {  
186 - "startDate": (now + timedelta(days=1)).isoformat(),  
187 - "endDate": (now + timedelta(days=2)).isoformat()  
188 - },  
189 - "tenderPeriod": {  
190 - "startDate": (now + timedelta(days=3)).isoformat(),  
191 - "endDate": (now + timedelta(days=5)).isoformat()  
192 } 212 }
193 -}  
194 213
195 -def test_tender_data_multiple_lots(period_interval=2): 214 +
  215 +def test_tender_data_multiple_lots(period_interval):
196 now = get_now() 216 now = get_now()
197 return { 217 return {
198 - "title": fake.catch_phrase(),  
199 - "mode": "test",  
200 - "submissionMethodDetails": "quick",  
201 - "description": u"Тестовий тендер",  
202 - "description_en": "Test tender",  
203 - "description_ru": "Тестовый тендер",  
204 - "procuringEntity": {  
205 - "name": fake.company(),  
206 - "name_ru": fake_ru.company(),  
207 - "name_en": fake_en.company(),  
208 - "identifier": {  
209 - "scheme": u"UA-EDR",  
210 - "id": u"0000{}".format(fake.pyint()),  
211 - "uri": fake.image_url(width=None, height=None)  
212 - },  
213 - "address": {  
214 - "countryName": u"Україна",  
215 - "postalCode": fake.postalcode(),  
216 - "region": u"м. Київ",  
217 - "locality": u"м. Київ",  
218 - "streetAddress": fake.street_address()  
219 - },  
220 - "contactPoint": {  
221 - "name": fake.name(),  
222 - "telephone": fake.phone_number()  
223 - }  
224 - },  
225 - "value": {  
226 - "amount": 50000.99,  
227 - "currency": u"UAH"  
228 - },  
229 - "minimalStep": {  
230 - "amount": 100.1,  
231 - "currency": u"UAH"  
232 - },  
233 - "items": [  
234 - {  
235 - "description": fake.catch_phrase(),  
236 - "deliveryDate": {  
237 - "endDate": (now + timedelta(days=5)).isoformat()  
238 - },  
239 - "deliveryLocation": {  
240 - "latitude": 49.8500,  
241 - "longitude": 24.0167  
242 - },  
243 - "deliveryAddress": {  
244 - "countryName": u"Україна",  
245 - "postalCode": "01008",  
246 - "region": u"м. Київ",  
247 - "locality": u"м. Київ",  
248 - "streetAddress": u"ул. Грушевского, 12/2"  
249 - },  
250 - "classification": {  
251 - "scheme": u"CPV",  
252 - "id": u"44617100-9",  
253 - "description": u"Cartons"  
254 - },  
255 - "additionalClassifications": [  
256 - {  
257 - "scheme": u"ДКПП",  
258 - "id": u"17.29.12-00.00",  
259 - "description": u"Блоки, плити та пластини фільтрувальні, з паперової маси"  
260 - }  
261 - ],  
262 - "unit": {  
263 - "name": u"кілограм",  
264 - "code": u"KGM"  
265 - },  
266 - "quantity": fake.pyint()  
267 - },  
268 - {  
269 - "description": fake.catch_phrase(),  
270 - "deliveryDate": {  
271 - "endDate": (now + timedelta(days=5)).isoformat()  
272 - },  
273 - "deliveryLocation": {  
274 - "latitude": 49.8500,  
275 - "longitude": 24.0167  
276 - },  
277 - "deliveryAddress": { 218 + "title": fake.catch_phrase(),
  219 + "mode": "test",
  220 + "submissionMethodDetails": "quick",
  221 + "description": u"Тестовий тендер",
  222 + "description_ru": u"Тестовый тендер",
  223 + "description_en": "Test tender",
  224 + "procuringEntity": {
  225 + "name": fake.company(),
  226 + "name_ru": fake_ru.company(),
  227 + "name_en": fake_en.company(),
  228 + "identifier": {
  229 + "scheme": u"UA-EDR",
  230 + "id": u"0000{}".format(fake.pyint()),
  231 + "uri": fake.image_url(width=None, height=None)
  232 + },
  233 + "address": {
278 "countryName": u"Україна", 234 "countryName": u"Україна",
  235 + "countryName_ru": u"Украина",
  236 + "countryName_en": "Ukraine",
279 "postalCode": fake.postalcode(), 237 "postalCode": fake.postalcode(),
280 "region": u"м. Київ", 238 "region": u"м. Київ",
281 "locality": u"м. Київ", 239 "locality": u"м. Київ",
282 "streetAddress": fake.street_address() 240 "streetAddress": fake.street_address()
283 }, 241 },
284 - "classification": {  
285 - "scheme": u"CPV",  
286 - "id": u"44617100-9",  
287 - "description": u"Cartons"  
288 - },  
289 - "additionalClassifications": [  
290 - {  
291 - "scheme": u"ДКПП",  
292 - "id": u"17.21.99-00.00",  
293 - "description": u"Роботи субпідрядні як частина виробництва гофрованих паперу й картону, паперової та картонної тари"  
294 - }  
295 - ],  
296 - "unit": {  
297 - "name": u"кілограм",  
298 - "code": u"KGM"  
299 - },  
300 - "quantity": fake.pyint() 242 + "contactPoint": {
  243 + "name": fake.name(),
  244 + "telephone": fake.phone_number()
  245 + }
301 }, 246 },
302 - {  
303 - "description": fake.catch_phrase(),  
304 - "deliveryDate": {  
305 - "endDate": (now + timedelta(days=5)).isoformat()  
306 - },  
307 - "deliveryLocation": {  
308 - "latitude": 49.3418,  
309 - "longitude": 39.1829  
310 - },  
311 - "deliveryAddress": {  
312 - "countryName": u"Україна",  
313 - "postalCode": fake.postalcode(),  
314 - "region": u"м. Луганськ",  
315 - "locality": u"м. Луганськ",  
316 - "streetAddress": u"Вул. Оборонна 28"  
317 - },  
318 - "classification": {  
319 - "scheme": u"CPV",  
320 - "id": u"44617100-9",  
321 - "description": u"Cartons"  
322 - },  
323 - "additionalClassifications": [  
324 - {  
325 - "scheme": u"ДКПП",  
326 - "id": u"17.22.12-40.00",  
327 - "description": u"Вата; вироби з вати, інші"  
328 - }  
329 - ],  
330 - "unit": {  
331 - "name": u"кілограм",  
332 - "code": u"KGM"  
333 - },  
334 - "quantity": fake.pyint() 247 + "value": {
  248 + "amount": 50000.99,
  249 + "currency": u"UAH"
335 }, 250 },
336 - {  
337 - "description": fake.catch_phrase(),  
338 - "deliveryDate": {  
339 - "endDate": (now + timedelta(days=5)).isoformat()  
340 - },  
341 - "deliveryLocation": {  
342 - "latitude": 49.8500,  
343 - "longitude": 24.0167  
344 - },  
345 - "deliveryAddress": {  
346 - "countryName": u"Україна",  
347 - "postalCode": fake.postalcode(),  
348 - "region": u"м. Київ",  
349 - "locality": u"м. Київ",  
350 - "streetAddress": fake.street_address() 251 + "minimalStep": {
  252 + "amount": 100.1,
  253 + "currency": u"UAH"
  254 + },
  255 + "items": [
  256 + {
  257 + "description": fake.catch_phrase(),
  258 + "deliveryDate": {
  259 + "endDate": (now + timedelta(days=5)).isoformat()
  260 + },
  261 + "deliveryLocation": {
  262 + "latitude": 49.8500,
  263 + "longitude": 24.0167
  264 + },
  265 + "deliveryAddress": {
  266 + "countryName": u"Україна",
  267 + "countryName_ru": u"Украина",
  268 + "countryName_en": "Ukraine",
  269 + "postalCode": "01008",
  270 + "region": u"м. Київ",
  271 + "locality": u"м. Київ",
  272 + "streetAddress": u"ул. Грушевского, 12/2"
  273 + },
  274 + "classification": {
  275 + "scheme": u"CPV",
  276 + "id": u"44617100-9",
  277 + "description": u"Картонки",
  278 + "description_ru": u"Большие картонные коробки",
  279 + "description_en": u"Cartons"
  280 + },
  281 + "additionalClassifications": [
  282 + {
  283 + "scheme": u"ДКПП",
  284 + "id": u"17.29.12-00.00",
  285 + "description": u"Блоки, плити та пластини фільтрувальні, з паперової маси"
  286 + }
  287 + ],
  288 + "unit": {
  289 + "name": u"кілограм",
  290 + "name_ru": u"килограмм",
  291 + "name_en": "kilogram",
  292 + "code": u"KGM"
  293 + },
  294 + "quantity": fake.pyint()
351 }, 295 },
352 - "classification": {  
353 - "scheme": u"CPV",  
354 - "id": u"44617100-9",  
355 - "description": u"Cartons" 296 + {
  297 + "description": fake.catch_phrase(),
  298 + "deliveryDate": {
  299 + "endDate": (now + timedelta(days=5)).isoformat()
  300 + },
  301 + "deliveryLocation": {
  302 + "latitude": 49.8500,
  303 + "longitude": 24.0167
  304 + },
  305 + "deliveryAddress": {
  306 + "countryName": u"Україна",
  307 + "countryName_ru": u"Украина",
  308 + "countryName_en": "Ukraine",
  309 + "postalCode": fake.postalcode(),
  310 + "region": u"м. Київ",
  311 + "locality": u"м. Київ",
  312 + "streetAddress": fake.street_address()
  313 + },
  314 + "classification": {
  315 + "scheme": u"CPV",
  316 + "id": u"44617100-9",
  317 + "description": u"Картонки",
  318 + "description_ru": u"Большие картонные коробки",
  319 + "description_en": u"Cartons"
  320 + },
  321 + "additionalClassifications": [
  322 + {
  323 + "scheme": u"ДКПП",
  324 + "id": u"17.21.99-00.00",
  325 + "description": u"Роботи субпідрядні як частина виробництва гофрованих паперу й картону, паперової та картонної тари"
  326 + }
  327 + ],
  328 + "unit": {
  329 + "name": u"кілограм",
  330 + "name_ru": u"килограмм",
  331 + "name_en": "kilogram",
  332 + "code": u"KGM"
  333 + },
  334 + "quantity": fake.pyint()
356 }, 335 },
357 - "additionalClassifications": [  
358 - {  
359 - "scheme": u"ДКПП",  
360 - "id": u"17.22.12-50.00",  
361 - "description": u"Одяг і речі до одягу з паперової маси, паперу, целюлозної вати чи полотна з целюлозного волокна (крім носових хусточок, наголовних уборів)"  
362 - }  
363 - ],  
364 - "unit": {  
365 - "name": u"кілограм",  
366 - "code": u"KGM" 336 + {
  337 + "description": fake.catch_phrase(),
  338 + "deliveryDate": {
  339 + "endDate": (now + timedelta(days=5)).isoformat()
  340 + },
  341 + "deliveryLocation": {
  342 + "latitude": 49.3418,
  343 + "longitude": 39.1829
  344 + },
  345 + "deliveryAddress": {
  346 + "countryName": u"Україна",
  347 + "countryName_ru": u"Украина",
  348 + "countryName_en": "Ukraine",
  349 + "postalCode": fake.postalcode(),
  350 + "region": u"Луганська область",
  351 + "locality": u"м. Луганськ",
  352 + "streetAddress": u"Вул. Оборонна 28"
  353 + },
  354 + "classification": {
  355 + "scheme": u"CPV",
  356 + "id": u"44617100-9",
  357 + "description": u"Картонки",
  358 + "description_ru": u"Большие картонные коробки",
  359 + "description_en": u"Cartons"
  360 + },
  361 + "additionalClassifications": [
  362 + {
  363 + "scheme": u"ДКПП",
  364 + "id": u"17.22.12-40.00",
  365 + "description": u"Вата; вироби з вати, інші"
  366 + }
  367 + ],
  368 + "unit": {
  369 + "name": u"кілограм",
  370 + "name_ru": u"килограмм",
  371 + "name_en": "kilogram",
  372 + "code": u"KGM"
  373 + },
  374 + "quantity": fake.pyint()
367 }, 375 },
368 - "quantity": fake.pyint() 376 + {
  377 + "description": fake.catch_phrase(),
  378 + "deliveryDate": {
  379 + "endDate": (now + timedelta(days=5)).isoformat()
  380 + },
  381 + "deliveryLocation": {
  382 + "latitude": 49.8500,
  383 + "longitude": 24.0167
  384 + },
  385 + "deliveryAddress": {
  386 + "countryName": u"Україна",
  387 + "countryName_ru": u"Украина",
  388 + "countryName_en": "Ukraine",
  389 + "postalCode": fake.postalcode(),
  390 + "region": u"м. Київ",
  391 + "locality": u"м. Київ",
  392 + "streetAddress": fake.street_address()
  393 + },
  394 + "classification": {
  395 + "scheme": u"CPV",
  396 + "id": u"44617100-9",
  397 + "description": u"Картонки",
  398 + "description_ru": u"Большие картонные коробки",
  399 + "description_en": u"Cartons"
  400 + },
  401 + "additionalClassifications": [
  402 + {
  403 + "scheme": u"ДКПП",
  404 + "id": u"17.22.12-50.00",
  405 + "description": u"Одяг і речі до одягу з паперової маси, паперу, целюлозної вати чи полотна з целюлозного волокна (крім носових хусточок, наголовних уборів)"
  406 + }
  407 + ],
  408 + "unit": {
  409 + "name": u"кілограм",
  410 + "name_ru": u"килограмм",
  411 + "name_en": "kilogram",
  412 + "code": u"KGM"
  413 + },
  414 + "quantity": fake.pyint()
  415 + }
  416 + ],
  417 + "enquiryPeriod": {
  418 + "startDate": (now).isoformat(),
  419 + "endDate": (now + timedelta(minutes=1)).isoformat()
  420 + },
  421 + "tenderPeriod": {
  422 + "startDate": (now + timedelta(minutes=2)).isoformat(),
  423 + "endDate": (now + timedelta(minutes=(2 + period_interval))).isoformat()
369 } 424 }
370 - ],  
371 - "enquiryPeriod": {  
372 - "startDate": (now).isoformat(),  
373 - "endDate": (now + timedelta(minutes=1)).isoformat()  
374 - },  
375 - "tenderPeriod": {  
376 - "startDate": (now + timedelta(minutes=2)).isoformat(),  
377 - "endDate": (now + timedelta(minutes=(2+period_interval))).isoformat()  
378 } 425 }
379 -} 426 +
380 427
381 def test_question_data(): 428 def test_question_data():
382 return munchify({ 429 return munchify({
383 "data": { 430 "data": {
384 "author": { 431 "author": {
385 "address": { 432 "address": {
386 - "countryName": "Україна",  
387 - "locality": "м. Вінниця", 433 + "countryName": u"Україна",
  434 + "countryName_ru": u"Украина",
  435 + "countryName_en": "Ukraine",
  436 + "locality": u"м. Вінниця",
388 "postalCode": "21100", 437 "postalCode": "21100",
389 - "region": "м. Вінниця", 438 + "region": u"Вінницька область",
390 "streetAddress": fake.street_address() 439 "streetAddress": fake.street_address()
391 }, 440 },
392 "contactPoint": { 441 "contactPoint": {
@@ -413,15 +462,18 @@ def test_question_answer_data(): @@ -413,15 +462,18 @@ def test_question_answer_data():
413 } 462 }
414 }) 463 })
415 464
  465 +
416 def test_complaint_data(): 466 def test_complaint_data():
417 return munchify({ 467 return munchify({
418 "data": { 468 "data": {
419 "author": { 469 "author": {
420 "address": { 470 "address": {
421 - "countryName": "Україна",  
422 - "locality": "м. Вінниця", 471 + "countryName": u"Україна",
  472 + "countryName_ru": u"Украина",
  473 + "countryName_en": "Ukraine",
  474 + "locality": u"м. Вінниця",
423 "postalCode": "21100", 475 "postalCode": "21100",
424 - "region": "м. Вінниця", 476 + "region": u"Вінницька область",
425 "streetAddress": fake.street_address() 477 "streetAddress": fake.street_address()
426 }, 478 },
427 "contactPoint": { 479 "contactPoint": {
@@ -440,9 +492,10 @@ def test_complaint_data(): @@ -440,9 +492,10 @@ def test_complaint_data():
440 } 492 }
441 }) 493 })
442 494
  495 +
443 def test_complaint_reply_data(): 496 def test_complaint_reply_data():
444 return munchify({ 497 return munchify({
445 - "data": { 498 + "data": {
446 "status": "resolved" 499 "status": "resolved"
447 } 500 }
448 }) 501 })
@@ -454,10 +507,12 @@ def test_bid_data(): @@ -454,10 +507,12 @@ def test_bid_data():
454 "tenderers": [ 507 "tenderers": [
455 { 508 {
456 "address": { 509 "address": {
457 - "countryName": "Україна",  
458 - "locality": "м. Вінниця", 510 + "countryName": u"Україна",
  511 + "countryName_ru": u"Украина",
  512 + "countryName_en": "Ukraine",
  513 + "locality": u"м. Вінниця",
459 "postalCode": "21100", 514 "postalCode": "21100",
460 - "region": "м. Вінниця", 515 + "region": u"Вінницька область",
461 "streetAddress": fake.street_address() 516 "streetAddress": fake.street_address()
462 }, 517 },
463 "contactPoint": { 518 "contactPoint": {
@@ -477,13 +532,15 @@ def test_bid_data(): @@ -477,13 +532,15 @@ def test_bid_data():
477 } 532 }
478 }) 533 })
479 534
  535 +
480 def auction_bid(): 536 def auction_bid():
481 return munchify({ 537 return munchify({
482 - "data": {"value": {  
483 - "amount": 200,  
484 - "currency": "UAH",  
485 - "valueAddedTaxIncluded": true  
486 - } 538 + "data": {
  539 + "value": {
  540 + "amount": 200,
  541 + "currency": "UAH",
  542 + "valueAddedTaxIncluded": true
  543 + }
487 } 544 }
488 }) 545 })
489 546
@@ -28,9 +28,6 @@ Set Suite Variable With Default Value @@ -28,9 +28,6 @@ Set Suite Variable With Default Value
28 log ${BROKERS} 28 log ${BROKERS}
29 Set Global Variable ${BROKERS} 29 Set Global Variable ${BROKERS}
30 30
31 - ${brokers_list}= Get Dictionary Items ${BROKERS}  
32 - log ${brokers_list}  
33 -  
34 ${file_path}= Get Variable Value ${USERS_FILE} users.yaml 31 ${file_path}= Get Variable Value ${USERS_FILE} users.yaml
35 ${USERS}= load_initial_data_from ${file_path} 32 ${USERS}= load_initial_data_from ${file_path}
36 Set Global Variable ${USERS} 33 Set Global Variable ${USERS}
@@ -47,8 +44,30 @@ Set Suite Variable With Default Value @@ -47,8 +44,30 @@ Set Suite Variable With Default Value
47 \ log ${active_users} 44 \ log ${active_users}
48 \ log ${username} 45 \ log ${username}
49 \ ${status}= Run Keyword And Return Status Dictionary Should Contain Value ${active_users} ${username} 46 \ ${status}= Run Keyword And Return Status Dictionary Should Contain Value ${active_users} ${username}
50 - \ Run Keyword If '${status}' == 'True' Завантажуємо бібліотеку з реалізацією ${BROKERS['${USERS.users['${username}'].broker}'].keywords_file} майданчики  
51 - \ Run Keyword If '${status}' == 'True' Викликати для учасника ${username} Підготувати клієнт для користувача 47 + \ ${keywords_file}= Get Broker Property By Username ${username} keywords_file
  48 + \ Run Keyword If '${status}' == 'True' Завантажуємо бібліотеку з реалізацією для майданчика ${keywords_file}
  49 + \ Run Keyword If '${status}' == 'True' Викликати для учасника ${username} Підготувати клієнт для користувача
  50 +
  51 +Get Broker Property
  52 + [Arguments] ${broker_name} ${property}
  53 + [Documentation]
  54 + ... This keyword returns a property of specified broker
  55 + ... if that property exists, otherwise, it returns a
  56 + ... default value.
  57 + ${status}= Run Keyword And Return Status Should Contain ${BROKERS['${broker_name}']} ${property}
  58 + Return From Keyword If ${status} ${BROKERS['${broker_name}'].${property}}
  59 + # If broker doesn't have that property, fall back to default value
  60 + Should Contain ${BROKERS['Default']} ${property}
  61 + [return] ${BROKERS['Default'].${property}}
  62 +
  63 +Get Broker Property By Username
  64 + [Documentation]
  65 + ... This keyword gets the corresponding broker name
  66 + ... for a specified username and then calls
  67 + ... "Get Broker Property"
  68 + [Arguments] ${username} ${property}
  69 + ${broker_name}= Get Variable Value ${USERS.users['${username}'].broker}
  70 + Run Keyword And Return Get Broker Property ${broker_name} ${property}
52 71
53 Підготовка початкових даних 72 Підготовка початкових даних
54 @{QUESTIONS} = Create list 73 @{QUESTIONS} = Create list
@@ -67,27 +86,27 @@ Set Suite Variable With Default Value @@ -67,27 +86,27 @@ Set Suite Variable With Default Value
67 ${reply}= test_complaint_reply_data 86 ${reply}= test_complaint_reply_data
68 Append to list ${REPLIES} ${reply} 87 Append to list ${REPLIES} ${reply}
69 Set Global Variable ${REPLIES} 88 Set Global Variable ${REPLIES}
70 - ${INITIAL_TENDER_DATA}= prepare_test_tender_data ${BROKERS['${USERS.users['${tender_owner}'].broker}'].period_interval} ${mode} 89 + ${period_interval}= Get Broker Property By Username ${tender_owner} period_interval
  90 + ${INITIAL_TENDER_DATA}= prepare_test_tender_data ${period_interval} ${mode}
71 Set Global Variable ${INITIAL_TENDER_DATA} 91 Set Global Variable ${INITIAL_TENDER_DATA}
72 ${TENDER}= Create Dictionary 92 ${TENDER}= Create Dictionary
73 Set Global Variable ${TENDER} 93 Set Global Variable ${TENDER}
74 Log ${TENDER} 94 Log ${TENDER}
75 Log ${INITIAL_TENDER_DATA} 95 Log ${INITIAL_TENDER_DATA}
76 96
77 -Завантажуємо бібліотеку з реалізацією ${keywords_file} майданчики 97 +Завантажуємо бібліотеку з реалізацією для майданчика ${keywords_file}
78 Import Resource ${CURDIR}/brokers/${keywords_file}.robot 98 Import Resource ${CURDIR}/brokers/${keywords_file}.robot
79 99
80 ################################################################################## 100 ##################################################################################
81 Дочекатись синхронізації з майданчиком 101 Дочекатись синхронізації з майданчиком
82 [Arguments] ${username} 102 [Arguments] ${username}
83 [Documentation] 103 [Documentation]
84 - ... ${ARGUMENTS[0]} == username  
85 - ... ${ARGUMENTS[1]} == tenderId  
86 - ... ${ARGUMENTS[2]} == id  
87 - 104 + ... Get ${wait_timeout} for specified user and wait
  105 + ... until that timeout runs out.
88 ${now}= Get Current Date 106 ${now}= Get Current Date
89 ${delta}= Subtract Date From Date ${now} ${TENDER['LAST_MODIFICATION_DATE']} 107 ${delta}= Subtract Date From Date ${now} ${TENDER['LAST_MODIFICATION_DATE']}
90 - ${wait_timeout}= Subtract Time From Time ${BROKERS['${USERS.users['${username}'].broker}'].timeout_on_wait} ${delta} 108 + ${timeout_on_wait}= Get Broker Property By Username ${username} timeout_on_wait
  109 + ${wait_timeout}= Subtract Time From Time ${timeout_on_wait} ${delta}
91 Run Keyword If ${wait_timeout}>0 Sleep ${wait_timeout} 110 Run Keyword If ${wait_timeout}>0 Sleep ${wait_timeout}
92 111
93 Звірити поле тендера 112 Звірити поле тендера
@@ -147,21 +166,20 @@ Set Suite Variable With Default Value @@ -147,21 +166,20 @@ Set Suite Variable With Default Value
147 ... this keyword takes "shouldfail" argument as first one in @{arguments} 166 ... this keyword takes "shouldfail" argument as first one in @{arguments}
148 ... and switches the behaviour of keyword and "shouldfail" 167 ... and switches the behaviour of keyword and "shouldfail"
149 [Arguments] ${username} ${command} @{arguments} 168 [Arguments] ${username} ${command} @{arguments}
150 - log ${username}  
151 - log ${command}  
152 - log ${arguments}  
153 - ${state}= change_state ${arguments}  
154 - ${value}= Run keyword if '${state}' == 'shouldfail' SwitchState ${username} ${command} @{arguments}  
155 - ${value}= Run keyword if '${state}' == 'pass' Normal ${username} ${command} @{arguments}  
156 - [return] ${value} 169 + Log ${username}
  170 + Log ${command}
  171 + Log ${arguments}
  172 + ${state}= change_state ${arguments}
  173 + Run Keyword And Return If '${state}' == 'shouldfail' SwitchState ${username} ${command} @{arguments}
  174 + Run Keyword And Return If '${state}' == 'pass' Normal ${username} ${command} @{arguments}
157 175
158 Normal 176 Normal
159 [Arguments] ${username} ${command} @{arguments} 177 [Arguments] ${username} ${command} @{arguments}
160 - log ${username}  
161 - log ${command}  
162 - log ${arguments}  
163 - ${value}= Run Keyword ${BROKERS['${USERS.users['${username}'].broker}'].keywords_file}.${command} ${username} @{arguments}  
164 - [return] ${value} 178 + Log ${username}
  179 + Log ${command}
  180 + Log ${arguments}
  181 + ${keywords_file}= Get Broker Property By Username ${username} keywords_file
  182 + Run Keyword And Return ${keywords_file}.${command} ${username} @{arguments}
165 183
166 SwitchState 184 SwitchState
167 [Arguments] ${username} ${command} @{arguments} 185 [Arguments] ${username} ${command} @{arguments}
@@ -170,7 +188,8 @@ SwitchState @@ -170,7 +188,8 @@ SwitchState
170 log ${arguments} 188 log ${arguments}
171 Remove From List ${arguments} 0 189 Remove From List ${arguments} 0
172 log ${arguments} 190 log ${arguments}
173 - ${status} ${value}= run_keyword_and_ignore_keyword_definitions ${BROKERS['${USERS.users['${username}'].broker}'].keywords_file}.${command} ${username} @{arguments} 191 + ${keywords_file}= Get Broker Property By Username ${username} keywords_file
  192 + ${status} ${value}= run_keyword_and_ignore_keyword_definitions ${keywords_file}.${command} ${username} @{arguments}
174 Run keyword if '${status}' == 'PASS' Log Учасник ${username} зміг виконати "${command}" WARN 193 Run keyword if '${status}' == 'PASS' Log Учасник ${username} зміг виконати "${command}" WARN
175 [return] ${value} 194 [return] ${value}
176 195
@@ -189,9 +189,7 @@ def Add_data_for_GUI_FrontEnds(INITIAL_TENDER_DATA): @@ -189,9 +189,7 @@ def Add_data_for_GUI_FrontEnds(INITIAL_TENDER_DATA):
189 return INITIAL_TENDER_DATA 189 return INITIAL_TENDER_DATA
190 190
191 def local_path_to_file(file_name): 191 def local_path_to_file(file_name):
192 - path = os.getcwd()  
193 - path = path.split("brokers", 1)[0] + "/src/op_robot_tests/op_robot_tests/tests_files/documents/" + file_name  
194 - return path 192 + return os.path.join(os.path.dirname(__file__), 'documents', file_name)
195 193
196 ## E-Tender 194 ## E-Tender
197 def convert_date_to_etender_format(isodate): 195 def convert_date_to_etender_format(isodate):
@@ -216,7 +216,7 @@ ${question_id} 0 @@ -216,7 +216,7 @@ ${question_id} 0
216 Викликати для учасника ${viewer} Оновити сторінку з тендером ${TENDER['TENDER_UAID']} 216 Викликати для учасника ${viewer} Оновити сторінку з тендером ${TENDER['TENDER_UAID']}
217 Звірити поле ${viewer} questions[${question_id}].answer ${ANSWERS[${question_id}].data.answer} 217 Звірити поле ${viewer} questions[${question_id}].answer ${ANSWERS[${question_id}].data.answer}
218 218
219 -Подати цінову пропозицію bidder 219 +Подати цінову пропозицію першим учасником
220 [Tags] ${USERS.users['${provider}'].broker}: Можливість подати цінову пропозицію 220 [Tags] ${USERS.users['${provider}'].broker}: Можливість подати цінову пропозицію
221 Дочекатись дати початку прийому пропозицій 221 Дочекатись дати початку прийому пропозицій
222 ${bid}= test bid data 222 ${bid}= test bid data
1 -from setuptools import setup, find_packages  
2 -import os  
3 -import sys 1 +from setuptools import find_packages, setup
4 2
5 version = '0.0' 3 version = '0.0'
6 4
Please register or login to post a comment