Commit 360b3b2c9099a9ab5eb4c9c194162f31de438a42
Merge pull request #27 from selurvedu/black_friday
Introduce default and overridden values for brokers.yaml; various fixes, minor and trivial improvements
Showing
15 changed files
with
632 additions
and
544 deletions
| @@ -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 |
Please
register
or
login
to post a comment