Commit dba4059307f564aece356c8bac8022134b660754

Authored by kosaniak
Committed by GitHub
2 parents 4f9a8dd7 6cc0bce6

Merge pull request #275 from kosaniak/auction

Auction
1 -*** Settings ***  
2 -Resource keywords.robot  
3 -Resource resource.robot  
4 -Suite Setup Test Suite Setup  
5 -Suite Teardown Test Suite Teardown  
6 -  
7 -  
8 -*** Variables ***  
9 -@{USED_ROLES} viewer  
10 -  
11 -  
12 -*** Test Cases ***  
13 -Можливість знайти закупівлю по ідентифікатору  
14 - [Tags] ${USERS.users['${viewer}'].broker}: Пошук тендера  
15 - ... ${USERS.users['${viewer}'].broker}  
16 - ... find_tender level1  
17 - Завантажити дані про тендер  
18 - Run As ${viewer} Пошук тендера по ідентифікатору ${TENDER['TENDER_UAID']}  
19 -  
20 -##############################################################################################  
21 -# AUCTION  
22 -##############################################################################################  
23 -  
24 -Відображення дати початку аукціону  
25 - [Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних аукціону  
26 - ... viewer  
27 - ... ${USERS.users['${viewer}'].broker}  
28 - ... tender_view level2  
29 - [Setup] Дочекатись дати закінчення прийому пропозицій ${viewer} ${TENDER['TENDER_UAID']}  
30 - Дочекатись дати початку періоду аукціону ${viewer} ${TENDER['TENDER_UAID']}  
31 - Отримати дані із тендера ${viewer} ${TENDER['TENDER_UAID']} auctionPeriod.startDate ${TENDER['LOT_ID']}  
32 -  
33 -  
34 -Можливість дочекатися початку аукціону  
35 - [Tags] ${USERS.users['${viewer}'].broker}: Процес аукціону  
36 - ... viewer  
37 - ... ${USERS.users['${viewer}'].broker}  
38 - ... auction  
39 - Дочекатись дати початку аукціону ${viewer}  
40 -  
41 -  
42 -Можливість вичитати посилання на аукціон для глядача  
43 - [Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних аукціону  
44 - ... viewer  
45 - ... ${USERS.users['${viewer}'].broker}  
46 - ... auction level1  
47 - Можливість вичитати посилання на аукціон для ${viewer}  
48 -  
49 -  
50 -Можливість дочекатися завершення аукціону  
51 - [Tags] ${USERS.users['${viewer}'].broker}: Процес аукціону  
52 - ... viewer  
53 - ... ${USERS.users['${viewer}'].broker}  
54 - ... auction  
55 - [Teardown] Оновити LAST_MODIFICATION_DATE  
56 - Дочекатись дати закінчення аукціону користувачем ${viewer}  
57 -  
58 -  
59 -Відображення дати завершення аукціону  
60 - [Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних аукціону  
61 - ... viewer  
62 - ... ${USERS.users['${viewer}'].broker}  
63 - ... tender_view  
64 - [Setup] Дочекатись синхронізації з майданчиком ${viewer}  
65 - Отримати дані із тендера ${viewer} ${TENDER['TENDER_UAID']} auctionPeriod.endDate ${TENDER['LOT_ID']}  
66 -  
67 -  
68 -*** Keywords ***  
69 -Дочекатись дати початку аукціону  
70 - [Arguments] ${username}  
71 - # Can't use that dirty hack here since we don't know  
72 - # the date of auction when creating the procurement :)  
73 - ${auctionStart}= Отримати дані із тендера ${username} ${TENDER['TENDER_UAID']} auctionPeriod.startDate ${TENDER['LOT_ID']}  
74 - Дочекатись дати ${auctionStart}  
75 - Оновити LAST_MODIFICATION_DATE  
76 - Дочекатись синхронізації з майданчиком ${username}  
77 -  
78 -  
79 -Можливість вичитати посилання на аукціон для ${username}  
80 - ${url}= Run As ${username} Отримати посилання на аукціон для глядача ${TENDER['TENDER_UAID']} ${TENDER['LOT_ID']}  
81 - Should Be True '${url}'  
82 - Should Match Regexp ${url} ^https?:\/\/auction(?:-sandbox)?\.openprocurement\.org\/tenders\/([0-9A-Fa-f]{32})  
83 - Log URL аукціону для глядача: ${url}  
84 -  
85 -  
86 -Відкрити сторінку аукціону для ${username}  
87 - ${url}= Run as ${username} Отримати посилання на аукціон для глядача ${TENDER['TENDER_UAID']} ${TENDER['LOT_ID']}  
88 - Open browser ${url} ${USERS.users['${username}'].browser}  
89 -  
90 -  
91 -Дочекатись дати закінчення аукціону користувачем ${username}  
92 - Відкрити сторінку аукціону для ${username}  
93 - ${status} ${_}= Run Keyword And Ignore Error Wait Until Keyword Succeeds 61 times 30 s Page should contain Аукціон завершився  
94 - Run Keyword If '${status}' == 'FAIL'  
95 - ... Run Keywords  
96 - ... Отримати дані із тендера ${username} ${TENDER['TENDER_UAID']} auctionPeriod.startDate ${TENDER['LOT_ID']}  
97 - ... AND  
98 - ... Дочекатись дати початку аукціону ${username}  
99 - ... AND  
100 - ... Дочекатись дати закінчення аукціону користувачем ${username}  
101 - ... ELSE  
102 - ... Run Keywords  
103 - ... Wait Until Keyword Succeeds 5 times 30 s Page should not contain очікуємо розкриття учасників  
104 - ... AND  
105 - ... Close browser  
  1 +*** Settings ***
  2 +Resource keywords.robot
  3 +Resource resource.robot
  4 +Suite Setup Test Suite Setup
  5 +Suite Teardown Test Suite Teardown
  6 +Library Selenium2Library
  7 +
  8 +*** Variables ***
  9 +@{USED_ROLES} viewer provider provider1
  10 +
  11 +
  12 +*** Test Cases ***
  13 +Можливість знайти закупівлю по ідентифікатору
  14 + [Tags] ${USERS.users['${viewer}'].broker}: Пошук тендера
  15 + ... ${USERS.users['${viewer}'].broker}
  16 + ... find_tender
  17 + Завантажити дані про тендер
  18 + Run As ${viewer} Пошук тендера по ідентифікатору ${TENDER['TENDER_UAID']}
  19 +
  20 +##############################################################################################
  21 +# AUCTION
  22 +##############################################################################################
  23 +
  24 +Відображення дати початку аукціону
  25 + [Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних аукціону
  26 + ... viewer
  27 + ... ${USERS.users['${viewer}'].broker}
  28 + ... tender_view
  29 + [Setup] Дочекатись дати закінчення прийому пропозицій ${viewer} ${TENDER['TENDER_UAID']}
  30 + Дочекатись дати початку періоду аукціону ${viewer} ${TENDER['TENDER_UAID']}
  31 + Отримати дані із тендера ${viewer} ${TENDER['TENDER_UAID']} auctionPeriod.startDate ${TENDER['LOT_ID']}
  32 +
  33 +
  34 +Можливість дочекатися початку аукціону
  35 + [Tags] ${USERS.users['${viewer}'].broker}: Процес аукціону
  36 + ... viewer
  37 + ... ${USERS.users['${viewer}'].broker}
  38 + ... auction
  39 + Дочекатись дати початку аукціону ${viewer}
  40 +
  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 +
  58 +Можливість вичитати посилання на аукціон для глядача
  59 + [Tags] ${USERS.users['${viewer}'].broker}: Процес аукціону
  60 + ... viewer
  61 + ... ${USERS.users['${viewer}'].broker}
  62 + ... auction
  63 + Можливість вичитати посилання на аукціон для ${viewer}
  64 +
  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 +
  168 +Можливість дочекатися завершення аукціону
  169 + [Tags] ${USERS.users['${viewer}'].broker}: Процес аукціону
  170 + ... viewer provider provider1
  171 + ... ${USERS.users['${viewer}'].broker}
  172 + ... ${USERS.users['${provider}'].broker}
  173 + ... ${USERS.users['${provider1}'].broker}
  174 + ... auction
  175 + [Teardown] Оновити LAST_MODIFICATION_DATE
  176 + Дочекатись дати закінчення аукціону
  177 +
  178 +
  179 +Відображення дати завершення аукціону
  180 + [Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних аукціону
  181 + ... viewer
  182 + ... ${USERS.users['${viewer}'].broker}
  183 + ... tender_view
  184 + [Setup] Дочекатись синхронізації з майданчиком ${viewer}
  185 + Отримати дані із тендера ${viewer} ${TENDER['TENDER_UAID']} auctionPeriod.endDate ${TENDER['LOT_ID']}
  186 +
  187 +
  188 +*** Keywords ***
  189 +Дочекатись дати початку аукціону
  190 + [Arguments] ${username}
  191 + # Can't use that dirty hack here since we don't know
  192 + # the date of auction when creating the procurement :)
  193 + ${auctionStart}= Отримати дані із тендера ${username} ${TENDER['TENDER_UAID']} auctionPeriod.startDate ${TENDER['LOT_ID']}
  194 + Дочекатись дати ${auctionStart}
  195 + Оновити LAST_MODIFICATION_DATE
  196 + Дочекатись синхронізації з майданчиком ${username}
  197 +
  198 +
  199 +Можливість вичитати посилання на аукціон для ${username}
  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']}
  202 + Should Be True '${url}'
  203 + Should Match Regexp ${url} ^https?:\/\/auction(?:-sandbox)?\.openprocurement\.org\/tenders\/([0-9A-Fa-f]{32})
  204 + Log URL: ${url}
  205 + [return] ${url}
  206 +
  207 +
  208 +Відкрити сторінку аукціону для ${username}
  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 +
  216 +
  217 +Дочекатись завершення паузи перед першим раундом
  218 + Відкрити сторінку аукціону для ${viewer}
  219 + Дочекатись паузи перед першим раундом глядачем
  220 + Дочекатись завершення паузи перед першим раундом для користувачів
  221 +
  222 +
  223 +Дочекатись дати закінчення аукціону
  224 + Переключитись на учасника ${viewer}
  225 + ${status} ${_}= Run Keyword And Ignore Error Wait Until Keyword Succeeds 61 times 30 s Page should contain Аукціон завершився
  226 + Run Keyword If '${status}' == 'FAIL'
  227 + ... Run Keywords
  228 + ... Отримати дані із тендера ${username} ${TENDER['TENDER_UAID']} auctionPeriod.startDate ${TENDER['LOT_ID']}
  229 + ... AND
  230 + ... Дочекатись дати початку аукціону ${username}
  231 + ... AND
  232 + ... Дочекатись дати закінчення аукціону для ${username}
  233 + ... ELSE
  234 + ... Run Keywords
  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 Аукціон завершився
  244 + ... AND
  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} > 250
  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}= Evaluate ${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']}
@@ -739,6 +739,8 @@ Library openprocurement_client_helper.py @@ -739,6 +739,8 @@ Library openprocurement_client_helper.py
739 Set To Dictionary ${USERS.users['${username}']} access_token=${reply['access']['token']} 739 Set To Dictionary ${USERS.users['${username}']} access_token=${reply['access']['token']}
740 Set To Dictionary ${USERS.users['${username}'].bidresponses['bid'].data} id=${reply['data']['id']} 740 Set To Dictionary ${USERS.users['${username}'].bidresponses['bid'].data} id=${reply['data']['id']}
741 Log ${reply_active} 741 Log ${reply_active}
  742 + Set To Dictionary ${USERS.users['${username}']} bid_id=${reply['data']['id']}
  743 + Log ${reply}
742 744
743 745
744 Змінити цінову пропозицію 746 Змінити цінову пропозицію
@@ -800,8 +802,8 @@ Library openprocurement_client_helper.py @@ -800,8 +802,8 @@ Library openprocurement_client_helper.py
800 Отримати пропозицію 802 Отримати пропозицію
801 [Arguments] ${username} ${tender_uaid} 803 [Arguments] ${username} ${tender_uaid}
802 ${tender}= openprocurement_client.Пошук тендера по ідентифікатору ${username} ${tender_uaid} 804 ${tender}= openprocurement_client.Пошук тендера по ідентифікатору ${username} ${tender_uaid}
803 - ${bid_id}= Get Variable Value ${USERS.users['${username}'].bidresponses['bid'].data.id}  
804 - ${token}= Get Variable Value ${USERS.users['${username}']['access_token']} 805 + ${bid_id}= Get Variable Value ${USERS.users['${username}'].bid_id}
  806 + ${token}= Get Variable Value ${USERS.users['${username}'].access_token}
805 ${reply}= Call Method ${USERS.users['${username}'].client} get_bid ${tender} ${bid_id} ${token} 807 ${reply}= Call Method ${USERS.users['${username}'].client} get_bid ${tender} ${bid_id} ${token}
806 ${reply}= munch_dict arg=${reply} 808 ${reply}= munch_dict arg=${reply}
807 [return] ${reply} 809 [return] ${reply}
@@ -3,23 +3,37 @@ users: @@ -3,23 +3,37 @@ users:
3 api_key: e9c3ccb8e8124f26941d5f9639a4ebc3 3 api_key: e9c3ccb8e8124f26941d5f9639a4ebc3
4 broker: Quinta 4 broker: Quinta
5 auth_edr: [test.quintagroup.com, f5111c99a97a45348d8165ba8fcf0d62] 5 auth_edr: [test.quintagroup.com, f5111c99a97a45348d8165ba8fcf0d62]
  6 + browser: phantomjs
  7 + position: [0, 0]
  8 + size: [1400, 900]
6 Tender_User: 9 Tender_User:
7 api_key: e9c3ccb8e8124f26941d5f9639a4ebc3 10 api_key: e9c3ccb8e8124f26941d5f9639a4ebc3
8 broker: Quinta 11 broker: Quinta
9 auth_edr: [test.quintagroup.com, f5111c99a97a45348d8165ba8fcf0d62] 12 auth_edr: [test.quintagroup.com, f5111c99a97a45348d8165ba8fcf0d62]
  13 + browser: phantomjs
  14 + position: [0, 0]
  15 + size: [1400, 900]
10 Tender_User1: 16 Tender_User1:
11 api_key: e9c3ccb8e8124f26941d5f9639a4ebc3 17 api_key: e9c3ccb8e8124f26941d5f9639a4ebc3
12 broker: Quinta 18 broker: Quinta
13 auth_edr: [test.quintagroup.com, f5111c99a97a45348d8165ba8fcf0d62] 19 auth_edr: [test.quintagroup.com, f5111c99a97a45348d8165ba8fcf0d62]
  20 + browser: phantomjs
  21 + position: [0, 0]
  22 + size: [1400, 900]
14 Tender_User2: 23 Tender_User2:
15 api_key: e9c3ccb8e8124f26941d5f9639a4ebc3 24 api_key: e9c3ccb8e8124f26941d5f9639a4ebc3
16 broker: Quinta 25 broker: Quinta
17 auth_edr: [test.quintagroup.com, f5111c99a97a45348d8165ba8fcf0d62] 26 auth_edr: [test.quintagroup.com, f5111c99a97a45348d8165ba8fcf0d62]
  27 + browser: phantomjs
  28 + position: [0, 0]
  29 + size: [1400, 900]
18 Tender_Viewer: 30 Tender_Viewer:
19 api_key: "" 31 api_key: ""
20 broker: Quinta 32 broker: Quinta
21 browser: firefox 33 browser: firefox
22 auth_edr: [test.quintagroup.com, f5111c99a97a45348d8165ba8fcf0d62] 34 auth_edr: [test.quintagroup.com, f5111c99a97a45348d8165ba8fcf0d62]
  35 + position: [0, 0]
  36 + size: [1400, 900]
23 Etender_Owner: 37 Etender_Owner:
24 broker: Etender 38 broker: Etender
25 homepage: "http://bid.uat.e-tender.biz/#/" 39 homepage: "http://bid.uat.e-tender.biz/#/"
@@ -70,7 +70,7 @@ def test_tender_data(params, @@ -70,7 +70,7 @@ def test_tender_data(params,
70 submissionMethodDetails = submissionMethodDetails \ 70 submissionMethodDetails = submissionMethodDetails \
71 if submissionMethodDetails else "quick" 71 if submissionMethodDetails else "quick"
72 now = get_now() 72 now = get_now()
73 - value_amount = round(random.uniform(3000, 99999999999.99), 2) # max value equals to budget of Ukraine in hryvnias 73 + value_amount = round(random.uniform(3000, 99999999.99), 2) # max value equals to budget of Ukraine in hryvnias
74 data = { 74 data = {
75 "mode": "test", 75 "mode": "test",
76 "submissionMethodDetails": submissionMethodDetails, 76 "submissionMethodDetails": submissionMethodDetails,
@@ -298,7 +298,7 @@ def test_bid_value(max_value_amount): @@ -298,7 +298,7 @@ def test_bid_value(max_value_amount):
298 return munchify({ 298 return munchify({
299 "value": { 299 "value": {
300 "currency": "UAH", 300 "currency": "UAH",
301 - "amount": round(random.uniform(1, max_value_amount), 2), 301 + "amount": round(random.uniform((0.95 * max_value_amount), max_value_amount), 2),
302 "valueAddedTaxIncluded": True 302 "valueAddedTaxIncluded": True
303 } 303 }
304 }) 304 })
@@ -174,6 +174,8 @@ Get Broker Property By Username @@ -174,6 +174,8 @@ Get Broker Property By Username
174 Run Keyword And Ignore Error Set To Dictionary ${artifact} tender_owner_access_token=${USERS.users['${tender_owner}'].access_token} 174 Run Keyword And Ignore Error Set To Dictionary ${artifact} tender_owner_access_token=${USERS.users['${tender_owner}'].access_token}
175 Run Keyword And Ignore Error Set To Dictionary ${artifact} provider_access_token=${USERS.users['${provider}'].access_token} 175 Run Keyword And Ignore Error Set To Dictionary ${artifact} provider_access_token=${USERS.users['${provider}'].access_token}
176 Run Keyword And Ignore Error Set To Dictionary ${artifact} provider1_access_token=${USERS.users['${provider1}'].access_token} 176 Run Keyword And Ignore Error Set To Dictionary ${artifact} provider1_access_token=${USERS.users['${provider1}'].access_token}
  177 + Run Keyword And Ignore Error Set To Dictionary ${artifact} provider_bid_id=${USERS.users['${provider}'].bid_id}
  178 + Run Keyword And Ignore Error Set To Dictionary ${artifact} provider1_bid_id=${USERS.users['${provider1}'].bid_id}
177 ${status} ${lots_ids}= Run Keyword And Ignore Error Отримати ідентифікатори об’єктів ${viewer} lots 179 ${status} ${lots_ids}= Run Keyword And Ignore Error Отримати ідентифікатори об’єктів ${viewer} lots
178 Run Keyword If '${status}'=='PASS' 180 Run Keyword If '${status}'=='PASS'
179 ... Set To Dictionary ${artifact} lots=${lots_ids} 181 ... Set To Dictionary ${artifact} lots=${lots_ids}
@@ -195,6 +197,8 @@ Get Broker Property By Username @@ -195,6 +197,8 @@ Get Broker Property By Username
195 Run Keyword And Ignore Error Set To Dictionary ${USERS.users['${tender_owner}']} access_token=${ARTIFACT.tender_owner_access_token} 197 Run Keyword And Ignore Error Set To Dictionary ${USERS.users['${tender_owner}']} access_token=${ARTIFACT.tender_owner_access_token}
196 Run Keyword And Ignore Error Set To Dictionary ${USERS.users['${provider}']} access_token=${ARTIFACT.provider_access_token} 198 Run Keyword And Ignore Error Set To Dictionary ${USERS.users['${provider}']} access_token=${ARTIFACT.provider_access_token}
197 Run Keyword And Ignore Error Set To Dictionary ${USERS.users['${provider1}']} access_token=${ARTIFACT.provider1_access_token} 199 Run Keyword And Ignore Error Set To Dictionary ${USERS.users['${provider1}']} access_token=${ARTIFACT.provider1_access_token}
  200 + Run Keyword And Ignore Error Set To Dictionary ${USERS.users['${provider}']} bid_id=${ARTIFACT.provider_bid_id}
  201 + Run Keyword And Ignore Error Set To Dictionary ${USERS.users['${provider1}']} bid_id=${ARTIFACT.provider1_bid_id}
198 Set Suite Variable ${MODE} 202 Set Suite Variable ${MODE}
199 Set Suite Variable ${lot_index} 203 Set Suite Variable ${lot_index}
200 Set Suite Variable ${TENDER} 204 Set Suite Variable ${TENDER}
@@ -1391,6 +1391,15 @@ ${ITEM_MEAT} ${True} @@ -1391,6 +1391,15 @@ ${ITEM_MEAT} ${True}
1391 Можливість подати цінову пропозицію користувачем ${provider1} 1391 Можливість подати цінову пропозицію користувачем ${provider1}
1392 1392
1393 1393
  1394 +Можливість зменшити пропозицію на 5% другим учасником
  1395 + [Tags] ${USERS.users['${provider1}'].broker}: Подання пропозиції
  1396 + ... provider1
  1397 + ... ${USERS.users['${provider1}'].broker}
  1398 + ... modify_bid_by_provider1
  1399 + [Teardown] Оновити LAST_MODIFICATION_DATE
  1400 + Можливість зменшити пропозицію до 95 відсотків користувачем ${provider1}
  1401 +
  1402 +
1394 Можливість подати пропозицію третім учасником 1403 Можливість подати пропозицію третім учасником
1395 [Tags] ${USERS.users['${provider1}'].broker}: Подання пропозиції 1404 [Tags] ${USERS.users['${provider1}'].broker}: Подання пропозиції
1396 ... provider2 1405 ... provider2
@@ -551,3 +551,6 @@ def generate_test_bid_data_second_stage(tender_data, index='0'): @@ -551,3 +551,6 @@ def generate_test_bid_data_second_stage(tender_data, index='0'):
551 parameter = {"value": fake.random_element(elements=(0.05, 0.01, 0)), "code": feature.get('code', '')} 551 parameter = {"value": fake.random_element(elements=(0.05, 0.01, 0)), "code": feature.get('code', '')}
552 bid.data.parameters.append(parameter) 552 bid.data.parameters.append(parameter)
553 return bid 553 return bid
  554 +
  555 +def convert_amount_string_to_float(amount_string):
  556 + return float(amount_string.replace(' ', '').replace(',', '.'))
@@ -15,6 +15,7 @@ @@ -15,6 +15,7 @@
15 15
16 -i make_bid_by_provider 16 -i make_bid_by_provider
17 -i make_bid_by_provider1 17 -i make_bid_by_provider1
  18 +-i modify_bid_by_provider1
18 19
19 -i auction 20 -i auction
20 21
Please register or login to post a comment