Showing
11 changed files
with
321 additions
and
62 deletions
@@ -19,6 +19,7 @@ eggs = | @@ -19,6 +19,7 @@ eggs = | ||
19 | robotframework-debuglibrary | 19 | robotframework-debuglibrary |
20 | robot_tests.broker.alltenders | 20 | robot_tests.broker.alltenders |
21 | robot_tests.broker.dzo | 21 | robot_tests.broker.dzo |
22 | + robot_tests.broker.25h8 | ||
22 | robot_tests.broker.ztv | 23 | robot_tests.broker.ztv |
23 | robot_tests.broker.etender | 24 | robot_tests.broker.etender |
24 | robot_tests.broker.newtend | 25 | robot_tests.broker.newtend |
@@ -33,6 +34,8 @@ eggs = | @@ -33,6 +34,8 @@ eggs = | ||
33 | robot_tests.broker.proztorg | 34 | robot_tests.broker.proztorg |
34 | robot_tests.broker.uub | 35 | robot_tests.broker.uub |
35 | robot_tests.broker.aps | 36 | robot_tests.broker.aps |
37 | + robot_tests.broker.kapitalist | ||
38 | + robot_tests.broker.pzo | ||
36 | 39 | ||
37 | interpreter = python_interpreter | 40 | interpreter = python_interpreter |
38 | # The following piece of code changes the default output format of Munch | 41 | # The following piece of code changes the default output format of Munch |
@@ -57,6 +60,7 @@ barbecue = git ${remotes:gh}openprocurement/barbecue.git | @@ -57,6 +60,7 @@ barbecue = git ${remotes:gh}openprocurement/barbecue.git | ||
57 | openprocurement_client = git ${remotes:gh}openprocurement/openprocurement.client.python.git | 60 | openprocurement_client = git ${remotes:gh}openprocurement/openprocurement.client.python.git |
58 | robot_tests.broker.alltenders = git ${remotes:gh}openprocurement/robot_tests.broker.alltenders.git | 61 | robot_tests.broker.alltenders = git ${remotes:gh}openprocurement/robot_tests.broker.alltenders.git |
59 | robot_tests.broker.dzo = git ${remotes:gh}openprocurement/robot_tests.broker.dzo.git | 62 | robot_tests.broker.dzo = git ${remotes:gh}openprocurement/robot_tests.broker.dzo.git |
63 | +robot_tests.broker.25h8 = git ${remotes:gh}openprocurement/robot_tests.broker.25h8.git | ||
60 | robot_tests.broker.ztv = git ${remotes:gh}openprocurement/robot_tests.broker.ztv.git | 64 | robot_tests.broker.ztv = git ${remotes:gh}openprocurement/robot_tests.broker.ztv.git |
61 | robot_tests.broker.etender = git ${remotes:gh}openprocurement/robot_tests.broker.etender.git | 65 | robot_tests.broker.etender = git ${remotes:gh}openprocurement/robot_tests.broker.etender.git |
62 | robot_tests.broker.newtend = git ${remotes:gh}openprocurement/robot_tests.broker.newtend.git | 66 | robot_tests.broker.newtend = git ${remotes:gh}openprocurement/robot_tests.broker.newtend.git |
@@ -71,6 +75,8 @@ robot_tests.broker.zakpro = git ${remotes:gh}openprocurement/robot_tests.b | @@ -71,6 +75,8 @@ robot_tests.broker.zakpro = git ${remotes:gh}openprocurement/robot_tests.b | ||
71 | robot_tests.broker.proztorg = git ${remotes:gh}openprocurement/robot_tests.broker.proztorg.git | 75 | robot_tests.broker.proztorg = git ${remotes:gh}openprocurement/robot_tests.broker.proztorg.git |
72 | robot_tests.broker.uub = git ${remotes:gh}openprocurement/robot_tests.broker.uub.git | 76 | robot_tests.broker.uub = git ${remotes:gh}openprocurement/robot_tests.broker.uub.git |
73 | robot_tests.broker.aps = git ${remotes:gh}openprocurement/robot_tests.broker.aps.git | 77 | robot_tests.broker.aps = git ${remotes:gh}openprocurement/robot_tests.broker.aps.git |
78 | +robot_tests.broker.kapitalist = git ${remotes:gh}openprocurement/robot_tests.broker.kapitalist.git | ||
79 | +robot_tests.broker.pzo = git ${remotes:gh}openprocurement/robot_tests.broker.pzo.git | ||
74 | 80 | ||
75 | [versions] | 81 | [versions] |
76 | Faker = 0.7.7 | 82 | Faker = 0.7.7 |
@@ -25,6 +25,17 @@ Resource resource.robot | @@ -25,6 +25,17 @@ Resource resource.robot | ||
25 | Set To Dictionary ${TENDER} TENDER_UAID=${TENDER_UAID} | 25 | Set To Dictionary ${TENDER} TENDER_UAID=${TENDER_UAID} |
26 | 26 | ||
27 | 27 | ||
28 | +Можливість перевірити завантаження документів через Document Service | ||
29 | + :FOR ${username} IN ${viewer} ${tender_owner} | ||
30 | + \ ${status}= Run Keyword And Return Status List Should Contain Value ${USERS.users['${username}'].tender_data.data} documents | ||
31 | + \ Run Keyword If ${status} Exit For Loop | ||
32 | + ${documents}= Get From Dictionary ${USERS.users['${username}'].tender_data.data} documents | ||
33 | + ${doc_number}= Get Length ${documents} | ||
34 | + :FOR ${doc_index} IN RANGE ${doc_number} | ||
35 | + \ ${document_url}= Get From Dictionary ${USERS.users['${username}'].tender_data.data.documents[${doc_index}]} url | ||
36 | + \ Should Match Regexp ${document_url} ^https?:\/\/public.docs(?:-sandbox)?\.openprocurement\.org\/get\/([0-9A-Fa-f]{32}) msg=Not a Document Service Upload | ||
37 | + | ||
38 | + | ||
28 | Можливість знайти тендер по ідентифікатору для усіх користувачів | 39 | Можливість знайти тендер по ідентифікатору для усіх користувачів |
29 | :FOR ${username} IN ${tender_owner} ${provider} ${provider1} ${viewer} | 40 | :FOR ${username} IN ${tender_owner} ${provider} ${provider1} ${viewer} |
30 | \ Можливість знайти тендер по ідентифікатору для користувача ${username} | 41 | \ Можливість знайти тендер по ідентифікатору для користувача ${username} |
@@ -9,16 +9,16 @@ ${MODE} belowThreshold | @@ -9,16 +9,16 @@ ${MODE} belowThreshold | ||
9 | 9 | ||
10 | ${NUMBER_OF_ITEMS} ${1} | 10 | ${NUMBER_OF_ITEMS} ${1} |
11 | ${NUMBER_OF_LOTS} ${1} | 11 | ${NUMBER_OF_LOTS} ${1} |
12 | -${TENDER_MEAT} ${1} | ||
13 | -${ITEM_MEAT} ${1} | ||
14 | -${LOT_MEAT} ${1} | 12 | +${TENDER_MEAT} ${0} |
13 | +${ITEM_MEAT} ${0} | ||
14 | +${LOT_MEAT} ${0} | ||
15 | ${lot_index} ${0} | 15 | ${lot_index} ${0} |
16 | ${award_index} ${0} | 16 | ${award_index} ${0} |
17 | 17 | ||
18 | *** Test Cases *** | 18 | *** Test Cases *** |
19 | 19 | ||
20 | ############################################################################################## | 20 | ############################################################################################## |
21 | -# CREATE AND FIND TENDER | 21 | +# CREATE AND FIND TENDER LOT VIEW |
22 | ############################################################################################## | 22 | ############################################################################################## |
23 | 23 | ||
24 | Можливість оголосити однопредметний тендер | 24 | Можливість оголосити однопредметний тендер |
@@ -42,6 +42,16 @@ ${award_index} ${0} | @@ -42,6 +42,16 @@ ${award_index} ${0} | ||
42 | [Setup] Дочекатись синхронізації з майданчиком ${viewer} | 42 | [Setup] Дочекатись синхронізації з майданчиком ${viewer} |
43 | Можливість знайти тендер по ідентифікатору для усіх користувачів | 43 | Можливість знайти тендер по ідентифікатору для усіх користувачів |
44 | 44 | ||
45 | + | ||
46 | +Відображення заголовку лотів | ||
47 | + [Tags] ${USERS.users['${viewer}'].broker}: Відображення лоту тендера | ||
48 | + ... viewer tender_owner provider provider1 | ||
49 | + ... ${USERS.users['${viewer}'].broker} ${USERS.users['${tender_owner}'].broker} | ||
50 | + ... ${USERS.users['${provider}'].broker} ${USERS.users['${provider1}'].broker} | ||
51 | + ... lot_view level1 | ||
52 | + ... critical | ||
53 | + Звірити відображення поля title усіх лотів для усіх користувачів | ||
54 | + | ||
45 | ############################################################################################## | 55 | ############################################################################################## |
46 | # CREATE, ANSWER AND CONFIRM CLAIM | 56 | # CREATE, ANSWER AND CONFIRM CLAIM |
47 | ############################################################################################## | 57 | ############################################################################################## |
@@ -175,16 +185,6 @@ ${award_index} ${0} | @@ -175,16 +185,6 @@ ${award_index} ${0} | ||
175 | Можливість створити вимогу про виправлення умов ${lot_index} лоту із документацією | 185 | Можливість створити вимогу про виправлення умов ${lot_index} лоту із документацією |
176 | 186 | ||
177 | 187 | ||
178 | -Відображення стосунку вимоги до лоту | ||
179 | - [Tags] ${USERS.users['${viewer}'].broker}: Відображення оскарження | ||
180 | - ... viewer | ||
181 | - ... ${USERS.users['${viewer}'].broker} | ||
182 | - ... lot_complaint | ||
183 | - ... non-critical | ||
184 | - [Setup] Дочекатись синхронізації з майданчиком ${viewer} | ||
185 | - Звірити відображення поля relatedLot вимоги про виправлення умов ${lot_index} лоту із ${USERS.users['${provider}'].lot_claim_data.claim.data.relatedLot} для користувача ${viewer} | ||
186 | - | ||
187 | - | ||
188 | Можливість відповісти на вимогу про виправлення умов лоту | 188 | Можливість відповісти на вимогу про виправлення умов лоту |
189 | [Tags] ${USERS.users['${tender_owner}'].broker}: Процес оскарження | 189 | [Tags] ${USERS.users['${tender_owner}'].broker}: Процес оскарження |
190 | ... tender_owner | 190 | ... tender_owner |
@@ -448,6 +448,19 @@ ${award_index} ${0} | @@ -448,6 +448,19 @@ ${award_index} ${0} | ||
448 | Дочекатись дати початку періоду кваліфікації ${provider1} ${TENDER['TENDER_UAID']} | 448 | Дочекатись дати початку періоду кваліфікації ${provider1} ${TENDER['TENDER_UAID']} |
449 | 449 | ||
450 | 450 | ||
451 | +Можливість підтвердити учасника | ||
452 | + [Tags] ${USERS.users['${tender_owner}'].broker}: Процес кваліфікації | ||
453 | + ... tender_owner | ||
454 | + ... ${USERS.users['${tender_owner}'].broker} | ||
455 | + ... qualification_approve_first_award level1 | ||
456 | + [Setup] Дочекатись синхронізації з майданчиком ${tender_owner} | ||
457 | + [Teardown] Оновити LAST_MODIFICATION_DATE | ||
458 | + ${file_path} ${file_name} ${file_content}= create_fake_doc | ||
459 | + Run As ${tender_owner} Завантажити документ рішення кваліфікаційної комісії ${file_path} ${TENDER['TENDER_UAID']} 0 | ||
460 | + Run As ${tender_owner} Підтвердити постачальника ${TENDER['TENDER_UAID']} 0 | ||
461 | + Remove File ${file_path} | ||
462 | + | ||
463 | + | ||
451 | Можливість створити вимогу про виправлення визначення переможця, додати до неї документацію і подати її користувачем | 464 | Можливість створити вимогу про виправлення визначення переможця, додати до неї документацію і подати її користувачем |
452 | [Tags] ${USERS.users['${provider}'].broker}: Процес оскарження | 465 | [Tags] ${USERS.users['${provider}'].broker}: Процес оскарження |
453 | ... provider | 466 | ... provider |
@@ -89,6 +89,60 @@ DZO: | @@ -89,6 +89,60 @@ DZO: | ||
89 | provider1: DZO_Provider1 | 89 | provider1: DZO_Provider1 |
90 | viewer: DZO_Viewer | 90 | viewer: DZO_Viewer |
91 | timeout_on_wait: 300 | 91 | timeout_on_wait: 300 |
92 | +b25h8: | ||
93 | + intervals: | ||
94 | + default: | ||
95 | + accelerator: 720 | ||
96 | + enquiry: [0, 50] | ||
97 | + tender: [0, 15] | ||
98 | + belowThreshold: | ||
99 | + accelerator: 60 | ||
100 | + enquiry: [0, 60] | ||
101 | + tender: [0, 15] | ||
102 | + openua: | ||
103 | + accelerator: 720 | ||
104 | + tender: [0, 70] | ||
105 | + openeu: | ||
106 | + accelerator: 720 | ||
107 | + tender: [0, 61] | ||
108 | + negotiation: | ||
109 | + accelerator: 720 | ||
110 | + enquiry: [0, 20] | ||
111 | + tender: [0, 20] | ||
112 | + keywords_file: 25h8 | ||
113 | + roles: | ||
114 | + tender_owner: u25h8_Owner | ||
115 | + provider: u25h8_Provider | ||
116 | + provider1: u25h8_Provider1 | ||
117 | + viewer: u25h8_Viewer | ||
118 | + timeout_on_wait: 180 | ||
119 | +tenderonline: | ||
120 | + intervals: | ||
121 | + default: | ||
122 | + accelerator: 720 | ||
123 | + enquiry: [0, 50] | ||
124 | + tender: [0, 15] | ||
125 | + belowThreshold: | ||
126 | + accelerator: 60 | ||
127 | + enquiry: [0, 60] | ||
128 | + tender: [0, 15] | ||
129 | + openua: | ||
130 | + accelerator: 720 | ||
131 | + tender: [0, 70] | ||
132 | + openeu: | ||
133 | + accelerator: 720 | ||
134 | + tender: [0, 62] | ||
135 | + negotiation: | ||
136 | + accelerator: 720 | ||
137 | + enquiry: [0, 20] | ||
138 | + tender: [0, 20] | ||
139 | + keywords_file: tenderonline | ||
140 | + roles: | ||
141 | + tender_owner: tenderonline_Owner | ||
142 | + provider: tenderonline_Provider | ||
143 | + provider1: tenderonline_Provider1 | ||
144 | + viewer: tenderonline_Viewer | ||
145 | + timeout_on_wait: 180 | ||
92 | ztv: | 146 | ztv: |
93 | intervals: | 147 | intervals: |
94 | default: | 148 | default: |
@@ -111,12 +165,12 @@ Newtend: | @@ -111,12 +165,12 @@ Newtend: | ||
111 | PrivatMarket: | 165 | PrivatMarket: |
112 | intervals: | 166 | intervals: |
113 | default: | 167 | default: |
114 | - enquiry: [0, 15] | ||
115 | - tender: [0, 15] | 168 | + enquiry: [0, 18] |
169 | + tender: [0, 18] | ||
116 | keywords_file: privatmarket | 170 | keywords_file: privatmarket |
117 | roles: | 171 | roles: |
118 | provider: PrivatMarket_Provider | 172 | provider: PrivatMarket_Provider |
119 | - provider1: PrivatMarket_Provider1 | 173 | + tender_owner: PrivatMarket_Owner |
120 | viewer: PrivatMarket_Viewer | 174 | viewer: PrivatMarket_Viewer |
121 | timeout_on_wait: 30 | 175 | timeout_on_wait: 30 |
122 | Prom: | 176 | Prom: |
@@ -244,14 +298,19 @@ APStender: | @@ -244,14 +298,19 @@ APStender: | ||
244 | alltenders: | 298 | alltenders: |
245 | intervals: | 299 | intervals: |
246 | default: | 300 | default: |
301 | + accelerator: 1440 | ||
302 | + enquiry: [0, 15] | ||
303 | + tender: [0, 20] | ||
304 | + belowThreshold: | ||
305 | + accelerator: 1440 | ||
247 | enquiry: [0, 10] | 306 | enquiry: [0, 10] |
248 | - tender: [0, 30] | 307 | + tender: [0, 15] |
308 | + openua: | ||
309 | + accelerator: 1440 | ||
310 | + tender: [0, 20] | ||
249 | openeu: | 311 | openeu: |
250 | - accelerator: 3600 | ||
251 | - tender: [1, 14] | ||
252 | - single: | ||
253 | - enquiry: [0, 7] | ||
254 | - tender: [0, 9] | 312 | + accelerator: 1440 |
313 | + tender: [0, 30] | ||
255 | keywords_file: alltenders | 314 | keywords_file: alltenders |
256 | homepage: 'https://prozorro.shadowy.eu/?mode=test¬ification=off' | 315 | homepage: 'https://prozorro.shadowy.eu/?mode=test¬ification=off' |
257 | roles: | 316 | roles: |
@@ -259,5 +318,42 @@ alltenders: | @@ -259,5 +318,42 @@ alltenders: | ||
259 | provider1: alltenders_Provider2 | 318 | provider1: alltenders_Provider2 |
260 | tender_owner: alltenders_Owner | 319 | tender_owner: alltenders_Owner |
261 | viewer: alltenders_Viewer | 320 | viewer: alltenders_Viewer |
262 | - timeout_on_wait: 70 | ||
263 | - | ||
321 | + timeout_on_wait: 65 | ||
322 | +Kapitalist: | ||
323 | + intervals: | ||
324 | + default: | ||
325 | + enquiry: [0, 15] | ||
326 | + tender: [0, 20] | ||
327 | + accelerator: 1440 | ||
328 | + keywords_file: kapitalist | ||
329 | + roles: | ||
330 | + tender_owner: kapitalist_Owner | ||
331 | + provider: kapitalist_Provider | ||
332 | + provider1: kapitalist_Provider1 | ||
333 | + viewer: kapitalist_Viewer | ||
334 | + timeout_on_wait: 80 | ||
335 | +pzo: | ||
336 | + intervals: | ||
337 | + default: | ||
338 | + enquiry: [0, 20] | ||
339 | + tender: [0, 20] | ||
340 | + accelerator: 1440 | ||
341 | + belowThreshold: | ||
342 | + enquiry: [0, 25] | ||
343 | + tender: [0, 25] | ||
344 | + accelerator: 180 | ||
345 | + openua: | ||
346 | + tender: [0, 25] | ||
347 | + accelerator: 1440 | ||
348 | + openeu: | ||
349 | + tender: [0, 25] | ||
350 | + accelerator: 1440 | ||
351 | + keywords_file: pzo | ||
352 | + homepage: 'http://dev.pzo.com.ua/tenders' | ||
353 | + syncpage: 'http://dev.pzo.com.ua/develop/sync?psw=369369' | ||
354 | + roles: | ||
355 | + provider: pzo_Provider1 | ||
356 | + provider1: pzo_Provider2 | ||
357 | + tender_owner: pzo_Owner | ||
358 | + viewer: pzo_Viewer | ||
359 | + timeout_on_wait: 1 |
@@ -80,6 +80,66 @@ users: | @@ -80,6 +80,66 @@ users: | ||
80 | browser: firefox | 80 | browser: firefox |
81 | position: [0, 0] | 81 | position: [0, 0] |
82 | size: [1366, 800] | 82 | size: [1366, 800] |
83 | + u25h8_Owner: | ||
84 | + broker: b25h8 | ||
85 | + homepage: "http://25h8.byustudio.in.ua" | ||
86 | + login: prozorroytenderowner@gmail.com | ||
87 | + password: 123456 | ||
88 | + browser: firefox | ||
89 | + position: [0, 0] | ||
90 | + size: [1366, 800] | ||
91 | + u25h8_Provider: | ||
92 | + broker: b25h8 | ||
93 | + homepage: "http://25h8.byustudio.in.ua" | ||
94 | + login: prozorroyprovider1@gmail.com | ||
95 | + password: 123456 | ||
96 | + browser: firefox | ||
97 | + position: [0, 0] | ||
98 | + size: [1366, 800] | ||
99 | + u25h8_Provider1: | ||
100 | + broker: b25h8 | ||
101 | + homepage: "http://25h8.byustudio.in.ua" | ||
102 | + login: prozorroyprovider2@gmail.com | ||
103 | + password: 123456 | ||
104 | + browser: firefox | ||
105 | + position: [0, 0] | ||
106 | + size: [1366, 800] | ||
107 | + u25h8_Viewer: | ||
108 | + broker: b25h8 | ||
109 | + homepage: "http://25h8.byustudio.in.ua" | ||
110 | + browser: firefox | ||
111 | + position: [0, 0] | ||
112 | + size: [1366, 800] | ||
113 | + tenderonline_Owner: | ||
114 | + broker: tenderonline | ||
115 | + homepage: "http://tender-online.com.ua" | ||
116 | + login: prozorroytenderowner@gmail.com | ||
117 | + password: 123456 | ||
118 | + browser: firefox | ||
119 | + position: [0, 0] | ||
120 | + size: [1366, 800] | ||
121 | + tenderonline_Provider: | ||
122 | + broker: tenderonline | ||
123 | + homepage: "http://tender-online.com.ua" | ||
124 | + login: prozorroyprovider1@gmail.com | ||
125 | + password: 123456 | ||
126 | + browser: firefox | ||
127 | + position: [0, 0] | ||
128 | + size: [1366, 800] | ||
129 | + tenderonline_Provider1: | ||
130 | + broker: tenderonline | ||
131 | + homepage: "http://tender-online.com.ua" | ||
132 | + login: prozorroyprovider2@gmail.com | ||
133 | + password: 123456 | ||
134 | + browser: firefox | ||
135 | + position: [0, 0] | ||
136 | + size: [1366, 800] | ||
137 | + tenderonline_Viewer: | ||
138 | + broker: tenderonline | ||
139 | + homepage: "http://tender-online.com.ua" | ||
140 | + browser: firefox | ||
141 | + position: [0, 0] | ||
142 | + size: [1366, 800] | ||
83 | ztv_Owner: | 143 | ztv_Owner: |
84 | broker: ztv | 144 | broker: ztv |
85 | homepage: "http://ztv.byustudio.in.ua/web/" | 145 | homepage: "http://ztv.byustudio.in.ua/web/" |
@@ -134,28 +194,31 @@ users: | @@ -134,28 +194,31 @@ users: | ||
134 | size: [800, 700] | 194 | size: [800, 700] |
135 | PrivatMarket_Viewer: | 195 | PrivatMarket_Viewer: |
136 | broker: PrivatMarket | 196 | broker: PrivatMarket |
137 | - homepage: "https://pmarket-rc-2.privatbank.ua/business/tenders" | 197 | + homepage: "https://rc.privatmarket.ua/business/tenders" |
198 | + email: pbecommercetest2@ukr.net | ||
199 | + login: 380270010001 | ||
200 | + password: password0001 | ||
138 | browser: chrome | 201 | browser: chrome |
139 | - position: [-1500, 0] | ||
140 | - size: [1000, 1000] | 202 | + position: [0, 0] |
203 | + size: [1920, 1080] | ||
141 | PrivatMarket_Provider: | 204 | PrivatMarket_Provider: |
142 | broker: PrivatMarket | 205 | broker: PrivatMarket |
143 | - homepage: "https://pmarket-rc-2.privatbank.ua/business/tenders" | 206 | + homepage: "https://rc.privatmarket.ua/business/tenders" |
144 | email: pbecommercetest2@ukr.net | 207 | email: pbecommercetest2@ukr.net |
145 | - login: +380639405094 | ||
146 | - password: password5094 | ||
147 | - browser: chrome | ||
148 | - position: [-1500, 0] | ||
149 | - size: [1000, 1000] | ||
150 | - PrivatMarket_Provider1: | 208 | + login: 380270010002 |
209 | + password: password0002 | ||
210 | + browser: firefox | ||
211 | + position: [0, 0] | ||
212 | + size: [1920, 1080] | ||
213 | + PrivatMarket_Owner: | ||
151 | broker: PrivatMarket | 214 | broker: PrivatMarket |
152 | - homepage: "https://pmarket-rc-2.privatbank.ua/business/tenders" | 215 | + homepage: "https://rc.privatmarket.ua/business/tenders" |
153 | email: pbecommercetest1@ukr.net | 216 | email: pbecommercetest1@ukr.net |
154 | - login: +380980704168 | ||
155 | - password: password4168 | ||
156 | - browser: chrome | ||
157 | - position: [-1500, 0] | ||
158 | - size: [1000, 1000] | 217 | + login: 380270010003 |
218 | + password: password0003 | ||
219 | + browser: firefox | ||
220 | + position: [0, 0] | ||
221 | + size: [1920, 1080] | ||
159 | Prom_Owner: | 222 | Prom_Owner: |
160 | broker: Prom | 223 | broker: Prom |
161 | homepage: "http://zakupki.dz-test.net/" | 224 | homepage: "http://zakupki.dz-test.net/" |
@@ -449,4 +512,65 @@ users: | @@ -449,4 +512,65 @@ users: | ||
449 | browser: chrome | 512 | browser: chrome |
450 | position: [0, 0] | 513 | position: [0, 0] |
451 | size: [1210, 800] | 514 | size: [1210, 800] |
452 | - | 515 | + kapitalist_Owner: |
516 | + broker: Kapitalist | ||
517 | + homepage: "https://prozorro.kapital-ist.kiev.ua/" | ||
518 | + login: qa_test@binka.me | ||
519 | + password: Password1- | ||
520 | + browser: chrome | ||
521 | + position: [0, 0] | ||
522 | + size: [1366, 800] | ||
523 | + kapitalist_Provider: | ||
524 | + broker: Kapitalist | ||
525 | + homepage: "https://prozorro.kapital-ist.kiev.ua/" | ||
526 | + login: provider_user@binka.me | ||
527 | + password: Password1- | ||
528 | + browser: chrome | ||
529 | + position: [0, 0] | ||
530 | + size: [1366, 800] | ||
531 | + kapitalist_Provider1: | ||
532 | + broker: Kapitalist | ||
533 | + homepage: "https://prozorro.kapital-ist.kiev.ua/" | ||
534 | + login: provider1_user@binka.me | ||
535 | + password: Password1- | ||
536 | + browser: chrome | ||
537 | + position: [0, 0] | ||
538 | + size: [1366, 800] | ||
539 | + kapitalist_Viewer: | ||
540 | + broker: Kapitalist | ||
541 | + homepage: "https://prozorro.kapital-ist.kiev.ua/" | ||
542 | + browser: chrome | ||
543 | + position: [0, 0] | ||
544 | + size: [1366, 800] | ||
545 | + pzo_Owner: | ||
546 | + broker: pzo | ||
547 | + homepage: "http://dev.pzo.com.ua/user/tenders" | ||
548 | + login: slam_ua@mail.ru | ||
549 | + password: 'qwe123qwe' | ||
550 | + browser: chrome | ||
551 | + position: [0, 0] | ||
552 | + size: [1000, 500] | ||
553 | + pzo_Provider: | ||
554 | + broker: pzo | ||
555 | + homepage: "http://dev.pzo.com.ua/user/bids" | ||
556 | + login: nik.urgant@mail.ru | ||
557 | + password: 'qwe123qwe' | ||
558 | + browser: chrome | ||
559 | + position: [0, 0] | ||
560 | + size: [1000, 500] | ||
561 | + pzo_Provider1: | ||
562 | + broker: pzo | ||
563 | + homepage: "http://dev.pzo.com.ua/user/bids" | ||
564 | + login: maks.sotnikov.62@mail.ru | ||
565 | + password: 'qwe123qwe' | ||
566 | + browser: chrome | ||
567 | + position: [0, 0] | ||
568 | + size: [1000, 500] | ||
569 | + pzo_Viewer: | ||
570 | + broker: pzo | ||
571 | + homepage: "http://dev.pzo.com.ua/user/tenders" | ||
572 | + login: belitskiy.vadim@mail.ru | ||
573 | + password: 'qwe123qwe' | ||
574 | + browser: chrome | ||
575 | + position: [0, 0] | ||
576 | + size: [1000, 500] |
@@ -9,7 +9,7 @@ from faker.providers.company.en_US import Provider as CompanyProviderEnUs | @@ -9,7 +9,7 @@ from faker.providers.company.en_US import Provider as CompanyProviderEnUs | ||
9 | from faker.providers.company.ru_RU import Provider as CompanyProviderRuRu | 9 | from faker.providers.company.ru_RU import Provider as CompanyProviderRuRu |
10 | from munch import munchify | 10 | from munch import munchify |
11 | from op_faker import OP_Provider | 11 | from op_faker import OP_Provider |
12 | -from .local_time import get_now | 12 | +from .local_time import get_now, TZ |
13 | 13 | ||
14 | 14 | ||
15 | fake_en = Factory.create(locale='en_US') | 15 | fake_en = Factory.create(locale='en_US') |
@@ -107,7 +107,7 @@ def test_tender_data(params, | @@ -107,7 +107,7 @@ def test_tender_data(params, | ||
107 | period_dict[period_name + "Period"] = {} | 107 | period_dict[period_name + "Period"] = {} |
108 | for i, j in zip(range(2), ("start", "end")): | 108 | for i, j in zip(range(2), ("start", "end")): |
109 | inc_dt += timedelta(minutes=params['intervals'][period_name][i]) | 109 | inc_dt += timedelta(minutes=params['intervals'][period_name][i]) |
110 | - period_dict[period_name + "Period"][j + "Date"] = inc_dt.isoformat() | 110 | + period_dict[period_name + "Period"][j + "Date"] = inc_dt.astimezone(TZ).isoformat() |
111 | data.update(period_dict) | 111 | data.update(period_dict) |
112 | cpv_group = fake.cpv()[:4] | 112 | cpv_group = fake.cpv()[:4] |
113 | if params.get('number_of_lots'): | 113 | if params.get('number_of_lots'): |
@@ -327,8 +327,8 @@ def test_item_data(cpv=None): | @@ -327,8 +327,8 @@ def test_item_data(cpv=None): | ||
327 | data["description_ru"] = field_with_id("i", data["description_ru"]) | 327 | data["description_ru"] = field_with_id("i", data["description_ru"]) |
328 | days = fake.random_int(min=1, max=30) | 328 | days = fake.random_int(min=1, max=30) |
329 | data["deliveryDate"] = { | 329 | data["deliveryDate"] = { |
330 | - "startDate": (get_now() + timedelta(days=days)).isoformat(), | ||
331 | - "endDate": (get_now() + timedelta(days=days)).isoformat() | 330 | + "startDate": (get_now() + timedelta(days=days)).astimezone(TZ).isoformat(), |
331 | + "endDate": (get_now() + timedelta(days=days)).astimezone(TZ).isoformat() | ||
332 | } | 332 | } |
333 | data["deliveryAddress"]["countryName_en"] = translate_country_en(data["deliveryAddress"]["countryName"]) | 333 | data["deliveryAddress"]["countryName_en"] = translate_country_en(data["deliveryAddress"]["countryName"]) |
334 | data["deliveryAddress"]["countryName_ru"] = translate_country_ru(data["deliveryAddress"]["countryName"]) | 334 | data["deliveryAddress"]["countryName_ru"] = translate_country_ru(data["deliveryAddress"]["countryName"]) |
@@ -405,7 +405,7 @@ def test_tender_data_openeu(params, submissionMethodDetails): | @@ -405,7 +405,7 @@ def test_tender_data_openeu(params, submissionMethodDetails): | ||
405 | data['procuringEntity']['name_en'] = fake_en.name() | 405 | data['procuringEntity']['name_en'] = fake_en.name() |
406 | data['procuringEntity']['contactPoint']['name_en'] = fake_en.name() | 406 | data['procuringEntity']['contactPoint']['name_en'] = fake_en.name() |
407 | data['procuringEntity']['contactPoint']['availableLanguage'] = "en" | 407 | data['procuringEntity']['contactPoint']['availableLanguage'] = "en" |
408 | - data['procuringEntity']['identifier']['legalName_en'] = "Institution \"Vinnytsia City Council primary and secondary general school № 10\"" | 408 | + data['procuringEntity']['identifier']['legalName_en'] = u"Institution \"Vinnytsia City Council primary and secondary general school № 10\"" |
409 | data['procuringEntity']['kind'] = 'general' | 409 | data['procuringEntity']['kind'] = 'general' |
410 | return data | 410 | return data |
411 | 411 |
@@ -674,6 +674,15 @@ ${ITEM_MEAT} ${False} | @@ -674,6 +674,15 @@ ${ITEM_MEAT} ${False} | ||
674 | Звірити відображення поля contracts[0].status тендера із pending для користувача ${viewer} | 674 | Звірити відображення поля contracts[0].status тендера із pending для користувача ${viewer} |
675 | 675 | ||
676 | 676 | ||
677 | +Відображення закінчення періоду подачі скарг на пропозицію | ||
678 | + [Tags] ${USERS.users['${tender_owner}'].broker}: Відображення основних даних тендера | ||
679 | + ... tender_owner viewer | ||
680 | + ... ${USERS.users['${tender_owner}'].broker} ${USERS.users['${viewer}'].broker} | ||
681 | + ... tender_view | ||
682 | + :FOR ${username} IN ${viewer} ${tender_owner} | ||
683 | + \ Отримати дані із тендера ${username} ${TENDER['TENDER_UAID']} awards[0].complaintPeriod.endDate | ||
684 | + | ||
685 | + | ||
677 | Можливість укласти угоду для переговорної процедури | 686 | Можливість укласти угоду для переговорної процедури |
678 | [Tags] ${USERS.users['${tender_owner}'].broker}: Можливість укласти угоду для процедури | 687 | [Tags] ${USERS.users['${tender_owner}'].broker}: Можливість укласти угоду для процедури |
679 | ... ${tender_owner} | 688 | ... ${tender_owner} |
@@ -2805,7 +2805,7 @@ | @@ -2805,7 +2805,7 @@ | ||
2805 | { | 2805 | { |
2806 | "scheme": "ДК003", | 2806 | "scheme": "ДК003", |
2807 | "id": "3475", | 2807 | "id": "3475", |
2808 | - "description": "Спортивні тренери, інструктори-методисти та професійні спортсмени" | 2808 | + "description": "Спортивні тренери, інструктори-методисти та професійні спортсмени" |
2809 | } | 2809 | } |
2810 | ], | 2810 | ], |
2811 | "classification": { | 2811 | "classification": { |
@@ -1841,6 +1841,7 @@ ${ITEM_MEAT} ${True} | @@ -1841,6 +1841,7 @@ ${ITEM_MEAT} ${True} | ||
1841 | ... viewer | 1841 | ... viewer |
1842 | ... ${USERS.users['${viewer}'].broker} | 1842 | ... ${USERS.users['${viewer}'].broker} |
1843 | ... auction_url | 1843 | ... auction_url |
1844 | + ... critical | ||
1844 | [Setup] Дочекатись дати початку періоду аукціону ${viewer} ${TENDER['TENDER_UAID']} | 1845 | [Setup] Дочекатись дати початку періоду аукціону ${viewer} ${TENDER['TENDER_UAID']} |
1845 | Можливість отримати посилання на аукціон для глядача | 1846 | Можливість отримати посилання на аукціон для глядача |
1846 | 1847 | ||
@@ -1850,6 +1851,7 @@ ${ITEM_MEAT} ${True} | @@ -1850,6 +1851,7 @@ ${ITEM_MEAT} ${True} | ||
1850 | ... provider | 1851 | ... provider |
1851 | ... ${USERS.users['${provider}'].broker} | 1852 | ... ${USERS.users['${provider}'].broker} |
1852 | ... auction_url | 1853 | ... auction_url |
1854 | + ... critical | ||
1853 | [Setup] Дочекатись синхронізації з майданчиком ${provider} | 1855 | [Setup] Дочекатись синхронізації з майданчиком ${provider} |
1854 | Можливість отримати посилання на аукціон для учасника ${provider} | 1856 | Можливість отримати посилання на аукціон для учасника ${provider} |
1855 | 1857 | ||
@@ -1859,6 +1861,7 @@ ${ITEM_MEAT} ${True} | @@ -1859,6 +1861,7 @@ ${ITEM_MEAT} ${True} | ||
1859 | ... provider1 | 1861 | ... provider1 |
1860 | ... ${USERS.users['${provider1}'].broker} | 1862 | ... ${USERS.users['${provider1}'].broker} |
1861 | ... auction_url | 1863 | ... auction_url |
1864 | + ... critical | ||
1862 | [Setup] Дочекатись синхронізації з майданчиком ${provider1} | 1865 | [Setup] Дочекатись синхронізації з майданчиком ${provider1} |
1863 | Можливість отримати посилання на аукціон для учасника ${provider1} | 1866 | Можливість отримати посилання на аукціон для учасника ${provider1} |
1864 | 1867 | ||
@@ -2004,14 +2007,7 @@ ${ITEM_MEAT} ${True} | @@ -2004,14 +2007,7 @@ ${ITEM_MEAT} ${True} | ||
2004 | 2007 | ||
2005 | Перевірка завантаження документів до тендера через Document Service | 2008 | Перевірка завантаження документів до тендера через Document Service |
2006 | [Tags] ${USERS.users['${viewer}'].broker}: Document Service | 2009 | [Tags] ${USERS.users['${viewer}'].broker}: Document Service |
2007 | - ... viewer | ||
2008 | - ... ${USERS.users['${tender_owner}'].broker} | 2010 | + ... viewer tender_owner |
2011 | + ... ${USERS.users['${viewer}'].broker} ${USERS.users['${tender_owner}'].broker} | ||
2009 | ... document_service | 2012 | ... document_service |
2010 | - [Setup] Дочекатись синхронізації з майданчиком ${viewer} | ||
2011 | - ${documents}= Get From Dictionary ${USERS.users['${tender_owner}'].tender_data.data} documents | ||
2012 | - ${doc_number}= Get Length ${documents} | ||
2013 | - Log ${documents} | ||
2014 | - :FOR ${doc_index} IN RANGE ${doc_number} | ||
2015 | - \ ${document_url}= Get From Dictionary ${documents[${doc_index}]} url | ||
2016 | - \ Should Match Regexp ${document_url} ^https?:\/\/public.docs(?:-sandbox)?\.openprocurement\.org\/get\/([0-9A-Fa-f]{32}) msg=Not a Document Service Upload | ||
2017 | - # Url pattern may differ, because document service is being developed | 2013 | + Можливість перевірити завантаження документів через Document Service |
@@ -242,7 +242,9 @@ def compute_intrs(brokers_data, used_brokers): | @@ -242,7 +242,9 @@ def compute_intrs(brokers_data, used_brokers): | ||
242 | does not contain ``Default`` entry. | 242 | does not contain ``Default`` entry. |
243 | Using `load_data_from` with ``mode='brokers'`` is recommended. | 243 | Using `load_data_from` with ``mode='brokers'`` is recommended. |
244 | """ | 244 | """ |
245 | - def recur(l, r): | 245 | + keys_to_prefer_lesser = ('accelerator',) |
246 | + | ||
247 | + def recur(l, r, prefer_greater_numbers=True): | ||
246 | l, r = deepcopy(l), deepcopy(r) | 248 | l, r = deepcopy(l), deepcopy(r) |
247 | if isinstance(l, list) and isinstance(r, list) and len(l) == len(r): | 249 | if isinstance(l, list) and isinstance(r, list) and len(l) == len(r): |
248 | lst = [] | 250 | lst = [] |
@@ -253,13 +255,15 @@ def compute_intrs(brokers_data, used_brokers): | @@ -253,13 +255,15 @@ def compute_intrs(brokers_data, used_brokers): | ||
253 | if l == r: | 255 | if l == r: |
254 | return l | 256 | return l |
255 | if l > r: | 257 | if l > r: |
256 | - return l | 258 | + return l if prefer_greater_numbers else r |
257 | if l < r: | 259 | if l < r: |
258 | - return r | 260 | + return r if prefer_greater_numbers else l |
259 | elif isinstance(l, dict) and isinstance(r, dict): | 261 | elif isinstance(l, dict) and isinstance(r, dict): |
260 | for k, v in r.iteritems(): | 262 | for k, v in r.iteritems(): |
261 | if k not in l.keys(): | 263 | if k not in l.keys(): |
262 | l[k] = v | 264 | l[k] = v |
265 | + elif k in keys_to_prefer_lesser: | ||
266 | + l[k] = recur(l[k], v, prefer_greater_numbers=False) | ||
263 | else: | 267 | else: |
264 | l[k] = recur(l[k], v) | 268 | l[k] = recur(l[k], v) |
265 | return l | 269 | return l |
Please
register
or
login
to post a comment