Commit 869316bde4772cd09631b8ca89086eb85736dab5

Authored by biviktorqc
2 parents 47a1261a e342b649

Merge remote-tracking branch 'yboi/E-Tender' into candy

Conflicts:
	op_robot_tests/tests_files/brokers/etender.robot
	op_robot_tests/tests_files/service_keywords.py
@@ -4,15 +4,44 @@ Library String @@ -4,15 +4,44 @@ Library String
4 Library DateTime 4 Library DateTime
5 5
6 *** Variables *** 6 *** Variables ***
7 -${locator.tenderId} jquery=h3  
8 -##Використовую такий шлях у кожного буде мінятись /yboi/. Міняйте на сві шлях до файлу  
9 -${file_add} /home/yboi/openprocurement.robottests.buildout/Document.docx  
10 -${locator.title} xpath=(//div[@class = 'col-sm-8']/p[@class='ng-binding'])[6]  
11 -${locator.description} xpath=(//div[@class = 'col-sm-8']/p[@class='ng-binding'])[7]  
12 -${locator.minimalStep.amount} xpath=(//div[@class = 'col-sm-8']/p[@class='ng-binding'])[9]  
13 -${locator.value.amount} xpath=(//div[@class = 'col-sm-8']/p[@class='ng-binding'])[8] 7 +${locator.tenderId} jquery=h3
  8 +${locator.title} jquery=tender-subject-info>div.row:contains("Назва закупівлі:")>:eq(1)>
  9 +${locator.description} jquery=tender-subject-info>div.row:contains("Детальний опис закупівлі:")>:eq(1)>
  10 +${locator.minimalStep.amount} xpath=(//div[@class = 'col-sm-8']/p[@class='ng-binding'])[9]
  11 +${locator.procuringEntity.name} jquery=customer-info>div.row:contains("Найменування:")>:eq(1)>
  12 +${locator.value.amount} xpath=(//div[@class = 'col-sm-8']/p[@class='ng-binding'])[8]
  13 +${locator.tenderPeriod.startDate} xpath=(//div[@class = 'col-sm-8']/p[@class='ng-binding'])[3]
  14 +${locator.tenderPeriod.endDate} xpath=(//div[@class = 'col-sm-8']/p[@class='ng-binding'])[4]
  15 +${locator.enquiryPeriod.startDate} xpath=(//div[@class = 'col-sm-8']/p[@class='ng-binding'])[1]
  16 +${locator.enquiryPeriod.endDate} xpath=(//div[@class = 'col-sm-8']/p[@class='ng-binding'])[2]
  17 +${locator.items[0].description} xpath=(//div[@class = 'col-sm-8']/p[@class='ng-binding'])[12]
  18 +${locator.items[0].deliveryDate.endDate} xpath=(//div[@class = 'col-sm-8']/p[@class='ng-binding'])[14]
  19 +${locator.items[0].deliveryLocation.latitude} xpath=(//div[@class = 'col-sm-8']/p[@class='ng-binding'])[15]
  20 +${locator.items[0].deliveryLocation.longitude} xpath=(//div[@class = 'col-sm-8']/p[@class='ng-binding'])[15]
  21 +${locator.items[0].deliveryAddress.postalCode} xpath=//div[@class='col-sm-8']//span[@ng-if='item.deliveryAddress.postIndex']
  22 +${locator.items[0].deliveryAddress.countryName} xpath=//div[@class='col-sm-8']//span[@ng-if='item.deliveryAddress.country.title']
  23 +${locator.items[0].deliveryAddress.region} xpath=//div[@class='col-sm-8']//span[@ng-if='item.deliveryAddress.region.title']
  24 +${locator.items[0].deliveryAddress.locality} xpath=//div[@class='col-sm-8']//span[@ng-if='item.deliveryAddress.city.title']
  25 +${locator.items[0].deliveryAddress.streetAddress} xpath=//div[@class='col-sm-8']//span[@ng-if='item.deliveryAddress.addressStr']
  26 +${locator.items[0].classification.scheme} xpath=(//div[@class = 'col-sm-4']/p)[11]
  27 +${locator.items[0].classification.id} xpath=(//div[@class = 'col-sm-8']/p[@class='ng-binding'])[10]
  28 +${locator.items[0].classification.description} xpath=(//div[@class = 'col-sm-8']/p[@class='ng-binding'])[10]
  29 +${locator.items[0].additionalClassifications[0].scheme} xpath=(//div[@class = 'col-sm-4']/p)[12]
  30 +${locator.items[0].additionalClassifications[0].id} xpath=(//div[@class = 'col-sm-8']/p[@class='ng-binding'])[11]
  31 +${locator.items[0].additionalClassifications[0].description} xpath=(//div[@class = 'col-sm-8']/p[@class='ng-binding'])[11]
  32 +${locator.items[0].unit.code} xpath=(//div[@class = 'col-sm-8']/p[@class='ng-binding'])[13]
  33 +${locator.items[0].quantity} xpath=(//div[@class = 'col-sm-8']/p[@class='ng-binding'])[13]
  34 +${locator.questions[0].title} xpath=(//div[@class='col-sm-10']/span[@class='ng-binding'])[2]
  35 +${locator.questions[0].description} xpath=(//div[@class='col-sm-10']/span[@class='ng-binding'])[3]
  36 +${locator.questions[0].date} xpath=(//div[@class='col-sm-10']/span[@class='ng-binding'])[1]
  37 +${locator.questions[0].answer} xpath=(//div[@textarea='question.answer']/pre[@class='ng-binding'])[1]
14 38
15 *** Keywords *** 39 *** Keywords ***
  40 +Підготувати дані для оголошення тендера
  41 + ${INITIAL_TENDER_DATA}= prepare_test_tender_data
  42 + ${INITIAL_TENDER_DATA}= Add_data_for_GUI_FrontEnds ${INITIAL_TENDER_DATA}
  43 + [return] ${INITIAL_TENDER_DATA}
  44 +
16 Підготувати клієнт для користувача 45 Підготувати клієнт для користувача
17 [Arguments] @{ARGUMENTS} 46 [Arguments] @{ARGUMENTS}
18 [Documentation] Відкрити брaвзер, створити обєкт api wrapper, тощо 47 [Documentation] Відкрити брaвзер, створити обєкт api wrapper, тощо
@@ -23,9 +52,9 @@ ${locator.value.amount} xpath=(//div[@class = 'col-sm-8']/p[@class= @@ -23,9 +52,9 @@ ${locator.value.amount} xpath=(//div[@class = 'col-sm-8']/p[@class=
23 Run Keyword If '${username}' != 'E-tender_Viewer' Login 52 Run Keyword If '${username}' != 'E-tender_Viewer' Login
24 53
25 Login 54 Login
26 - Wait Until Page Contains Element id=inputUsername 100 55 + Wait Until Page Contains Element id=inputUsername 10
27 Input text id=inputUsername ${USERS.users['${username}'].login} 56 Input text id=inputUsername ${USERS.users['${username}'].login}
28 - Wait Until Page Contains Element id=inputPassword 100 57 + Wait Until Page Contains Element id=inputPassword 10
29 Input text id=inputPassword ${USERS.users['${username}'].password} 58 Input text id=inputPassword ${USERS.users['${username}'].password}
30 Click Button id=btn_submit 59 Click Button id=btn_submit
31 60
@@ -33,31 +62,39 @@ Login @@ -33,31 +62,39 @@ Login
33 [Arguments] @{ARGUMENTS} 62 [Arguments] @{ARGUMENTS}
34 [Documentation] 63 [Documentation]
35 ... ${ARGUMENTS[0]} == username 64 ... ${ARGUMENTS[0]} == username
36 - ... ${ARGUMENTS[1]} == initial_tender_data  
37 - ${prepared_tender_data}= Add_data_for_GUI_FrontEnds ${ARGUMENTS[1]}  
38 - ${items}= Get From Dictionary ${prepared_tender_data.data} items  
39 - ${title}= Get From Dictionary ${prepared_tender_data.data} title  
40 - ${description}= Get From Dictionary ${prepared_tender_data.data} description  
41 - ${budget}= Get From Dictionary ${prepared_tender_data.data.value} amount  
42 - ${step_rate}= Get From Dictionary ${prepared_tender_data.data.minimalStep} amount  
43 - ${items_description}= Get From Dictionary ${prepared_tender_data.data} description 65 + ... ${ARGUMENTS[1]} == tender_data
  66 + ${INITIAL_TENDER_DATA}= procuringEntity_name ${INITIAL_TENDER_DATA}
  67 + ${tender_data}= Add_data_for_GUI_FrontEnds ${ARGUMENTS[1]}
  68 + ${items}= Get From Dictionary ${tender_data.data} items
  69 + ${title}= Get From Dictionary ${tender_data.data} title
  70 + ${description}= Get From Dictionary ${tender_data.data} description
  71 + ${budget}= Get From Dictionary ${tender_data.data.value} amount
  72 + ${step_rate}= Get From Dictionary ${tender_data.data.minimalStep} amount
  73 + ${items_description}= Get From Dictionary ${items[0]} description
44 ${quantity}= Get From Dictionary ${items[0]} quantity 74 ${quantity}= Get From Dictionary ${items[0]} quantity
45 ${cpv}= Get From Dictionary ${items[0].classification} id 75 ${cpv}= Get From Dictionary ${items[0].classification} id
46 ${unit}= Get From Dictionary ${items[0].unit} name 76 ${unit}= Get From Dictionary ${items[0].unit} name
47 - ${start_date}= Get From Dictionary ${prepared_tender_data.data.tenderPeriod} startDate 77 + ${latitude} Get From Dictionary ${items[0].deliveryLocation} latitude
  78 + ${longitude} Get From Dictionary ${items[0].deliveryLocation} longitude
  79 + ${postalCode} Get From Dictionary ${items[0].deliveryAddress} postalCode
  80 + ${streetAddress} Get From Dictionary ${items[0].deliveryAddress} streetAddress
  81 + ${deliveryDate} Get From Dictionary ${items[0].deliveryDate} endDate
  82 + ${deliveryDate} convert_date_to_etender_format ${deliveryDate}
  83 + ${start_date}= Get From Dictionary ${tender_data.data.tenderPeriod} startDate
48 ${start_date}= convert_date_to_etender_format ${start_date} 84 ${start_date}= convert_date_to_etender_format ${start_date}
49 - ${start_time}= Get From Dictionary ${prepared_tender_data.data.tenderPeriod} startDate 85 + ${start_time}= Get From Dictionary ${tender_data.data.tenderPeriod} startDate
50 ${start_time}= convert_time_to_etender_format ${start_time} 86 ${start_time}= convert_time_to_etender_format ${start_time}
51 - ${end_date}= Get From Dictionary ${prepared_tender_data.data.tenderPeriod} endDate 87 + ${end_date}= Get From Dictionary ${tender_data.data.tenderPeriod} endDate
52 ${end_date}= convert_date_to_etender_format ${end_date} 88 ${end_date}= convert_date_to_etender_format ${end_date}
53 - ${end_time}= Get From Dictionary ${prepared_tender_data.data.tenderPeriod} endDate 89 + ${end_time}= Get From Dictionary ${tender_data.data.tenderPeriod} endDate
54 ${end_time}= convert_time_to_etender_format ${end_time} 90 ${end_time}= convert_time_to_etender_format ${end_time}
55 - ${enquiry_end_date}= Get From Dictionary ${prepared_tender_data.data.enquiryPeriod} endDate 91 + ${enquiry_end_date}= Get From Dictionary ${tender_data.data.enquiryPeriod} endDate
56 ${enquiry_end_date}= convert_date_to_etender_format ${enquiry_end_date} 92 ${enquiry_end_date}= convert_date_to_etender_format ${enquiry_end_date}
57 - ${enquiry_end_time}= Get From Dictionary ${prepared_tender_data.data.enquiryPeriod} endDate 93 + ${enquiry_end_time}= Get From Dictionary ${tender_data.data.enquiryPeriod} endDate
58 ${enquiry_end_time}= convert_time_to_etender_format ${enquiry_end_time} 94 ${enquiry_end_time}= convert_time_to_etender_format ${enquiry_end_time}
  95 +
59 Selenium2Library.Switch Browser ${ARGUMENTS[0]} 96 Selenium2Library.Switch Browser ${ARGUMENTS[0]}
60 - Wait Until Page Contains Мої закупівлі 100 97 + Wait Until Page Contains Мої закупівлі 10
61 Sleep 1 98 Sleep 1
62 Click Element xpath=//a[contains(@class, 'ng-binding')][./text()='Мої закупівлі'] 99 Click Element xpath=//a[contains(@class, 'ng-binding')][./text()='Мої закупівлі']
63 Wait Until Page Contains Element xpath=//a[contains(@class, 'btn btn-info')] 100 Wait Until Page Contains Element xpath=//a[contains(@class, 'btn btn-info')]
@@ -71,6 +108,16 @@ Login @@ -71,6 +108,16 @@ Login
71 Input text id=minimalStep ${step_rate} 108 Input text id=minimalStep ${step_rate}
72 Input text id=itemsDescription ${items_description} 109 Input text id=itemsDescription ${items_description}
73 Input text id=itemsQuantity ${quantity} 110 Input text id=itemsQuantity ${quantity}
  111 + Input text name=delStartDate ${deliveryDate}
  112 + Sleep 2
  113 + Input text xpath=//input[@ng-model='data.items[0].deliveryDate.endDate'] ${deliveryDate}
  114 + Input text name=latitude ${latitude}
  115 + Input text name=longitude ${longitude}
  116 + Click Element xpath=//select[@name='region']//option[@label='Київська']
  117 + Sleep 2
  118 + Click Element xpath=//select[@name='city']//option[@label='Київ']
  119 + Input text name=addressStr ${streetAddress}
  120 + Input text name=postIndex ${postalCode}
74 Wait Until Page Contains Element xpath=//select[@name="itemsUnit"]/option[@value='kilogram'] 121 Wait Until Page Contains Element xpath=//select[@name="itemsUnit"]/option[@value='kilogram']
75 Click Element xpath=//select[@name="itemsUnit"]/option[@value='kilogram'] 122 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} 123 Input text xpath=//div[contains(@class, 'form-group col-sm-8')]//input[@name='enqPEndDate'] ${enquiry_end_date}
@@ -95,7 +142,7 @@ Login @@ -95,7 +142,7 @@ Login
95 Wait Until Page Contains Element xpath=//div[contains(@class, 'form-actions')]//button[@type='submit'] 142 Wait Until Page Contains Element xpath=//div[contains(@class, 'form-actions')]//button[@type='submit']
96 Click Element xpath=//div[contains(@class, 'form-actions')]//button[@type='submit'] 143 Click Element xpath=//div[contains(@class, 'form-actions')]//button[@type='submit']
97 Sleep 1 144 Sleep 1
98 - Wait Until Page Contains [ТЕСТУВАННЯ] 100 145 + Wait Until Page Contains [ТЕСТУВАННЯ] 10
99 Sleep 20 146 Sleep 20
100 Click Element xpath=//*[text()='${title}'] 147 Click Element xpath=//*[text()='${title}']
101 Sleep 5 148 Sleep 5
@@ -113,16 +160,6 @@ Set Multi Ids @@ -113,16 +160,6 @@ Set Multi Ids
113 ${id}= Get Substring ${current_location} 10 160 ${id}= Get Substring ${current_location} 10
114 ${Ids}= Create List ${tender_UAid} ${id} 161 ${Ids}= Create List ${tender_UAid} ${id}
115 162
116 -Oтримати internal id по UAid  
117 - [Arguments] @{ARGUMENTS}  
118 - [Documentation]  
119 - ... ${ARGUMENTS[0]} == username  
120 - ... ${ARGUMENTS[1]} == ${tender_UAid}  
121 - etender.Пошук тендера по ідентифікатору ${ARGUMENTS[0]} ${ARGUMENTS[1]}  
122 - ${current_location}= Get Location  
123 - ${tender_id}= Fetch From Right ${current_location} /  
124 - [return] ${tender_id}  
125 -  
126 Додати предмет 163 Додати предмет
127 [Arguments] @{ARGUMENTS} 164 [Arguments] @{ARGUMENTS}
128 [Documentation] 165 [Documentation]
@@ -167,19 +204,61 @@ Oтримати internal id по UAid @@ -167,19 +204,61 @@ Oтримати internal id по UAid
167 sleep 1 204 sleep 1
168 Capture Page Screenshot 205 Capture Page Screenshot
169 206
170 -Подати цінову пропозицію 207 +Завантажити документ
171 [Arguments] @{ARGUMENTS} 208 [Arguments] @{ARGUMENTS}
172 [Documentation] 209 [Documentation]
173 ... ${ARGUMENTS[0]} == username 210 ... ${ARGUMENTS[0]} == username
174 ... ${ARGUMENTS[1]} == ${TENDER_UAID} 211 ... ${ARGUMENTS[1]} == ${TENDER_UAID}
175 - ... ${ARGUMENTS[2]} == test_bid_data 212 + ... ${ARGUMENTS[2]} == ${Complain}
  213 + Fail Тест не написаний
176 214
  215 +Подати скаргу
  216 + [Arguments] @{ARGUMENTS}
  217 + [Documentation]
  218 + ... ${ARGUMENTS[0]} == username
  219 + ... ${ARGUMENTS[1]} == ${TENDER_UAID}
  220 + ... ${ARGUMENTS[2]} == ${Complain}
  221 + Fail Не реалізований функціонал
  222 +
  223 +порівняти скаргу
  224 + [Arguments] @{ARGUMENTS}
  225 + [Documentation]
  226 + ... ${ARGUMENTS[0]} == username
  227 + ... ${ARGUMENTS[1]} == ${file_path}
  228 + ... ${ARGUMENTS[2]} == ${TENDER_UAID}
  229 + Fail Не реалізований функціонал
  230 +
  231 +Подати цінову пропозицію
  232 + [Arguments] @{ARGUMENTS}
  233 + [Documentation]
  234 + ... ${ARGUMENTS[0]} == username
  235 + ... ${ARGUMENTS[1]} == ${TENDER_UAID}
  236 + ... ${ARGUMENTS[2]} == ${test_bid_data}
177 ${bid}= Get From Dictionary ${ARGUMENTS[2].data.value} amount 237 ${bid}= Get From Dictionary ${ARGUMENTS[2].data.value} amount
178 etender.Пошук тендера по ідентифікатору ${ARGUMENTS[0]} ${ARGUMENTS[1]} 238 etender.Пошук тендера по ідентифікатору ${ARGUMENTS[0]} ${ARGUMENTS[1]}
179 - Wait Until Page Contains Інформація про процедуру закупівлі 100 239 + Wait Until Page Contains Інформація про процедуру закупівлі 10
180 Wait Until Page Contains Element id=amount 10 240 Wait Until Page Contains Element id=amount 10
181 Input text id=amount ${bid} 241 Input text id=amount ${bid}
182 Click Element xpath=//button[contains(@class, 'btn btn-success')][./text()='Реєстрація пропозиції'] 242 Click Element xpath=//button[contains(@class, 'btn btn-success')][./text()='Реєстрація пропозиції']
  243 + DEBUG
  244 + Click Element xpath=//div[@class='row']/button[@class='btn btn-success']
  245 +
  246 +скасувати цінову пропозицію
  247 + [Arguments] @{ARGUMENTS}
  248 + [Documentation]
  249 + ... ${ARGUMENTS[0]} == username
  250 + ... ${ARGUMENTS[1]} == ${TENDER_UAID}
  251 + etender.Пошук тендера по ідентифікатору ${ARGUMENTS[0]} ${ARGUMENTS[1]}
  252 + Click Element xpath=//button[@class='btn-sm btn-danger ng-isolate-scope']
  253 +
  254 +обновити сторінку з тендером
  255 + [Arguments] @{ARGUMENTS}
  256 + [Documentation]
  257 + ... ${ARGUMENTS[0]} = username
  258 + ... ${ARGUMENTS[1]} = ${TENDER_UAID}
  259 + Selenium2Library.Switch Browser ${ARGUMENTS[0]}
  260 + etender.Пошук тендера по ідентифікатору ${ARGUMENTS[0]} ${ARGUMENTS[1]}
  261 + Reload Page
183 262
184 Задати питання 263 Задати питання
185 [Arguments] @{ARGUMENTS} 264 [Arguments] @{ARGUMENTS}
@@ -193,8 +272,7 @@ Oтримати internal id по UAid @@ -193,8 +272,7 @@ Oтримати internal id по UAid
193 272
194 Selenium2Library.Switch Browser ${ARGUMENTS[0]} 273 Selenium2Library.Switch Browser ${ARGUMENTS[0]}
195 etender.Пошук тендера по ідентифікатору ${ARGUMENTS[0]} ${ARGUMENTS[1]} 274 etender.Пошук тендера по ідентифікатору ${ARGUMENTS[0]} ${ARGUMENTS[1]}
196 -  
197 - Wait Until Page Contains Element jquery=a[href^="#/addQuestion/"] 100 275 + Wait Until Page Contains Element jquery=a[href^="#/addQuestion/"] 10
198 Click Element jquery=a[href^="#/addQuestion/"] 276 Click Element jquery=a[href^="#/addQuestion/"]
199 Wait Until Page Contains Element id=title 277 Wait Until Page Contains Element id=title
200 Input text id=title ${title} 278 Input text id=title ${title}
@@ -213,22 +291,10 @@ Oтримати internal id по UAid @@ -213,22 +291,10 @@ Oтримати internal id по UAid
213 291
214 Selenium2Library.Switch Browser ${ARGUMENTS[0]} 292 Selenium2Library.Switch Browser ${ARGUMENTS[0]}
215 etender.Пошук тендера по ідентифікатору ${ARGUMENTS[0]} ${ARGUMENTS[1]} 293 etender.Пошук тендера по ідентифікатору ${ARGUMENTS[0]} ${ARGUMENTS[1]}
216 -  
217 - Click Element xpath=//div[div/pre[1]]/div[1]  
218 - Input text xpath=//div[textarea]/textarea ${answer}  
219 - Click Element xpath=//div[textarea]/span/button[1]  
220 -  
221 -обновити сторінку з тендером  
222 - [Arguments] @{ARGUMENTS}  
223 - [Documentation]  
224 - ... ${ARGUMENTS[0]} == username  
225 - ... ${ARGUMENTS[1]} == tenderId  
226 - ... ${ARGUMENTS[2]} == id  
227 - ${current_location}= Get Location  
228 - Run keyword if '${BROKERS['${USERS.users['${username}'].broker}'].url}/#/tenderDetailes/${ARGUMENTS[2]}'=='${current_location}' Reload Page  
229 - Run keyword unless '${BROKERS['${USERS.users['${username}'].broker}'].url}/#/tenderDetailes/${ARGUMENTS[2]}'=='${current_location}' Пошук тендера по ідентифікатору @{ARGUMENTS}  
230 - Wait Until Page Contains ${ARGUMENTS[1]} 10  
231 - sleep 1 294 + Wait Until Page Contains Element xpath=//pre[@class='ng-binding'][text()='Додати відповідь'] 10
  295 + Click Element xpath=//pre[@class='ng-binding'][text()='Додати відповідь']
  296 + Input text xpath=//div[@class='editable-controls form-group']//textarea ${answer}
  297 + Click Element xpath=//span[@class='editable-buttons']/button[@type='submit']
232 298
233 Внести зміни в тендер 299 Внести зміни в тендер
234 [Arguments] @{ARGUMENTS} 300 [Arguments] @{ARGUMENTS}
@@ -271,7 +337,7 @@ Oтримати internal id по UAid @@ -271,7 +337,7 @@ Oтримати internal id по UAid
271 \ Додати предмет ${items[${INDEX}]} ${INDEX} 337 \ Додати предмет ${items[${INDEX}]} ${INDEX}
272 Sleep 2 338 Sleep 2
273 Click Element xpath=//div[@class='form-actions']/button[./text()='Зберегти зміни'] 339 Click Element xpath=//div[@class='form-actions']/button[./text()='Зберегти зміни']
274 - Wait Until Page Contains [ТЕСТУВАННЯ] 100 340 + Wait Until Page Contains [ТЕСТУВАННЯ] 10
275 341
276 видалити позиції 342 видалити позиції
277 etender.Пошук тендера по ідентифікатору ${ARGUMENTS[0]} ${ARGUMENTS[1]} 343 etender.Пошук тендера по ідентифікатору ${ARGUMENTS[0]} ${ARGUMENTS[1]}
@@ -283,7 +349,7 @@ Oтримати internal id по UAid @@ -283,7 +349,7 @@ Oтримати internal id по UAid
283 Sleep 2 349 Sleep 2
284 Wait Until Page Contains Element xpath=//div[@class='form-actions']/button[./text()='Зберегти зміни'] 10 350 Wait Until Page Contains Element xpath=//div[@class='form-actions']/button[./text()='Зберегти зміни'] 10
285 Click Element xpath=//div[@class='form-actions']/button[./text()='Зберегти зміни'] 351 Click Element xpath=//div[@class='form-actions']/button[./text()='Зберегти зміни']
286 - Wait Until Page Contains [ТЕСТУВАННЯ] 100 352 + Wait Until Page Contains [ТЕСТУВАННЯ] 10
287 353
288 отримати інформацію із тендера 354 отримати інформацію із тендера
289 [Arguments] @{ARGUMENTS} 355 [Arguments] @{ARGUMENTS}
@@ -329,8 +395,8 @@ Oтримати internal id по UAid @@ -329,8 +395,8 @@ Oтримати internal id по UAid
329 Remove element ${last_note_id} 395 Remove element ${last_note_id}
330 396
331 отримати інформацію про tenderId 397 отримати інформацію про tenderId
332 - ${return_value}= отримати тест із поля і показати на сторінці tenderId  
333 - ${return_value}= Get Substring ${return_value} 10 398 + ${return_value}= Отримати тест із поля і показати на сторінці tenderId
  399 + ${return_value}= Get Substring ${return_value} 10
334 [return] ${return_value} 400 [return] ${return_value}
335 401
336 отримати інформацію про procuringEntity.name 402 отримати інформацію про procuringEntity.name
@@ -338,72 +404,139 @@ Oтримати internal id по UAid @@ -338,72 +404,139 @@ Oтримати internal id по UAid
338 [return] ${return_value} 404 [return] ${return_value}
339 405
340 отримати інформацію про tenderPeriod.startDate 406 отримати інформацію про tenderPeriod.startDate
341 - ${return_value}= Отримати тест із поля і показати на сторінці tenderPeriod.startDate 407 + ${return_value}= Отримати тест із поля і показати на сторінці tenderPeriod.startDate
  408 + ${return_value}= Change_date_to_month ${return_value}
342 [return] ${return_value} 409 [return] ${return_value}
343 410
344 отримати інформацію про tenderPeriod.endDate 411 отримати інформацію про tenderPeriod.endDate
345 - ${return_value}= Отримати тест із поля і показати на сторінці tenderPeriod.endDate 412 + ${return_value}= Отримати тест із поля і показати на сторінці tenderPeriod.endDate
  413 + ${return_value}= Change_date_to_month ${return_value}
346 [return] ${return_value} 414 [return] ${return_value}
347 415
348 отримати інформацію про enquiryPeriod.startDate 416 отримати інформацію про enquiryPeriod.startDate
349 - ${return_value}= Отримати тест із поля і показати на сторінці enquiryPeriod.startDate 417 + ${return_value}= Отримати тест із поля і показати на сторінці enquiryPeriod.startDate
  418 + ${return_value}= Change_date_to_month ${return_value}
350 [return] ${return_value} 419 [return] ${return_value}
351 420
352 отримати інформацію про enquiryPeriod.endDate 421 отримати інформацію про enquiryPeriod.endDate
353 - ${return_value}= Отримати тест із поля і показати на сторінці enquiryPeriod.endDate 422 + ${return_value}= Отримати тест із поля і показати на сторінці enquiryPeriod.endDate
  423 + ${return_value}= Change_date_to_month ${return_value}
354 [return] ${return_value} 424 [return] ${return_value}
355 425
356 -отримати інформацію про items[${item_id}].description  
357 - відмітити на сторінці поле з тендера items[${item_id}].description jquery=tender-subject-info.ng-isolate-scope>div.row:contains("Детальний опис предмету закупівлі:")>:eq(1)>  
358 - ${return_value}= Get Text jquery=tender-subject-info.ng-isolate-scope>div.row:contains("Детальний опис предмету закупівлі:")>:eq(1)> 426 +Change_date_to_month
  427 + [Arguments] @{ARGUMENTS}
  428 + [Documentation]
  429 + ... ${ARGUMENTS[0]} == date
  430 + ${day}= Get Substring ${ARGUMENTS[0]} 0 2
  431 + ${month}= Get Substring ${ARGUMENTS[0]} 3 6
  432 + ${year}= Get Substring ${ARGUMENTS[0]} 5
  433 + ${return_value}= Convert To String ${month}${day}${year}
  434 + [return] ${return_value}
  435 +
  436 +отримати інформацію про items[0].description
  437 + ${return_value}= Отримати тест із поля і показати на сторінці items[0].description
359 [return] ${return_value} 438 [return] ${return_value}
360 439
361 -отримати інформацію про items[${item_id}].quantity  
362 - відмітити на сторінці поле з тендера items[${item_id}].quantity jquery=tender-subject-info.ng-isolate-scope>div.row:contains("Кількість:")>:eq(1)>  
363 - ${return_value}= Get Text jquery=tender-subject-info.ng-isolate-scope>div.row:contains("Кількість:")>:eq(1)>  
364 - ${return_value}= Convert To Number ${return_value} 440 +отримати інформацію про items[0].deliveryLocation.latitude
  441 + ${return_value}= Отримати тест із поля і показати на сторінці items[0].deliveryLocation.latitude
  442 + ${return_value}= Get Substring ${return_value} 0 10
365 [return] ${return_value} 443 [return] ${return_value}
366 444
367 -отримати інформацію про items[${item_id}].classification.id  
368 - відмітити на сторінці поле з тендера items[0].classification.id jquery=tender-subject-info>div.row:contains("Класифікатор CPV:")>:eq(1)>  
369 - ${return_value}= Get Text jquery=tender-subject-info>div.row:contains("Класифікатор CPV:")>:eq(1)> 445 +отримати інформацію про items[0].deliveryLocation.longitude
  446 + ${return_value}= Отримати тест із поля і показати на сторінці items[0].deliveryLocation.longitude
  447 + ${return_value}= Get Substring ${return_value} 12 22
  448 + [return] ${return_value}
  449 +
  450 +отримати інформацію про items[0].unit.code
  451 + ${return_value}= Отримати тест із поля і показати на сторінці items[0].unit.code
  452 + ${return_value}= Get Substring ${return_value} 5
  453 + ${return_value}= Run keyword if '${return_value}' == 'кг.' Convert To String KGM
  454 + [return] ${return_value}
  455 +
  456 +отримати інформацію про items[0].quantity
  457 + ${return_value}= Отримати тест із поля і показати на сторінці items[0].quantity
  458 + ${return_value}= Get Substring ${return_value} 0 4
  459 + ${return_value}= Convert To Number ${return_value}
  460 + [return] ${return_value}
  461 +
  462 +отримати інформацію про items[0].classification.id
  463 + ${return_value}= Отримати тест із поля і показати на сторінці items[0].classification.id
370 [return] ${return_value.split(' ')[0]} 464 [return] ${return_value.split(' ')[0]}
371 465
372 -отримати інформацію про items[${item_id}].classification.scheme  
373 - відмітити на сторінці поле з тендера items[0].classification.id jquery=tender-subject-info>div.row:contains("CPV")>:eq(1)>  
374 - ${return_value}= Get Text jquery=tender-subject-info>div.row:contains("CPV")>:eq(1)> 466 +отримати інформацію про items[0].classification.scheme
  467 + ${return_value}= Отримати тест із поля і показати на сторінці items[0].classification.scheme
  468 + ${return_value}= Get Substring ${return_value} 0 -1
  469 + [return] ${return_value.split(' ')[1]}
  470 +
  471 +отримати інформацію про items[0].classification.description
  472 + ${return_value}= Отримати тест із поля і показати на сторінці items[0].classification.description
  473 + ${return_value}= Get Substring ${return_value} 11
  474 + ${return_value}= Run keyword if '${return_value}' == 'Картонки' Convert To String Cartons
  475 + [return] ${return_value}
  476 +
  477 +отримати інформацію про items[0].additionalClassifications[0].id
  478 + ${return_value}= Отримати тест із поля і показати на сторінці items[0].additionalClassifications[0].id
375 [return] ${return_value.split(' ')[0]} 479 [return] ${return_value.split(' ')[0]}
376 480
377 -отримати інформацію про items[${item_id}].classification.description  
378 - відмітити на сторінці поле з тендера classification.description jquery=tender-subject-info>div.row:contains("Класифікатор CPV:")>:eq(1)>  
379 - ${return_value}= Get Text jquery=tender-subject-info>div.row:contains("Класифікатор CPV:")>:eq(1)>  
380 - ${return_value}= catenate @{return_value.split(' ')[1:]} 481 +отримати інформацію про items[0].additionalClassifications[0].scheme
  482 + ${return_value}= Отримати тест із поля і показати на сторінці items[0].additionalClassifications[0].scheme
  483 + ${return_value}= Get Substring ${return_value} 0 -1
  484 + [return] ${return_value.split(' ')[1]}
  485 +
  486 +отримати інформацію про items[0].additionalClassifications[0].description
  487 + ${return_value}= Отримати тест із поля і показати на сторінці items[0].additionalClassifications[0].description
  488 + ${return_value}= Get Substring ${return_value} 8 60
  489 + ${return_value}= Remove String ${return_value} "
  490 + ${return_value}= Convert To Lowercase ${return_value}
  491 + [return] ${return_value}
  492 +
  493 +отримати інформацію про items[0].deliveryAddress.postalCode
  494 + ${return_value}= Отримати тест із поля і показати на сторінці items[0].deliveryAddress.postalCode
  495 + ${return_value}= Get Substring ${return_value} 0 5
  496 + [return] ${return_value}
  497 +
  498 +отримати інформацію про items[0].deliveryAddress.countryName
  499 + ${return_value}= Отримати тест із поля і показати на сторінці items[0].deliveryAddress.countryName
  500 + ${return_value}= Get Substring ${return_value} 0 7
  501 + [return] ${return_value}
  502 +
  503 +отримати інформацію про items[0].deliveryAddress.region
  504 + ${return_value}= Отримати тест із поля і показати на сторінці items[0].deliveryAddress.region
  505 + ${return_value}= Run keyword if '${return_value}' == 'Київська,' Convert To String м. Київ
381 [return] ${return_value} 506 [return] ${return_value}
382 507
383 -отримати інформацію про items[${item_id}].deliveryAddress  
384 - ${return_value}= Отримати тест із поля і показати на сторінці items[${item_id}].deliveryAddress 508 +отримати інформацію про items[0].deliveryAddress.locality
  509 + ${return_value}= Отримати тест із поля і показати на сторінці items[0].deliveryAddress.locality
  510 + ${return_value}= Run keyword if '${return_value}' == 'Київ,' Convert To String м. Київ
385 [return] ${return_value} 511 [return] ${return_value}
386 512
387 -отримати інформацію про items[${item_id}].deliveryDate  
388 - ${return_value}= Отримати тест із поля і показати на сторінці items[${item_id}].deliveryDate 513 +отримати інформацію про items[0].deliveryAddress.streetAddress
  514 + ${return_value}= Отримати тест із поля і показати на сторінці items[0].deliveryAddress.streetAddress
389 [return] ${return_value} 515 [return] ${return_value}
390 516
391 -отримати інформацію про questions[${question_id}].title  
392 - відмітити на сторінці поле з тендера questions title jquery=tender-questions>div:eq(1)>div.row:contains("Тема:")>:eq(1)>  
393 - ${return_value}= Get Text jquery=tender-questions>div:eq(1)>div.row:contains("Тема:")>:eq(1)> 517 +отримати інформацію про items[0].deliveryDate.endDate
  518 + ${return_value}= Отримати тест із поля і показати на сторінці items[0].deliveryDate.endDate
  519 + ${time}= Отримати тест із поля і показати на сторінці enquiryPeriod.startDate
  520 + ${time}= Get Substring ${time} 11
  521 + ${day}= Get Substring ${return_value} 16 18
  522 + ${month}= Get Substring ${return_value} 18 22
  523 + ${year}= Get Substring ${return_value} 22
  524 + ${return_value}= Convert To String ${year}${month}${day}${time}
394 [return] ${return_value} 525 [return] ${return_value}
395 526
396 -отримати інформацію про questions[${question_id}].description  
397 - відмітити на сторінці поле з тендера questions description jquery=tender-questions>div:eq(1)>div.row:contains("Питання:")>:eq(1)>  
398 - ${return_value}= Get Text jquery=tender-questions>div:eq(1)>div.row:contains("Питання:")>:eq(1)> 527 +отримати інформацію про questions[0].title
  528 + ${return_value}= отримати тест із поля і показати на сторінці questions[0].title
399 [return] ${return_value} 529 [return] ${return_value}
400 530
401 -отримати інформацію про questions[${question_id}].date  
402 - відмітити на сторінці поле з тендера question date jquery=tender-questions>div:eq(1)>div.row:contains("Дата:")>:eq(1)>  
403 - ${return_value}= Get Text jquery=tender-questions>div:eq(1)>div.row:contains("Дата:")>:eq(1)> 531 +отримати інформацію про questions[0].description
  532 + ${return_value}= отримати тест із поля і показати на сторінці questions[0].description
404 [return] ${return_value} 533 [return] ${return_value}
405 534
406 -отримати інформацію про questions[${question_id}].answer  
407 - відмітити на сторінці поле з тендера question answer jquery=tender-questions>div:eq(1)>div:last>  
408 - ${return_value}= Get Text jquery=tender-questions>div:eq(1)>div:last> 535 +отримати інформацію про questions[0].date
  536 + ${return_value}= отримати тест із поля і показати на сторінці questions[0].date
  537 + ${return_value}= Change_date_to_month ${return_value}
409 [return] ${return_value} 538 [return] ${return_value}
  539 +
  540 +отримати інформацію про questions[0].answer
  541 + ${return_value}= отримати тест із поля і показати на сторінці questions[0].answer
  542 + [return] ${return_value}
@@ -39,12 +39,10 @@ def prepare_prom_test_tender_data(): @@ -39,12 +39,10 @@ def prepare_prom_test_tender_data():
39 return munchify({'data': prom_test_tender_data()}) 39 return munchify({'data': prom_test_tender_data()})
40 40
41 def compare_date(data1, data2): 41 def compare_date(data1, data2):
42 - LOGGER.log_message(Message("data1: {}".format(data1), "INFO"))  
43 - LOGGER.log_message(Message("data2: {}".format(data2), "INFO"))  
44 data1=parse(data1) 42 data1=parse(data1)
45 data2=parse(data2) 43 data2=parse(data2)
46 - LOGGER.log_message(Message("data1: {}".format(data1), "INFO"))  
47 - LOGGER.log_message(Message("data2: {}".format(data2), "INFO")) 44 + #LOGGER.log_message(Message("data1: {}".format(data1), "INFO"))
  45 + #LOGGER.log_message(Message("data2: {}".format(data2), "INFO"))
48 if data1.tzinfo is None: 46 if data1.tzinfo is None:
49 data1 = TIMEZONE.localize(data1) 47 data1 = TIMEZONE.localize(data1)
50 if data2.tzinfo is None: 48 if data2.tzinfo is None:
@@ -142,21 +140,46 @@ def wait_to_date(date_stamp): @@ -142,21 +140,46 @@ def wait_to_date(date_stamp):
142 return 0 140 return 0
143 return wait_seconds 141 return wait_seconds
144 142
  143 +##GUI Frontends common
145 def convert_date_to_slash_format(isodate): 144 def convert_date_to_slash_format(isodate):
146 iso_dt=parse_date(isodate) 145 iso_dt=parse_date(isodate)
147 date_string = iso_dt.strftime("%d/%m/%Y") 146 date_string = iso_dt.strftime("%d/%m/%Y")
148 return date_string 147 return date_string
149 148
  149 +def Add_data_for_GUI_FrontEnds(INITIAL_TENDER_DATA):
  150 + now = datetime.now()
  151 + #INITIAL_TENDER_DATA.data.enquiryPeriod['startDate'] = (now + timedelta(minutes=2)).isoformat()
  152 + INITIAL_TENDER_DATA.data.enquiryPeriod['endDate'] = (now + timedelta(minutes=6)).isoformat()
  153 + INITIAL_TENDER_DATA.data.tenderPeriod['startDate'] = (now + timedelta(minutes=7)).isoformat()
  154 + INITIAL_TENDER_DATA.data.tenderPeriod['endDate'] = (now + timedelta(minutes=11)).isoformat()
  155 + return INITIAL_TENDER_DATA
  156 +
  157 +def local_path_to_file(file_name):
  158 + path = os.getcwd()
  159 + path = path.split("brokers", 1)[0] + "/src/op_robot_tests/op_robot_tests/tests_files/documents/" + file_name
  160 + return path
  161 +
  162 +## E-Tender
150 def convert_date_to_etender_format(isodate): 163 def convert_date_to_etender_format(isodate):
151 iso_dt=parse_date(isodate) 164 iso_dt=parse_date(isodate)
152 date_string = iso_dt.strftime("%d-%m-%Y") 165 date_string = iso_dt.strftime("%d-%m-%Y")
153 return date_string 166 return date_string
154 167
  168 +def convert_date_for_delivery(isodate):
  169 + iso_dt=parse_date(isodate)
  170 + date_string = iso_dt.strftime("%Y-%m-%d %H:%M")
  171 + return date_string
  172 +
155 def convert_time_to_etender_format(isodate): 173 def convert_time_to_etender_format(isodate):
156 iso_dt=parse_date(isodate) 174 iso_dt=parse_date(isodate)
157 time_string = iso_dt.strftime("%H:%M") 175 time_string = iso_dt.strftime("%H:%M")
158 return time_string 176 return time_string
159 177
  178 +def procuringEntity_name(INITIAL_TENDER_DATA):
  179 + INITIAL_TENDER_DATA.data.procuringEntity['name'] = u"Повна назва невідомо чого"
  180 + return INITIAL_TENDER_DATA
  181 +
  182 +##Newtend
160 def newtend_date_picker_index(isodate): 183 def newtend_date_picker_index(isodate):
161 now = datetime.today() 184 now = datetime.today()
162 date_str = '01' + str(now.month) + str(now.year) 185 date_str = '01' + str(now.month) + str(now.year)
@@ -169,20 +192,7 @@ def newtend_date_picker_index(isodate): @@ -169,20 +192,7 @@ def newtend_date_picker_index(isodate):
169 mod = calendar.monthrange(now.year, now.month)[1] + mod 192 mod = calendar.monthrange(now.year, now.month)[1] + mod
170 return mod + iso_dt.day 193 return mod + iso_dt.day
171 194
172 -def Add_data_for_GUI_FrontEnds(INITIAL_TENDER_DATA):  
173 - now = datetime.now()  
174 - #INITIAL_TENDER_DATA.data.enquiryPeriod['startDate'] = (now + timedelta(minutes=2)).isoformat()  
175 - INITIAL_TENDER_DATA.data.enquiryPeriod['endDate'] = (now + timedelta(minutes=5)).isoformat()  
176 - INITIAL_TENDER_DATA.data.tenderPeriod['startDate'] = (now + timedelta(minutes=6)).isoformat()  
177 - INITIAL_TENDER_DATA.data.tenderPeriod['endDate'] = (now + timedelta(minutes=7)).isoformat()  
178 - return INITIAL_TENDER_DATA  
179 -  
180 -def local_path_to_file(file_name):  
181 - path = os.getcwd()  
182 - path = path.split("brokers", 1)[0] + "/src/op_robot_tests/op_robot_tests/tests_files/documents/" + file_name  
183 - return path  
184 -  
185 def Update_data_for_Newtend(INITIAL_TENDER_DATA): 195 def Update_data_for_Newtend(INITIAL_TENDER_DATA):
186 - #INITIAL_TENDER_DATA.data.items.classification['description'] = u"Картонки" 196 + #INITIAL_TENDER_DATA.data.items[0].classification['description'] = u"Картонки"
187 INITIAL_TENDER_DATA.data.procuringEntity['name'] = u"openprocurement" 197 INITIAL_TENDER_DATA.data.procuringEntity['name'] = u"openprocurement"
188 return INITIAL_TENDER_DATA 198 return INITIAL_TENDER_DATA
Please register or login to post a comment