Showing
5 changed files
with
190 additions
and
60 deletions
| @@ -3,6 +3,7 @@ Library Selenium2Screenshots | @@ -3,6 +3,7 @@ Library Selenium2Screenshots | ||
| 3 | Library String | 3 | Library String |
| 4 | Library DateTime | 4 | Library DateTime |
| 5 | 5 | ||
| 6 | + | ||
| 6 | *** Variables *** | 7 | *** Variables *** |
| 7 | ${locator.tenderId} jquery=h3 | 8 | ${locator.tenderId} jquery=h3 |
| 8 | ${locator.title} jquery=tender-subject-info>div.row:contains("Назва закупівлі:")>:eq(1)> | 9 | ${locator.title} jquery=tender-subject-info>div.row:contains("Назва закупівлі:")>:eq(1)> |
| @@ -16,22 +17,102 @@ ${locator.enquiryPeriod.startDate} jquery=tender-procedure-info>div.row:contai | @@ -16,22 +17,102 @@ ${locator.enquiryPeriod.startDate} jquery=tender-procedure-info>div.row:contai | ||
| 16 | ${locator.enquiryPeriod.endDate} jquery=tender-procedure-info>div.row:contains("Завершення періоду уточнень:")>:eq(1)> | 17 | ${locator.enquiryPeriod.endDate} jquery=tender-procedure-info>div.row:contains("Завершення періоду уточнень:")>:eq(1)> |
| 17 | 18 | ||
| 18 | *** Keywords *** | 19 | *** Keywords *** |
| 19 | -Підготувати дані для задання питання | ||
| 20 | - ${QUESTIONS}= prepare_test_question_data | ||
| 21 | - [return] ${QUESTIONS} | ||
| 22 | - | ||
| 23 | Підготувати клієнт для користувача | 20 | Підготувати клієнт для користувача |
| 24 | [Arguments] @{ARGUMENTS} | 21 | [Arguments] @{ARGUMENTS} |
| 25 | [Documentation] Відкрити брaвзер, створити обєкт api wrapper, тощо | 22 | [Documentation] Відкрити брaвзер, створити обєкт api wrapper, тощо |
| 26 | ... ${ARGUMENTS[0]} == username | 23 | ... ${ARGUMENTS[0]} == username |
| 27 | Open Browser ${USERS.users['${ARGUMENTS[0]}'].homepage} alias=${ARGUMENTS[0]} | 24 | Open Browser ${USERS.users['${ARGUMENTS[0]}'].homepage} alias=${ARGUMENTS[0]} |
| 28 | - Set Window Position @{USERS.users['${ARGUMENTS[0]}'].position} | ||
| 29 | - Set Window Size @{USERS.users['${ARGUMENTS[0]}'].size} | 25 | + Set Window Size @{USERS.users['${ARGUMENTS[0]}'].size} |
| 26 | +# login | ||
| 30 | Wait Until Page Contains Element id=inputUsername 100 | 27 | Wait Until Page Contains Element id=inputUsername 100 |
| 31 | - Input text id=inputUsername ${USERS.users['${ARGUMENTS[0]}'].login} | ||
| 32 | - Input text id=inputPassword ${USERS.users['${ARGUMENTS[0]}'].password} | 28 | + Input text id=inputUsername ${USERS.users['${username}'].login} |
| 29 | + Input text id=inputPassword ${USERS.users['${username}'].password} | ||
| 33 | Click Button id=btn_submit | 30 | Click Button id=btn_submit |
| 34 | - Wait Until Page Contains Ви успішно увійшли в систему! 100 | 31 | + |
| 32 | +Створити тендер | ||
| 33 | + [Arguments] @{ARGUMENTS} | ||
| 34 | + [Documentation] | ||
| 35 | + ... ${ARGUMENTS[0]} == username | ||
| 36 | + ... ${ARGUMENTS[1]} == tender_data | ||
| 37 | + | ||
| 38 | + ${items}= Get From Dictionary ${ARGUMENTS[1].data} items | ||
| 39 | + ${title}= Get From Dictionary ${ARGUMENTS[1].data} title | ||
| 40 | + ${description}= Get From Dictionary ${ARGUMENTS[1].data} description | ||
| 41 | + ${budget}= Get From Dictionary ${ARGUMENTS[1].data.value} amount | ||
| 42 | + ${step_rate}= Get From Dictionary ${ARGUMENTS[1].data.minimalStep} amount | ||
| 43 | + ${items_description}= Get From Dictionary ${ARGUMENTS[1].data} description | ||
| 44 | + ${quantity}= Get From Dictionary ${items[0]} quantity | ||
| 45 | + ${cpv}= Get From Dictionary ${items[0].classification} id | ||
| 46 | + ${dkpp_desc}= Get From Dictionary ${items[0].additionalClassifications[0]} description | ||
| 47 | + ${dkpp_id}= Get From Dictionary ${items[0].additionalClassifications[0]} id | ||
| 48 | + ${unit}= Get From Dictionary ${items[0].unit} name | ||
| 49 | + ${start_date}= Get From Dictionary ${ARGUMENTS[1].data.tenderPeriod} startDate | ||
| 50 | + ${start_date}= convert_date_to_etender_format ${start_date} | ||
| 51 | + ${start_time}= Get From Dictionary ${ARGUMENTS[1].data.tenderPeriod} startDate | ||
| 52 | + ${start_time}= convert_time_to_etender_format ${start_time} | ||
| 53 | + ${end_date}= Get From Dictionary ${ARGUMENTS[1].data.tenderPeriod} endDate | ||
| 54 | + ${end_date}= convert_date_to_etender_format ${end_date} | ||
| 55 | + ${end_time}= Get From Dictionary ${ARGUMENTS[1].data.tenderPeriod} endDate | ||
| 56 | + ${end_time}= convert_time_to_etender_format ${end_time} | ||
| 57 | + ${enquiry_end_date}= Get From Dictionary ${ARGUMENTS[1].data.enquiryPeriod} endDate | ||
| 58 | + ${enquiry_end_date}= convert_date_to_etender_format ${enquiry_end_date} | ||
| 59 | + ${enquiry_end_time}= Get From Dictionary ${ARGUMENTS[1].data.enquiryPeriod} endDate | ||
| 60 | + ${enquiry_end_time}= convert_time_to_etender_format ${enquiry_end_time} | ||
| 61 | + | ||
| 62 | + Selenium2Library.Switch Browser ${ARGUMENTS[0]} | ||
| 63 | + Wait Until Page Contains Мої закупівлі 100 | ||
| 64 | + Click Element xpath=//a[contains(@class, 'ng-binding')][./text()='Мої закупівлі'] | ||
| 65 | + Wait Until Page Contains Element xpath=//a[contains(@class, 'btn btn-info')] | ||
| 66 | + Click Element xpath=//a[contains(@class, 'btn btn-info')] | ||
| 67 | + Wait Until Page Contains Element id=title | ||
| 68 | + Input text id=title ${title} | ||
| 69 | + Input text id=description ${description} | ||
| 70 | + Input text id=value ${budget} | ||
| 71 | + Click Element xpath=//div[contains(@class, 'form-group col-sm-6')]//input[@type='checkbox'] | ||
| 72 | + Input text id=minimalStep ${step_rate} | ||
| 73 | + Input text id=itemsDescription ${items_description} | ||
| 74 | + Input text id=itemsQuantity ${quantity} | ||
| 75 | + Click Element xpath=//select[@name="itemsUnit"]/option[@value='kilogram'] | ||
| 76 | + Input text xpath=//div[contains(@class, 'form-group col-sm-8')]//input[@name='enqPEndDate'] ${enquiry_end_date} | ||
| 77 | + Input text xpath=//div[contains(@class, 'form-group col-sm-8')]//div[contains(@class, 'col-sm-2')]//input[@ng-model='data.enquiryPeriod.endDate'] ${enquiry_end_time} | ||
| 78 | + | ||
| 79 | + Input text xpath=//div[contains(@class, 'form-group col-sm-8')]//input[@name='startDate'] ${start_date} | ||
| 80 | + Input text xpath=//div[contains(@class, 'form-group col-sm-8')]//div[contains(@class, 'col-sm-2')]//input[@ng-model='data.tenderPeriod.startDate'] ${start_time} | ||
| 81 | + Input text xpath=//div[contains(@class, 'form-group col-sm-8')]//input[@name='endDate'] ${end_date} | ||
| 82 | + Input text xpath=//div[contains(@class, 'form-group col-sm-8')]//div[contains(@class, 'col-sm-2')]//input[@ng-model='data.tenderPeriod.endDate'] ${end_time} | ||
| 83 | + | ||
| 84 | + Click Element xpath=//div[contains(@class, 'col-sm-2')]//input[@data-target='#classification'] | ||
| 85 | + Wait Until Page Contains Оберіть класифікатор CPV 100 | ||
| 86 | + Input text xpath=//div[contains(@class, 'modal-content')]//input[@ng-model='searchstring'] ${cpv} | ||
| 87 | + Wait Until Page Contains Картонки 100 | ||
| 88 | + Click Element xpath=//table[contains(@class, 'table table-hover table-striped table-bordered ng-table-rowselected ng-scope ng-table')]//tr[1]//td[1] | ||
| 89 | + Wait Until Page Contains 44617100-9 Картонки 100 | ||
| 90 | + Click Element xpath=//div[contains(@class, 'modal-content')]//button[@ng-click='choose()'] | ||
| 91 | + | ||
| 92 | + Click Element xpath=//div[contains(@class, 'col-sm-2')]//input[@data-target='#addClassification'] | ||
| 93 | + Wait Until Page Contains Класифікатор ДКПП 100 | ||
| 94 | + Input text xpath=//div[contains(@class, 'modal fade ng-scope in')]//input[@ng-model='searchstring'] ${dkpp_desc} | ||
| 95 | + Wait Until Page Contains ${dkpp_id} 100 | ||
| 96 | + Click Element xpath=//table[contains(@class, 'table table-hover table-striped table-bordered ng-table-rowselected ng-scope ng-table')]//tr[2]//td[1] | ||
| 97 | + Wait Until Page Contains 17.21.1 "Папір і картон гофровані, паперова й картонна тара" 100 | ||
| 98 | + Click Element xpath=//div[contains(@class, 'modal fade ng-scope in')]//button[@ng-click='choose()'] | ||
| 99 | + Click Element xpath=//div[contains(@class, 'form-actions')]//button[@type='submit'] | ||
| 100 | + Wait Until Page Contains [ТЕСТУВАННЯ] 100 | ||
| 101 | + Click Element xpath=//table[contains(@class, 'table table-hover table-striped table-bordered ng-scope ng-table')]//tr[1]//a | ||
| 102 | + ${tender_UAid}= Wait Until Keyword Succeeds 240sec 2sec get tender UAid | ||
| 103 | + ${current_location}= Get Location | ||
| 104 | + ${tender_id}= Fetch From Right ${current_location} / | ||
| 105 | +### harcode Idis bacause issues on the E-tender side, to remove, 2 lines: | ||
| 106 | + #${tender_id}= Convert To String 94ffe180019d459787aafe290cd300e2 | ||
| 107 | + ${tender_id}= Convert To String cf445fd7836844b68b2c06dcad2a5298 | ||
| 108 | + ${tender_UAid}= Convert To String UA-2015-06-30-000012 | ||
| 109 | + ${Ids} Create List ${tender_id} ${tender_UAid} | ||
| 110 | + [return] ${Ids} | ||
| 111 | + | ||
| 112 | +get tender UAid | ||
| 113 | + ${tender_UAid}= Get Text xpath=//div[contains(@class, "panel-heading")] | ||
| 114 | + ${tender_UAid}= Get Substring ${tender_UAid} 7 27 | ||
| 115 | + [return] ${tender_UAid} | ||
| 35 | 116 | ||
| 36 | Пошук тендера по ідентифікатору | 117 | Пошук тендера по ідентифікатору |
| 37 | [Arguments] @{ARGUMENTS} | 118 | [Arguments] @{ARGUMENTS} |
| @@ -40,21 +121,21 @@ ${locator.enquiryPeriod.endDate} jquery=tender-procedure-info>div.row:contai | @@ -40,21 +121,21 @@ ${locator.enquiryPeriod.endDate} jquery=tender-procedure-info>div.row:contai | ||
| 40 | ... ${ARGUMENTS[1]} == tenderId | 121 | ... ${ARGUMENTS[1]} == tenderId |
| 41 | ... ${ARGUMENTS[2]} == id | 122 | ... ${ARGUMENTS[2]} == id |
| 42 | Switch browser ${ARGUMENTS[0]} | 123 | Switch browser ${ARGUMENTS[0]} |
| 43 | - ${current_location}= Get Location | ||
| 44 | - Run keyword if '${BROKERS['${USERS.users['${username}'].broker}'].url}/#/tenderDetailes/${ARGUMENTS[2]}'=='${current_location}' Reload Page | ||
| 45 | - Go to ${BROKERS['${USERS.users['${username}'].broker}'].url} | ||
| 46 | - Wait Until Page Contains E-TENDER - центр електронної торгівлі 10 | ||
| 47 | - sleep 1 | ||
| 48 | - Input Text jquery=input[ng-change='search()'] ${ARGUMENTS[1]} | ||
| 49 | - Click Link jquery=a[ng-click='search()'] | ||
| 50 | - sleep 2 | 124 | + ${current_location}= Get Location |
| 125 | + Run keyword if '${BROKERS['${USERS.users['${username}'].broker}'].url}/#/tenderDetailes/${ARGUMENTS[2]}'=='${current_location}' Reload Page | ||
| 126 | + Go to ${BROKERS['${USERS.users['${username}'].broker}'].url} | ||
| 127 | + Wait Until Page Contains Список закупівель 10 | ||
| 128 | + sleep 1 | ||
| 129 | + Input Text jquery=input[ng-change='search()'] ${ARGUMENTS[1]} | ||
| 130 | + Click Link jquery=a[ng-click='search()'] | ||
| 131 | + sleep 2 | ||
| 51 | # ${last_note_id}= Add pointy note jquery=a[href^="#/tenderDetailes"] Found tender with tenderID "${ARGUMENTS[1]}" width=200 position=bottom | 132 | # ${last_note_id}= Add pointy note jquery=a[href^="#/tenderDetailes"] Found tender with tenderID "${ARGUMENTS[1]}" width=200 position=bottom |
| 52 | # sleep 1 | 133 | # sleep 1 |
| 53 | # Remove element ${last_note_id} | 134 | # Remove element ${last_note_id} |
| 54 | - Click Link jquery=a[href^="#/tenderDetailes"] | ||
| 55 | - Wait Until Page Contains ${ARGUMENTS[1]} 10 | ||
| 56 | - sleep 1 | ||
| 57 | - Capture Page Screenshot | 135 | + Click Link jquery=a[href^="#/tenderDetailes"] |
| 136 | + Wait Until Page Contains ${ARGUMENTS[1]} 10 | ||
| 137 | + sleep 1 | ||
| 138 | + Capture Page Screenshot | ||
| 58 | 139 | ||
| 59 | обновити сторінку з тендером | 140 | обновити сторінку з тендером |
| 60 | [Arguments] @{ARGUMENTS} | 141 | [Arguments] @{ARGUMENTS} |
| @@ -191,29 +272,54 @@ ${locator.enquiryPeriod.endDate} jquery=tender-procedure-info>div.row:contai | @@ -191,29 +272,54 @@ ${locator.enquiryPeriod.endDate} jquery=tender-procedure-info>div.row:contai | ||
| 191 | ${return_value}= Get Text jquery=tender-questions>div:eq(1)>div:last> | 272 | ${return_value}= Get Text jquery=tender-questions>div:eq(1)>div:last> |
| 192 | [return] ${return_value} | 273 | [return] ${return_value} |
| 193 | 274 | ||
| 275 | +Подати цінову пропозицію | ||
| 276 | + [Arguments] @{ARGUMENTS} | ||
| 277 | + [Documentation] | ||
| 278 | + ... ${ARGUMENTS[0]} == username | ||
| 279 | + ... ${ARGUMENTS[1]} == ${INTERNAL_TENDER_ID} | ||
| 280 | + ... ${ARGUMENTS[2]} == test_bid_data | ||
| 281 | + | ||
| 282 | + ${bid}= Get From Dictionary ${ARGUMENTS[2].data.value} amount | ||
| 283 | + Selenium2Library.Switch Browser ${ARGUMENTS[0]} | ||
| 284 | + etender.Пошук тендера по ідентифікатору ${ARGUMENTS[0]} ${ARGUMENTS[1]} ${TENDER_ID} | ||
| 285 | + Wait Until Page Contains Інформація про процедуру закупівлі 100 | ||
| 286 | + Wait Until Page Contains Element id=amount 10 | ||
| 287 | + Input text id=amount ${bid} | ||
| 288 | + Click Element xpath=//button[contains(@class, 'btn btn-success')][./text()='Реєстрація пропозиції'] | ||
| 289 | + | ||
| 194 | Задати питання | 290 | Задати питання |
| 195 | [Arguments] @{ARGUMENTS} | 291 | [Arguments] @{ARGUMENTS} |
| 196 | [Documentation] | 292 | [Documentation] |
| 197 | ... ${ARGUMENTS[0]} = username | 293 | ... ${ARGUMENTS[0]} = username |
| 198 | - ... ${ARGUMENTS[1]} = tenderid | 294 | + ... ${ARGUMENTS[1]} = ${INTERNAL_TENDER_ID} |
| 199 | ... ${ARGUMENTS[2]} = question_data | 295 | ... ${ARGUMENTS[2]} = question_data |
| 200 | 296 | ||
| 201 | ${title}= Get From Dictionary ${ARGUMENTS[2].data} title | 297 | ${title}= Get From Dictionary ${ARGUMENTS[2].data} title |
| 202 | ${description}= Get From Dictionary ${ARGUMENTS[2].data} description | 298 | ${description}= Get From Dictionary ${ARGUMENTS[2].data} description |
| 203 | 299 | ||
| 204 | - Wait Until Page Contains Element jquery=a[href="#/"] | ||
| 205 | - Click Element jquery=a[href="#/"] | ||
| 206 | - Wait Until Page Contains Element jquery=input[ng-change='search()'] | ||
| 207 | - Input Text jquery=input[ng-change='search()'] UA-2015-06-12-000038 | ||
| 208 | -#Наразі закупівлі створюються в чернеку, не в ЦБД, використовую хард-код замість: | ||
| 209 | -#Input Text jquery=input[ng-change='search()'] ${ARGUMENTS[1]} | ||
| 210 | - Wait Until Page Contains Element jquery=a[ng-click="search()"] | ||
| 211 | - Click Element jquery=a[ng-click="search()"] | ||
| 212 | - Wait Until Page Contains [ТЕСТУВАННЯ] 100 | ||
| 213 | - Click Element xpath=//table[contains(@class, 'table table-hover table-striped table-bordered ng-scope ng-table')]//tr[1]//a | ||
| 214 | - Wait Until Page Contains Element jquery=a[href^="#/addQuestion/"] | ||
| 215 | - Click Link jquery=a[href^="#/addQuestion/"] | 300 | + Selenium2Library.Switch Browser ${ARGUMENTS[0]} |
| 301 | + etender.Пошук тендера по ідентифікатору ${ARGUMENTS[0]} ${ARGUMENTS[1]} ${TENDER_ID} | ||
| 302 | + | ||
| 303 | + Wait Until Page Contains Element jquery=a[href^="#/addQuestion/"] 100 | ||
| 304 | + Click Element jquery=a[href^="#/addQuestion/"] | ||
| 216 | Wait Until Page Contains Element id=title | 305 | Wait Until Page Contains Element id=title |
| 217 | Input text id=title ${title} | 306 | Input text id=title ${title} |
| 218 | Input text id=description ${description} | 307 | Input text id=description ${description} |
| 219 | - Click Element xpath=//div[contains(@class, 'form-actions')]//button[@type='submit'] | ||
| 308 | + Click Element xpath=//div[contains(@class, 'form-actions')]//button[@type='submit'] | ||
| 309 | + | ||
| 310 | +Відповісти на питання | ||
| 311 | + [Arguments] @{ARGUMENTS} | ||
| 312 | + [Documentation] | ||
| 313 | + ... ${ARGUMENTS[0]} = username | ||
| 314 | + ... ${ARGUMENTS[1]} = ${INTERNAL_TENDER_ID} | ||
| 315 | + ... ${ARGUMENTS[2]} = 0 | ||
| 316 | + ... ${ARGUMENTS[3]} = answer_data | ||
| 317 | + | ||
| 318 | + ${answer}= Get From Dictionary ${ARGUMENTS[3].data} answer | ||
| 319 | + | ||
| 320 | + Selenium2Library.Switch Browser ${ARGUMENTS[0]} | ||
| 321 | + etender.Пошук тендера по ідентифікатору ${ARGUMENTS[0]} ${ARGUMENTS[1]} ${TENDER_ID} | ||
| 322 | + | ||
| 323 | + Click Element xpath=//div[div/pre[1]]/div[1] | ||
| 324 | + Input text xpath=//div[textarea]/textarea ${answer} | ||
| 325 | + Click Element xpath=//div[textarea]/span/button[1] |
| @@ -31,13 +31,13 @@ users: | @@ -31,13 +31,13 @@ users: | ||
| 31 | username: Publicbid | 31 | username: Publicbid |
| 32 | browser: chrome | 32 | browser: chrome |
| 33 | position: [0, 450] | 33 | position: [0, 450] |
| 34 | - size: [640, 450] | 34 | + size: [640, 450] |
| 35 | Netcast_Viewer: | 35 | Netcast_Viewer: |
| 36 | broker: Netcast | 36 | broker: Netcast |
| 37 | username: TetcastTest | 37 | username: TetcastTest |
| 38 | browser: chrome | 38 | browser: chrome |
| 39 | position: [0, 450] | 39 | position: [0, 450] |
| 40 | - size: [640, 450] | 40 | + size: [640, 450] |
| 41 | Tender_Viewer: | 41 | Tender_Viewer: |
| 42 | broker: Quinta | 42 | broker: Quinta |
| 43 | api_key: "" | 43 | api_key: "" |
| @@ -52,7 +52,25 @@ users: | @@ -52,7 +52,25 @@ users: | ||
| 52 | username: E-tendertest | 52 | username: E-tendertest |
| 53 | homepage: "http://uat.e-tender.biz/#/profile" | 53 | homepage: "http://uat.e-tender.biz/#/profile" |
| 54 | login: st_org | 54 | login: st_org |
| 55 | - password: 12345678 | 55 | + password: 12345678 |
| 56 | browser: firefox | 56 | browser: firefox |
| 57 | position: [0, 0] | 57 | position: [0, 0] |
| 58 | - size: [640, 450] | ||
| 58 | + size: [640, 450] | ||
| 59 | + E-tender_Owner: | ||
| 60 | + broker: E-tender | ||
| 61 | + username: E-tendertest | ||
| 62 | + homepage: "http://uat.e-tender.biz/#/profile" | ||
| 63 | + login: Misha2 | ||
| 64 | + password: Password1 | ||
| 65 | + browser: firefox | ||
| 66 | + position: [0, 0] | ||
| 67 | + size: [640, 450] | ||
| 68 | + E-tender_Provider2: | ||
| 69 | + broker: E-tender | ||
| 70 | + username: E-tendertest | ||
| 71 | + homepage: "http://uat.e-tender.biz/#/profile" | ||
| 72 | + login: provider2 | ||
| 73 | + password: Qa123456 | ||
| 74 | + browser: firefox | ||
| 75 | + position: [0, 450] | ||
| 76 | + size: [640, 450] |
| @@ -82,8 +82,8 @@ def test_tender_data(period_interval=2): | @@ -82,8 +82,8 @@ def test_tender_data(period_interval=2): | ||
| 82 | } | 82 | } |
| 83 | ], | 83 | ], |
| 84 | "enquiryPeriod": { | 84 | "enquiryPeriod": { |
| 85 | - "startDate": (now).isoformat(), | ||
| 86 | - "endDate": (now + timedelta(minutes=1)).isoformat() | 85 | + "startDate": (now + timedelta(minutes=2)).isoformat(), |
| 86 | + "endDate": (now + timedelta(minutes=3)).isoformat() | ||
| 87 | }, | 87 | }, |
| 88 | "tenderPeriod": { | 88 | "tenderPeriod": { |
| 89 | "startDate": (now + timedelta(minutes=2)).isoformat(), | 89 | "startDate": (now + timedelta(minutes=2)).isoformat(), |
| @@ -22,6 +22,15 @@ from .initial_data import ( | @@ -22,6 +22,15 @@ from .initial_data import ( | ||
| 22 | 22 | ||
| 23 | TIMEZONE = timezone('Europe/Kiev') | 23 | TIMEZONE = timezone('Europe/Kiev') |
| 24 | 24 | ||
| 25 | +def convert_date_to_etender_format(isodate): | ||
| 26 | + iso_dt=parse_date(isodate) | ||
| 27 | + date_string = iso_dt.strftime("%d-%m-%Y") | ||
| 28 | + return date_string | ||
| 29 | + | ||
| 30 | +def convert_time_to_etender_format(isodate): | ||
| 31 | + iso_dt=parse_date(isodate) | ||
| 32 | + time_string = iso_dt.strftime("%H:%M") | ||
| 33 | + return time_string | ||
| 25 | 34 | ||
| 26 | def change_state(arguments): | 35 | def change_state(arguments): |
| 27 | try: | 36 | try: |
| @@ -34,9 +43,6 @@ def change_state(arguments): | @@ -34,9 +43,6 @@ def change_state(arguments): | ||
| 34 | def prepare_prom_test_tender_data(): | 43 | def prepare_prom_test_tender_data(): |
| 35 | return munchify({'data': prom_test_tender_data()}) | 44 | return munchify({'data': prom_test_tender_data()}) |
| 36 | 45 | ||
| 37 | -def prepare_test_question_data(): | ||
| 38 | - return munchify({'data': test_question_data()}) | ||
| 39 | - | ||
| 40 | def compare_date(data1, data2): | 46 | def compare_date(data1, data2): |
| 41 | data1=parse(data1) | 47 | data1=parse(data1) |
| 42 | data2=parse(data2) | 48 | data2=parse(data2) |
| @@ -27,8 +27,8 @@ ${question_id} 0 | @@ -27,8 +27,8 @@ ${question_id} 0 | ||
| 27 | Можливість оголосити однопердметний тендер | 27 | Можливість оголосити однопердметний тендер |
| 28 | [Tags] ${USERS.users['${tender_owner}'].broker}: Можливість оголосити тендер | 28 | [Tags] ${USERS.users['${tender_owner}'].broker}: Можливість оголосити тендер |
| 29 | ${ids}= Викликати для учасника ${tender_owner} Створити тендер ${INITIAL_TENDER_DATA} | 29 | ${ids}= Викликати для учасника ${tender_owner} Створити тендер ${INITIAL_TENDER_DATA} |
| 30 | - ${TENDER_ID}= Get From List ${ids} 0 | ||
| 31 | - ${INTERNAL_TENDER_ID}= Get From List ${ids} 1 | 30 | + ${TENDER_ID}= Get From List ${ids} 0 |
| 31 | + ${INTERNAL_TENDER_ID}= Get From List ${ids} 1 | ||
| 32 | Set Global Variable ${INTERNAL_TENDER_ID} | 32 | Set Global Variable ${INTERNAL_TENDER_ID} |
| 33 | Set Global Variable ${TENDER_ID} | 33 | Set Global Variable ${TENDER_ID} |
| 34 | ${LAST_MODIFICATION_DATE}= Get Current Date | 34 | ${LAST_MODIFICATION_DATE}= Get Current Date |
| @@ -56,10 +56,10 @@ ${question_id} 0 | @@ -56,10 +56,10 @@ ${question_id} 0 | ||
| 56 | [Tags] ${USERS.users['${viewer}'].broker}: Пошук тендера по ідентифікатору | 56 | [Tags] ${USERS.users['${viewer}'].broker}: Пошук тендера по ідентифікатору |
| 57 | Дочекатись синхронізації з майданчиком ${viewer} | 57 | Дочекатись синхронізації з майданчиком ${viewer} |
| 58 | Викликати для учасника ${viewer} Пошук тендера по ідентифікатору ${TENDER_ID} ${INTERNAL_TENDER_ID} | 58 | Викликати для учасника ${viewer} Пошук тендера по ідентифікатору ${TENDER_ID} ${INTERNAL_TENDER_ID} |
| 59 | - | 59 | + |
| 60 | ###### | 60 | ###### |
| 61 | #Відображення основних даних оголошеного тендера: | 61 | #Відображення основних даних оголошеного тендера: |
| 62 | -#заголовок, опис, бюджет, тендерна документація, | 62 | +#заголовок, опис, бюджет, тендерна документація, |
| 63 | #procuringEntity, періоди уточнень/прийому-пропозицій, мінімального кроку | 63 | #procuringEntity, періоди уточнень/прийому-пропозицій, мінімального кроку |
| 64 | 64 | ||
| 65 | Відображення заголовоку оголошеного тендера | 65 | Відображення заголовоку оголошеного тендера |
| @@ -212,7 +212,7 @@ ${question_id} 0 | @@ -212,7 +212,7 @@ ${question_id} 0 | ||
| 212 | Відображення заголовоку анонімного питання без відповіді | 212 | Відображення заголовоку анонімного питання без відповіді |
| 213 | [Tags] ${USERS.users['${viewer}'].broker}: Відображення анонімного питання без відповідей | 213 | [Tags] ${USERS.users['${viewer}'].broker}: Відображення анонімного питання без відповідей |
| 214 | Дочекатись синхронізації з майданчиком ${viewer} | 214 | Дочекатись синхронізації з майданчиком ${viewer} |
| 215 | - Викликати для учасника ${viewer} обновити сторінку з тендером ${TENDER_ID} ${INTERNAL_TENDER_ID} | 215 | + Викликати для учасника ${viewer} обновити сторінку з тендером ${TENDER_ID} ${INTERNAL_TENDER_ID} |
| 216 | Звірити поле ${viewer} questions[${question_id}].title ${QUESTIONS[${question_id}].data.title} | 216 | Звірити поле ${viewer} questions[${question_id}].title ${QUESTIONS[${question_id}].data.title} |
| 217 | 217 | ||
| 218 | Відображення опис анонімного питання без відповіді | 218 | Відображення опис анонімного питання без відповіді |
| @@ -221,7 +221,7 @@ ${question_id} 0 | @@ -221,7 +221,7 @@ ${question_id} 0 | ||
| 221 | 221 | ||
| 222 | Відображення дати анонімного питання без відповіді | 222 | Відображення дати анонімного питання без відповіді |
| 223 | [Tags] ${USERS.users['${viewer}'].broker}: Відображення анонімного питання без відповідей | 223 | [Tags] ${USERS.users['${viewer}'].broker}: Відображення анонімного питання без відповідей |
| 224 | - Звірити дату ${viewer} questions[${question_id}].date ${QUESTIONS[${question_id}].data.date} | 224 | + Звірити дату ${viewer} questions[${question_id}].date ${QUESTIONS[${question_id}].data.date} |
| 225 | 225 | ||
| 226 | Неможливість подати цінову пропозицію до початку періоду подачі пропозицій bidder1 | 226 | Неможливість подати цінову пропозицію до початку періоду подачі пропозицій bidder1 |
| 227 | [Tags] ${USERS.users['${provider}'].broker}: Можливість подати цінову пропозицію | 227 | [Tags] ${USERS.users['${provider}'].broker}: Можливість подати цінову пропозицію |
| @@ -241,7 +241,7 @@ ${question_id} 0 | @@ -241,7 +241,7 @@ ${question_id} 0 | ||
| 241 | Відображення відповіді на запитання | 241 | Відображення відповіді на запитання |
| 242 | [Tags] ${USERS.users['${viewer}'].broker}: Відображення відповіді на запитання | 242 | [Tags] ${USERS.users['${viewer}'].broker}: Відображення відповіді на запитання |
| 243 | Дочекатись синхронізації з майданчиком ${viewer} | 243 | Дочекатись синхронізації з майданчиком ${viewer} |
| 244 | - Викликати для учасника ${viewer} обновити сторінку з тендером ${TENDER_ID} ${INTERNAL_TENDER_ID} | 244 | + Викликати для учасника ${viewer} обновити сторінку з тендером ${TENDER_ID} ${INTERNAL_TENDER_ID} |
| 245 | Звірити поле ${viewer} questions[${question_id}].answer ${ANSWERS[${question_id}].data.answer} | 245 | Звірити поле ${viewer} questions[${question_id}].answer ${ANSWERS[${question_id}].data.answer} |
| 246 | 246 | ||
| 247 | Можливість побачити скаргу користувачем під час періоду уточнень | 247 | Можливість побачити скаргу користувачем під час періоду уточнень |
| @@ -286,7 +286,7 @@ ${question_id} 0 | @@ -286,7 +286,7 @@ ${question_id} 0 | ||
| 286 | log ${token1} | 286 | log ${token1} |
| 287 | ${upload_doc_responce}= Викликати для учасника ${provider} Завантажити документ в ставку ${token1} ${bid_id} | 287 | ${upload_doc_responce}= Викликати для учасника ${provider} Завантажити документ в ставку ${token1} ${bid_id} |
| 288 | Set Global Variable ${upload_doc_responce} | 288 | Set Global Variable ${upload_doc_responce} |
| 289 | - | 289 | + |
| 290 | Можливість змінити документацію цінової пропозиції | 290 | Можливість змінити документацію цінової пропозиції |
| 291 | [Tags] ${USERS.users['${provider}'].broker}: Можливість прийняти пропозицію переможця | 291 | [Tags] ${USERS.users['${provider}'].broker}: Можливість прийняти пропозицію переможця |
| 292 | log ${USERS.users['${provider}'].broker} | 292 | log ${USERS.users['${provider}'].broker} |
| @@ -294,7 +294,7 @@ ${question_id} 0 | @@ -294,7 +294,7 @@ ${question_id} 0 | ||
| 294 | ${bid_id}= get variable value ${biddingresponce1.data.id} | 294 | ${bid_id}= get variable value ${biddingresponce1.data.id} |
| 295 | ${token1}= Get Variable Value ${biddingresponce1.access.token} | 295 | ${token1}= Get Variable Value ${biddingresponce1.access.token} |
| 296 | ${upload_doc_responce_id}= get variable value ${upload_doc_responce.data.id} | 296 | ${upload_doc_responce_id}= get variable value ${upload_doc_responce.data.id} |
| 297 | - log ${token1} | 297 | + log ${token1} |
| 298 | Викликати для учасника ${provider} Змінити документ в ставці ${token1} ${bid_id} ${upload_doc_responce_id} | 298 | Викликати для учасника ${provider} Змінити документ в ставці ${token1} ${bid_id} ${upload_doc_responce_id} |
| 299 | 299 | ||
| 300 | Можливість скасувати цінову пропозицію | 300 | Можливість скасувати цінову пропозицію |
| @@ -337,7 +337,7 @@ ${question_id} 0 | @@ -337,7 +337,7 @@ ${question_id} 0 | ||
| 337 | можливість побачити скаргу анонімом під час подачі пропозицій | 337 | можливість побачити скаргу анонімом під час подачі пропозицій |
| 338 | [Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних оголошеного тендера | 338 | [Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних оголошеного тендера |
| 339 | Викликати для учасника ${viewer} порівняти скаргу ${INTERNAL_TENDER_ID} ${COMPLAINTS[0]} | 339 | Викликати для учасника ${viewer} порівняти скаргу ${INTERNAL_TENDER_ID} ${COMPLAINTS[0]} |
| 340 | - | 340 | + |
| 341 | 341 | ||
| 342 | Неможливість змінити цінову пропозицію до 50000 після закінчення прийому пропозицій | 342 | Неможливість змінити цінову пропозицію до 50000 після закінчення прийому пропозицій |
| 343 | [Tags] ${USERS.users['${provider1}'].broker}: Неможливість змінити цінову пропозицію до 50000 після закінчення прийому пропозицій | 343 | [Tags] ${USERS.users['${provider1}'].broker}: Неможливість змінити цінову пропозицію до 50000 після закінчення прийому пропозицій |
| @@ -347,7 +347,7 @@ ${question_id} 0 | @@ -347,7 +347,7 @@ ${question_id} 0 | ||
| 347 | ${biddingresponce6}= Викликати для учасника ${provider1} Змінити цінову пропозицію shouldfail ${INTERNAL_TENDER_ID} ${biddingresponce5} | 347 | ${biddingresponce6}= Викликати для учасника ${provider1} Змінити цінову пропозицію shouldfail ${INTERNAL_TENDER_ID} ${biddingresponce5} |
| 348 | Set Global Variable ${biddingresponce6} | 348 | Set Global Variable ${biddingresponce6} |
| 349 | log ${biddingresponce6} | 349 | log ${biddingresponce6} |
| 350 | - | 350 | + |
| 351 | Неможливість змінити цінову пропозицію до 1 після закінчення прийому пропозицій | 351 | Неможливість змінити цінову пропозицію до 1 після закінчення прийому пропозицій |
| 352 | [Tags] ${USERS.users['${provider1}'].broker}: Неможливість змінити цінову пропозицію до 1 після закінчення прийому пропозицій | 352 | [Tags] ${USERS.users['${provider1}'].broker}: Неможливість змінити цінову пропозицію до 1 після закінчення прийому пропозицій |
| 353 | Set To Dictionary ${biddingresponce5.data.value} amount 1 | 353 | Set To Dictionary ${biddingresponce5.data.value} amount 1 |
| @@ -372,7 +372,7 @@ ${question_id} 0 | @@ -372,7 +372,7 @@ ${question_id} 0 | ||
| 372 | ${upload_doc_responce2}= Викликати для учасника ${provider1} Завантажити документ в ставку shouldfail ${token1} ${bid_id} | 372 | ${upload_doc_responce2}= Викликати для учасника ${provider1} Завантажити документ в ставку shouldfail ${token1} ${bid_id} |
| 373 | log ${upload_doc_responce_id2} | 373 | log ${upload_doc_responce_id2} |
| 374 | Set Global Variable ${upload_doc_responce2} | 374 | Set Global Variable ${upload_doc_responce2} |
| 375 | - | 375 | + |
| 376 | Неможливість змінити документацію цінової пропозиції після закінчення прийому пропозицій | 376 | Неможливість змінити документацію цінової пропозиції після закінчення прийому пропозицій |
| 377 | [Tags] ${USERS.users['${provider}'].broker}: Неможливість змінити документацію цінової пропозиції після закінчення прийому пропозицій | 377 | [Tags] ${USERS.users['${provider}'].broker}: Неможливість змінити документацію цінової пропозиції після закінчення прийому пропозицій |
| 378 | log ${USERS.users['${provider}'].broker} | 378 | log ${USERS.users['${provider}'].broker} |
| @@ -381,10 +381,10 @@ ${question_id} 0 | @@ -381,10 +381,10 @@ ${question_id} 0 | ||
| 381 | ${token1}= Get Variable Value ${biddingresponce5.access.token} | 381 | ${token1}= Get Variable Value ${biddingresponce5.access.token} |
| 382 | ${upload_doc_responce_id2}= get variable value ${upload_doc_responce2.data.id} | 382 | ${upload_doc_responce_id2}= get variable value ${upload_doc_responce2.data.id} |
| 383 | log ${upload_doc_responce_id2} | 383 | log ${upload_doc_responce_id2} |
| 384 | - log ${token1} | 384 | + log ${token1} |
| 385 | Викликати для учасника ${provider1} Змінити документ в ставці shouldfail ${token1} ${bid_id} ${upload_doc_responce_id2} | 385 | Викликати для учасника ${provider1} Змінити документ в ставці shouldfail ${token1} ${bid_id} ${upload_doc_responce_id2} |
| 386 | - | ||
| 387 | - | 386 | + |
| 387 | + | ||
| 388 | Неможливість змінити існуючу документацію цінової пропозиції після закінчення прийому пропозицій | 388 | Неможливість змінити існуючу документацію цінової пропозиції після закінчення прийому пропозицій |
| 389 | [Tags] ${USERS.users['${provider}'].broker}: Можливість прийняти пропозицію переможця | 389 | [Tags] ${USERS.users['${provider}'].broker}: Можливість прийняти пропозицію переможця |
| 390 | log ${USERS.users['${provider}'].broker} | 390 | log ${USERS.users['${provider}'].broker} |
| @@ -392,7 +392,7 @@ ${question_id} 0 | @@ -392,7 +392,7 @@ ${question_id} 0 | ||
| 392 | ${bid_id}= get variable value ${biddingresponce1.data.id} | 392 | ${bid_id}= get variable value ${biddingresponce1.data.id} |
| 393 | ${token1}= Get Variable Value ${biddingresponce1.access.token} | 393 | ${token1}= Get Variable Value ${biddingresponce1.access.token} |
| 394 | ${upload_doc_responce_id}= get variable value ${upload_doc_responce.data.id} | 394 | ${upload_doc_responce_id}= get variable value ${upload_doc_responce.data.id} |
| 395 | - log ${token1} | 395 | + log ${token1} |
| 396 | Викликати для учасника ${provider} Змінити документ в ставці ${token1} ${bid_id} ${upload_doc_responce_id} | 396 | Викликати для учасника ${provider} Змінити документ в ставці ${token1} ${bid_id} ${upload_doc_responce_id} |
| 397 | 397 | ||
| 398 | 398 |
Please
register
or
login
to post a comment