Commit ebdef4f84bdc17ad19e5c139904e5a9cfe85cd7b

Authored by kosaniak
1 parent 4f9a8dd7

Add auction.robot

... ... @@ -3,17 +3,17 @@ Resource keywords.robot
3 3 Resource resource.robot
4 4 Suite Setup Test Suite Setup
5 5 Suite Teardown Test Suite Teardown
6   -
  6 +Library Selenium2Library
7 7
8 8 *** Variables ***
9   -@{USED_ROLES} viewer
  9 +@{USED_ROLES} viewer provider provider1
10 10
11 11
12 12 *** Test Cases ***
13 13 Можливість знайти закупівлю по ідентифікатору
14 14 [Tags] ${USERS.users['${viewer}'].broker}: Пошук тендера
15 15 ... ${USERS.users['${viewer}'].broker}
16   - ... find_tender level1
  16 + ... find_tender
17 17 Завантажити дані про тендер
18 18 Run As ${viewer} Пошук тендера по ідентифікатору ${TENDER['TENDER_UAID']}
19 19
... ... @@ -25,7 +25,7 @@ Suite Teardown Test Suite Teardown
25 25 [Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних аукціону
26 26 ... viewer
27 27 ... ${USERS.users['${viewer}'].broker}
28   - ... tender_view level2
  28 + ... tender_view
29 29 [Setup] Дочекатись дати закінчення прийому пропозицій ${viewer} ${TENDER['TENDER_UAID']}
30 30 Дочекатись дати початку періоду аукціону ${viewer} ${TENDER['TENDER_UAID']}
31 31 Отримати дані із тендера ${viewer} ${TENDER['TENDER_UAID']} auctionPeriod.startDate ${TENDER['LOT_ID']}
... ... @@ -39,21 +39,141 @@ Suite Teardown Test Suite Teardown
39 39 Дочекатись дати початку аукціону ${viewer}
40 40
41 41
  42 +Можливість вичитати посилання на аукціон для першого учасника
  43 + [Tags] ${USERS.users['${provider}'].broker}: Процес аукціону
  44 + ... provider
  45 + ... ${USERS.users['${provider}'].broker}
  46 + ... auction
  47 + Можливість вичитати посилання на аукціон для ${provider}
  48 +
  49 +
  50 +Можливість вичитати посилання на аукціон для другого учасника
  51 + [Tags] ${USERS.users['${provider1}'].broker}: Процес аукціону
  52 + ... provider1
  53 + ... ${USERS.users['${provider1}'].broker}
  54 + ... auction
  55 + Можливість вичитати посилання на аукціон для ${provider1}
  56 +
  57 +
42 58 Можливість вичитати посилання на аукціон для глядача
43   - [Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних аукціону
  59 + [Tags] ${USERS.users['${viewer}'].broker}: Процес аукціону
44 60 ... viewer
45 61 ... ${USERS.users['${viewer}'].broker}
46   - ... auction level1
  62 + ... auction
47 63 Можливість вичитати посилання на аукціон для ${viewer}
48 64
49 65
  66 +Можливість дочекатись першого раунду
  67 + [Tags] ${USERS.users['${viewer}'].broker}: Процес аукціону
  68 + ... viewer provider provider1
  69 + ... ${USERS.users['${viewer}'].broker}
  70 + ... ${USERS.users['${provider}'].broker}
  71 + ... ${USERS.users['${provider1}'].broker}
  72 + ... auction
  73 + Дочекатись завершення паузи перед першим раундом
  74 +
  75 +
  76 +Можливість проведення 1 го раунду аукціону для першого учасника
  77 + [Tags] ${USERS.users['${provider}'].broker}: Процес аукціону
  78 + ... provider
  79 + ... ${USERS.users['${provider}'].broker}
  80 + ... auction
  81 + Вибрати учасника, який може зробити ставку
  82 + Поставити максимально можливу ставку
  83 + Дочекатись учасником закінчення стадії ставок
  84 + Перевірити чи ставка була прийнята
  85 +
  86 +
  87 +Можливість проведення 1 го раунду аукціону для другого учасника
  88 + [Tags] ${USERS.users['${provider1}'].broker}: Процес аукціону
  89 + ... provider1
  90 + ... ${USERS.users['${provider1}'].broker}
  91 + ... auction
  92 + Вибрати учасника, який може зробити ставку
  93 + Поставити ставку більшу від максимальної на 1 грн
  94 + Поставити максимально можливу ставку
  95 + Дочекатись учасником закінчення стадії ставок
  96 + Перевірити чи ставка була прийнята
  97 +
  98 +
  99 +Можливість дочекатись другого раунду
  100 + [Tags] ${USERS.users['${viewer}'].broker}: Процес аукціону
  101 + ... viewer provider provider1
  102 + ... ${USERS.users['${viewer}'].broker}
  103 + ... ${USERS.users['${provider}'].broker}
  104 + ... ${USERS.users['${provider1}'].broker}
  105 + ... auction
  106 + Дочекатись завершення паузи перед 2 раундом
  107 +
  108 +
  109 +Можливість проведення 2 го раунду аукціону для першого учасника
  110 + [Tags] ${USERS.users['${provider}'].broker}: Процес аукціону
  111 + ... provider
  112 + ... ${USERS.users['${provider}'].broker}
  113 + ... auction
  114 + Вибрати учасника, який може зробити ставку
  115 + Поставити малу ставку в 1 грн
  116 + Відмінитити ставку
  117 + Поставити максимально можливу ставку
  118 + Дочекатись учасником закінчення стадії ставок
  119 + Перевірити чи ставка була прийнята
  120 +
  121 +
  122 +Можливість проведення 2 го раунду аукціону для другого учасника
  123 + [Tags] ${USERS.users['${provider1}'].broker}: Процес аукціону
  124 + ... provider1
  125 + ... ${USERS.users['${provider1}'].broker}
  126 + ... auction
  127 + Дочекатись учасником закінчення стадії ставок
  128 + Вибрати учасника, який може зробити ставку
  129 + Поставити максимально можливу ставку
  130 + Дочекатись учасником закінчення стадії ставок
  131 + Перевірити чи ставка була прийнята
  132 +
  133 +
  134 +Можливість дочекатись третього раунду
  135 + [Tags] ${USERS.users['${viewer}'].broker}: Процес аукціону
  136 + ... viewer provider provider1
  137 + ... ${USERS.users['${viewer}'].broker}
  138 + ... ${USERS.users['${provider}'].broker}
  139 + ... ${USERS.users['${provider1}'].broker}
  140 + ... auction
  141 + Дочекатись завершення паузи перед 3 раундом
  142 +
  143 +
  144 +Можливість проведення 3 го раунду аукціону для першого учасника
  145 + [Tags] ${USERS.users['${provider}'].broker}: Процес аукціону
  146 + ... provider
  147 + ... ${USERS.users['${provider}'].broker}
  148 + ... auction
  149 + Вибрати учасника, який може зробити ставку
  150 + Поставити нульову ставку
  151 + Поставити максимально можливу ставку
  152 + Дочекатись учасником закінчення стадії ставок
  153 + Перевірити чи ставка була прийнята
  154 +
  155 +
  156 +Можливість проведення 3 го раунду аукціону для другого учасника
  157 + [Tags] ${USERS.users['${provider1}'].broker}: Процес аукціону
  158 + ... provider1
  159 + ... ${USERS.users['${provider1}'].broker}
  160 + ... auction
  161 + Вибрати учасника, який може зробити ставку
  162 + Поставити малу ставку в 1 грн
  163 + Змінити ставку на максимальну
  164 + Дочекатись учасником закінчення стадії ставок
  165 + Перевірити чи ставка була прийнята
  166 +
  167 +
50 168 Можливість дочекатися завершення аукціону
51 169 [Tags] ${USERS.users['${viewer}'].broker}: Процес аукціону
52   - ... viewer
  170 + ... viewer provider provider1
53 171 ... ${USERS.users['${viewer}'].broker}
  172 + ... ${USERS.users['${provider}'].broker}
  173 + ... ${USERS.users['${provider1}'].broker}
54 174 ... auction
55 175 [Teardown] Оновити LAST_MODIFICATION_DATE
56   - Дочекатись дати закінчення аукціону користувачем ${viewer}
  176 + Дочекатись дати закінчення аукціону
57 177
58 178
59 179 Відображення дати завершення аукціону
... ... @@ -77,19 +197,31 @@ Suite Teardown Test Suite Teardown
77 197
78 198
79 199 Можливість вичитати посилання на аукціон для ${username}
80   - ${url}= Run As ${username} Отримати посилання на аукціон для глядача ${TENDER['TENDER_UAID']} ${TENDER['LOT_ID']}
  200 + ${url}= Run Keyword If '${username}' == '${viewer}' Run As ${viewer} Отримати посилання на аукціон для глядача ${TENDER['TENDER_UAID']} ${TENDER['LOT_ID']}
  201 + ... ELSE Run As ${username} Отримати посилання на аукціон для учасника ${TENDER['TENDER_UAID']} ${TENDER['LOT_ID']}
81 202 Should Be True '${url}'
82 203 Should Match Regexp ${url} ^https?:\/\/auction(?:-sandbox)?\.openprocurement\.org\/tenders\/([0-9A-Fa-f]{32})
83   - Log URL аукціону для глядача: ${url}
  204 + Log URL: ${url}
  205 + [return] ${url}
84 206
85 207
86 208 Відкрити сторінку аукціону для ${username}
87   - ${url}= Run as ${username} Отримати посилання на аукціон для глядача ${TENDER['TENDER_UAID']} ${TENDER['LOT_ID']}
88   - Open browser ${url} ${USERS.users['${username}'].browser}
  209 + ${url}= Можливість вичитати посилання на аукціон для ${username}
  210 + Open browser ${url} ${USERS.users['${username}'].browser} ${username}
  211 + Set Window Position @{USERS['${username}']['position']}
  212 + Set Window Size @{USERS['${username}']['size']}
  213 + Run Keyword Unless '${username}' == '${viewer}'
  214 + ... Click Element xpath=//button[contains(@class, 'btn btn-success')]
  215 +
89 216
  217 +Дочекатись завершення паузи перед першим раундом
  218 + Відкрити сторінку аукціону для ${viewer}
  219 + Дочекатись паузи перед першим раундом глядачем
  220 + Дочекатись завершення паузи перед першим раундом для користувачів
90 221
91   -Дочекатись дати закінчення аукціону користувачем ${username}
92   - Відкрити сторінку аукціону для ${username}
  222 +
  223 +Дочекатись дати закінчення аукціону
  224 + Переключитись на учасника ${viewer}
93 225 ${status} ${_}= Run Keyword And Ignore Error Wait Until Keyword Succeeds 61 times 30 s Page should contain Аукціон завершився
94 226 Run Keyword If '${status}' == 'FAIL'
95 227 ... Run Keywords
... ... @@ -97,9 +229,148 @@ Suite Teardown Test Suite Teardown
97 229 ... AND
98 230 ... Дочекатись дати початку аукціону ${username}
99 231 ... AND
100   - ... Дочекатись дати закінчення аукціону користувачем ${username}
  232 + ... Дочекатись дати закінчення аукціону для ${username}
101 233 ... ELSE
102 234 ... Run Keywords
103   - ... Wait Until Keyword Succeeds 5 times 30 s Page should not contain очікуємо розкриття учасників
  235 + ... Wait Until Keyword Succeeds 15 times 30 s Page should not contain Очікуємо на розкриття імен учасників
  236 + ... AND
  237 + ... Переключитись на учасника ${provider}
  238 + ... AND
  239 + ... Page should contain Аукціон завершився
  240 + ... AND
  241 + ... Переключитись на учасника ${provider1}
  242 + ... AND
  243 + ... Page should contain Аукціон завершився
104 244 ... AND
105 245 ... Close browser
  246 +
  247 +
  248 +Дочекатись паузи перед першим раундом глядачем
  249 + ${status} ${_}= Run Keyword And Ignore Error Page should contain Очікування
  250 + Run Keyword If '${status}' == 'PASS'
  251 + ... Run Keywords
  252 + ... Дочекатись дати початку аукціону ${viewer}
  253 + ... AND
  254 + ... Wait Until Keyword Succeeds 15 times 10 s Page should contain до початку раунду
  255 +
  256 +
  257 +Дочекатись завершення паузи перед ${round_number} раундом
  258 + Переключитись на учасника ${viewer}
  259 + Wait Until Keyword Succeeds 30 times 5s Page should contain → ${round_number}
  260 + ${date}= Get Current Date
  261 + Переключитись на учасника ${provider}
  262 + Page should contain → ${round_number}
  263 + Переключитись на учасника ${provider1}
  264 + Page should contain → ${round_number}
  265 + Переключитись на учасника ${viewer}
  266 + Wait Until Keyword Succeeds 30 times 5 s Page should not contain → ${round_number}
  267 + ${new_date}= Get Current Date
  268 + Переключитись на учасника ${provider}
  269 + Page should not contain → ${round_number}
  270 + Переключитись на учасника ${provider1}
  271 + Page should not contain → ${round_number}
  272 + ${time}= Subtract Date From Date ${new_date} ${date}
  273 + Should Be True ${time} < 140 and ${time} > 100
  274 +
  275 +
  276 +Дочекатись завершення паузи перед першим раундом для користувачів
  277 + Wait Until Keyword Succeeds 30 times 5s Page should contain → 1
  278 + ${date}= Get Current Date
  279 + Відкрити сторінку аукціону для ${provider}
  280 + Відкрити сторінку аукціону для ${provider1}
  281 + Переключитись на учасника ${viewer}
  282 + Wait Until Keyword Succeeds 62 times 5 s Page should not contain → 1
  283 + ${new_date}= Get Current Date
  284 + ${time}= Subtract Date From Date ${new_date} ${date}
  285 + Should Be True ${time} < 310 and ${time} > 260
  286 + Переключитись на учасника ${provider}
  287 + Page should not contain → 1
  288 + Переключитись на учасника ${provider1}
  289 + Page should not contain → 1
  290 +
  291 +
  292 +Дочекатись закінчення стадії ставок глядачем
  293 + Wait Until Keyword Succeeds 30 times 5s Page should contain до закінчення раунду
  294 + ${date}= Get Current Date
  295 + Wait Until Keyword Succeeds 50 times 5 s Page should not contain до закінчення раунду
  296 + ${new_date}= Get Current Date
  297 + ${time}= Subtract Date From Date ${new_date} ${date}
  298 + Should Be True ${time} < 250 and ${time} > 210
  299 +
  300 +
  301 +Дочекатись учасником закінчення стадії ставок
  302 + Wait Until Keyword Succeeds 12 times 10 s Page should not contain до закінчення вашої черги
  303 +
  304 +
  305 +Дочекатись оголошення результатів глядачем
  306 + Wait Until Keyword Succeeds 30 times 5s Page should contain до оголошення результатів
  307 + ${date}= Get Current Date
  308 + Wait Until Keyword Succeeds 50 times 5 s Page should not contain до оголошення результатів
  309 + ${new_date}= Get Current Date
  310 + ${time}= Subtract Date From Date ${new_date} ${date}
  311 + Should Be True ${time} < 250 and ${time} > 210
  312 +
  313 +
  314 +Переключитись на учасника
  315 + [Arguments] ${username}
  316 + Switch Browser ${username}
  317 + ${CURRENT_USER}= Set Variable ${username}
  318 + Set Global Variable ${CURRENT_USER}
  319 +
  320 +
  321 +Поставити максимально можливу ставку
  322 + Wait Until Page Contains Element id=max_bid_amount_price
  323 + ${last_amount}= Get Text id=max_bid_amount_price
  324 + Поставити ставку ${last_amount} Заявку прийнято
  325 +
  326 +
  327 +Поставити ставку більшу від максимальної на ${extra_amount} грн
  328 + Wait Until Page Contains Element id=max_bid_amount_price
  329 + ${last_amount}= Get Text id=max_bid_amount_price
  330 + ${last_amount}= convert_amount_string_to_float ${last_amount}
  331 + ${extra_amount}= convert_amount_string_to_float ${extra_amount}
  332 + ${last_amount}= add_and_round ${last_amount} ${extra_amount}
  333 + Поставити ставку ${last_amount} Надто висока заявка
  334 +
  335 +
  336 +Поставити ставку
  337 + [Arguments] ${amount} ${msg}
  338 + ${amount}= Convert To String ${amount}
  339 + Set To Dictionary ${USERS['${CURRENT_USER}']} last_amount=${amount}
  340 + Click Element id=clear-bid-button
  341 + Wait Until Page Does Not Contain Element xpath=//alert[contains(@class, 'bids-form')] 7s
  342 + Input Text id=bid-amount-input ${amount}
  343 + Click Element id=place-bid-button
  344 + Wait Until Page Contains ${msg} 30s
  345 +
  346 +
  347 +Відмінитити ставку
  348 + Click Element id=cancel-bid-button
  349 + Wait Until Page Contains Заявку відмінено 10s
  350 +
  351 +
  352 +Змінити ставку на максимальну
  353 + Click Element id=edit-bid-button
  354 + Click Element id=clear-bid-button
  355 + Поставити максимально можливу ставку
  356 +
  357 +
  358 +Вибрати учасника, який може зробити ставку
  359 + :FOR ${username} IN ${provider} ${provider1}
  360 + \ Переключитись на учасника ${username}
  361 + \ ${status} ${_}= Run Keyword And Ignore Error Page Should Contain до закінчення вашої черги
  362 + \ Run Keyword If '${status}' == 'PASS' Exit For Loop
  363 +
  364 +
  365 +Поставити малу ставку в ${last_amount} грн
  366 + Wait Until Page Contains Element id=max_bid_amount_price
  367 + Поставити ставку ${last_amount} Ви ввели дуже малу суму
  368 +
  369 +
  370 +Поставити нульову ставку
  371 + Wait Until Page Contains Element id=max_bid_amount_price
  372 + Поставити ставку 0 Bid amount is required
  373 +
  374 +
  375 +Перевірити чи ставка була прийнята
  376 + Page Should Contain ${USERS['${CURRENT_USER}']['last_amount']}
... ...
Please register or login to post a comment