Commit 3a181e21ad9472e528e5e34d42a4f699310fc8cf
Merge branch 'master' of https://github.com/openprocurement/robot_tests into playing_with_Get_tender
Conflicts: op_robot_tests/tests_files/brokers/openprocurement_client.robot
Showing
13 changed files
with
500 additions
and
372 deletions
... | ... | @@ -42,6 +42,7 @@ robot_tests.broker.newtend = git ${remotes:gh}openprocurement/robot_tests.b |
42 | 42 | robot_tests.broker.privatmarket = git ${remotes:gh}openprocurement/robot_tests.broker.privatmarket.git |
43 | 43 | robot_tests.broker.prom = git ${remotes:gh}openprocurement/robot_tests.broker.prom.git |
44 | 44 | robot_tests.broker.publicbid = git ${remotes:gh}openprocurement/robot_tests.broker.publicbid.git |
45 | +robot_tests.broker.publicportal = git ${remotes:gh}openprocurement/robot_tests.broker.publicportal.git | |
45 | 46 | robot_tests.broker.smarttender = git ${remotes:gh}openprocurement/robot_tests.broker.smarttender.git |
46 | 47 | |
47 | 48 | [versions] | ... | ... |
... | ... | @@ -4,28 +4,27 @@ Library openprocurement_client_helper.py |
4 | 4 | |
5 | 5 | *** Keywords *** |
6 | 6 | Отримати internal id по UAid |
7 | - [Arguments] @{ARGUMENTS} | |
8 | - [Documentation] | |
9 | - ... ${ARGUMENTS[0]} == username | |
10 | - ... ${ARGUMENTS[1]} == tenderid | |
7 | + [Arguments] ${username} ${tender_uid} | |
11 | 8 | Log Many @{ARGUMENTS} |
12 | 9 | Log Many ${ID_MAP} |
13 | - ${status}= Run Keyword And Return Status Dictionary Should Contain Key ${ID_MAP} ${ARGUMENTS[1]} | |
14 | - Run Keyword And Return If ${status} Get From Dictionary ${ID_MAP} ${ARGUMENTS[1]} | |
15 | - ${tenders}= get_tenders ${USERS.users['${ARGUMENTS[0]}'].client} | |
10 | + ${status}= Run Keyword And Return Status Dictionary Should Contain Key ${ID_MAP} ${tender_uid} | |
11 | + Run Keyword And Return If ${status} Get From Dictionary ${ID_MAP} ${tender_uid} | |
12 | + ${tenders}= get_tenders ${USERS.users['${username}'].client} | |
16 | 13 | Log Many @{tenders} |
17 | 14 | :FOR ${tender} IN @{tenders} |
18 | 15 | \ Set To Dictionary ${ID_MAP} ${tender.tenderID} ${tender.id} |
19 | 16 | Log Many ${ID_MAP} |
20 | - Dictionary Should Contain Key ${ID_MAP} ${ARGUMENTS[1]} | |
21 | - Run Keyword And Return Get From Dictionary ${ID_MAP} ${ARGUMENTS[1]} | |
17 | + Dictionary Should Contain Key ${ID_MAP} ${tender_uid} | |
18 | + Run Keyword And Return Get From Dictionary ${ID_MAP} ${tender_uid} | |
22 | 19 | |
23 | 20 | |
24 | 21 | Підготувати клієнт для користувача |
25 | - [Arguments] @{ARGUMENTS} | |
22 | + [Arguments] ${username} | |
26 | 23 | [Documentation] Відкрити браузер, створити об’єкт api wrapper, тощо |
27 | - ${api_wrapper}= prepare_api_wrapper ${USERS.users['${ARGUMENTS[0]}'].api_key} ${API_HOST_URL} ${api_version} | |
28 | - Set To Dictionary ${USERS.users['${ARGUMENTS[0]}']} client ${api_wrapper} | |
24 | + Log Many ${api_host_url} ${api_version} | |
25 | + ${api_wrapper}= prepare_api_wrapper ${USERS.users['${username}'].api_key} ${api_host_url} ${api_version} | |
26 | + Set To Dictionary ${USERS.users['${username}']} client ${api_wrapper} | |
27 | + Set To Dictionary ${USERS.users['${username}']} access_token ${EMPTY} | |
29 | 28 | ${ID_MAP}= Create Dictionary |
30 | 29 | Set Suite Variable ${ID_MAP} |
31 | 30 | Log Variables |
... | ... | @@ -37,305 +36,208 @@ Library openprocurement_client_helper.py |
37 | 36 | |
38 | 37 | |
39 | 38 | Створити тендер |
40 | - [Arguments] @{ARGUMENTS} | |
41 | - ${TENDER_DATA}= Call Method ${USERS.users['${ARGUMENTS[0]}'].client} create_tender ${ARGUMENTS[1]} | |
42 | - Log object data ${TENDER_DATA} created_tender | |
43 | - ${access_token}= Get Variable Value ${TENDER_DATA.access.token} | |
44 | - Set To Dictionary ${USERS.users['${ARGUMENTS[0]}']} access_token ${access_token} | |
45 | - Set To Dictionary ${USERS.users['${ARGUMENTS[0]}']} TENDER_DATA ${TENDER_DATA} | |
39 | + [Arguments] ${username} ${tender_data} | |
40 | + ${tender}= Call Method ${USERS.users['${username}'].client} create_tender ${tender_data} | |
41 | + Log object data ${tender} created_tender | |
42 | + ${access_token}= Get Variable Value ${tender.access.token} | |
43 | + Set To Dictionary ${USERS.users['${username}']} access_token ${access_token} | |
44 | + Set To Dictionary ${USERS.users['${username}']} tender_data ${tender} | |
46 | 45 | Log ${access_token} |
47 | - Log ${TENDER_DATA.data.id} | |
48 | - Log ${USERS.users['${ARGUMENTS[0]}'].TENDER_DATA} | |
49 | - [return] ${TENDER_DATA.data.tenderID} | |
46 | + Log ${tender.data.id} | |
47 | + Log ${USERS.users['${username}'].tender_data} | |
48 | + [return] ${tender.data.tenderID} | |
50 | 49 | |
51 | 50 | |
52 | 51 | Пошук тендера по ідентифікатору |
53 | - [Arguments] @{ARGUMENTS} | |
54 | - [Documentation] | |
55 | - ... ${ARGUMENTS[0]} == username | |
56 | - ... ${ARGUMENTS[1]} == tenderId | |
57 | - ${internalid}= Отримати internal id по UAid ${ARGUMENTS[0]} ${ARGUMENTS[1]} | |
58 | - ${tender_data}= Call Method ${USERS.users['${ARGUMENTS[0]}'].client} get_tender ${internalid} | |
59 | - Set To Dictionary ${USERS.users['${ARGUMENTS[0]}']} tender_data ${tender_data} | |
60 | - [return] ${tender_data} | |
52 | + [Arguments] ${username} ${tender_uid} | |
53 | + ${internalid}= Отримати internal id по UAid ${username} ${tender_uid} | |
54 | + ${tender}= Отримати тендер ${username} ${internalid} | |
55 | + [return] ${tender} | |
61 | 56 | |
62 | 57 | |
63 | 58 | Оновити сторінку з тендером |
64 | - [Arguments] @{ARGUMENTS} | |
65 | - [Documentation] | |
66 | - ... ${ARGUMENTS[0]} == username | |
67 | - ... ${ARGUMENTS[1]} == tenderId | |
68 | - ${tender_data}= openprocurement_client.Пошук тендера по ідентифікатору @{ARGUMENTS} | |
59 | + [Arguments] ${username} ${tender_uid} | |
60 | + ${tender_data}= openprocurement_client.Пошук тендера по ідентифікатору ${username} ${tender_uid} | |
69 | 61 | Log ${tender_data} |
70 | 62 | |
71 | 63 | |
72 | 64 | Отримати інформацію із тендера |
73 | - [Arguments] @{ARGUMENTS} | |
74 | - [Documentation] | |
75 | - ... ${ARGUMENTS[0]} == username | |
76 | - ... ${ARGUMENTS[1]} == fieldname | |
65 | + [Arguments] ${username} ${fieldname} | |
77 | 66 | Log Many @{ARGUMENTS} |
78 | - ${field_value}= Get_From_Object ${USERS.users['${ARGUMENTS[0]}'].tender_data.data} ${ARGUMENTS[1]} | |
67 | + ${status}= Run Keyword And Return Status Dictionary Should Contain Key ${USERS.users['${username}'].tender_data.data} ${fieldname} | |
68 | + Run Keyword Unless | |
69 | + ... ${status} | |
70 | + ... openprocurement_client.Пошук тендера по ідентифікатору ${username} ${TENDER['TENDER_UAID']} | |
71 | + ${field_value}= Get_From_Object ${USERS.users['${username}'].tender_data.data} ${fieldname} | |
79 | 72 | Log ${field_value} |
80 | 73 | [return] ${field_value} |
81 | 74 | |
82 | 75 | |
83 | 76 | Внести зміни в тендер |
84 | - [Arguments] @{ARGUMENTS} | |
85 | - [Documentation] | |
86 | - ... ${ARGUMENTS[0]} == username | |
87 | - ... ${ARGUMENTS[1]} == id | |
88 | - ... ${ARGUMENTS[2]} == fieldname | |
89 | - ... ${ARGUMENTS[3]} == fieldvalue | |
90 | - ${internalid}= Отримати internal id по UAid ${ARGUMENTS[0]} ${ARGUMENTS[1]} | |
91 | - Отримати тендер ${ARGUMENTS[0]} ${internalid} | |
92 | - Set_To_Object ${TENDER_DATA.data} ${ARGUMENTS[2]} ${ARGUMENTS[3]} | |
93 | - ${TENDER_DATA}= set_access_key ${TENDER_DATA} ${USERS.users['${ARGUMENTS[0]}'].access_token} | |
94 | - ${TENDER_DATA}= Call Method ${USERS.users['${ARGUMENTS[0]}'].client} patch_tender ${TENDER_DATA} | |
95 | - Set Global Variable ${TENDER_DATA} | |
77 | + [Arguments] ${username} ${tender_uid} ${fieldname} ${fieldvalue} | |
78 | + ${tender}= openprocurement_client.Пошук тендера по ідентифікатору ${username} ${tender_uid} | |
79 | + Set_To_Object ${tender.data} ${fieldname} ${fieldvalue} | |
80 | + ${tender}= set_access_key ${tender} ${USERS.users['${username}'].access_token} | |
81 | + ${tender}= Call Method ${USERS.users['${username}'].client} patch_tender ${tender} | |
82 | + Set_To_Object ${USERS.users['${username}'].tender_data} ${fieldname} ${fieldvalue} | |
96 | 83 | |
97 | 84 | |
98 | 85 | Отримати тендер |
99 | - [Arguments] @{ARGUMENTS} | |
100 | - [Documentation] | |
101 | - ... ${ARGUMENTS[0]} == username | |
102 | - ... ${ARGUMENTS[1]} == id | |
103 | - ${TENDER_DATA}= Call Method ${USERS.users['${ARGUMENTS[0]}'].client} get_tender ${ARGUMENTS[1]} | |
104 | - Log object data ${TENDER_DATA} | |
105 | - ${TENDER_DATA}= set_access_key ${TENDER_DATA} ${USERS.users['${ARGUMENTS[0]}'].access_token} | |
106 | - Set Global Variable ${TENDER_DATA} | |
86 | + [Arguments] ${username} ${internalid} | |
87 | + Log ${username} | |
88 | + Log ${internalid} | |
89 | + ${tender}= Call Method ${USERS.users['${username}'].client} get_tender ${internalid} | |
90 | + ${tender}= set_access_key ${tender} ${USERS.users['${username}'].access_token} | |
91 | + Set To Dictionary ${USERS.users['${username}']} tender_data ${tender} | |
92 | + Log ${tender} | |
93 | + [Return] ${tender} | |
107 | 94 | |
108 | 95 | |
109 | 96 | Відняти предмети закупівлі |
110 | - [Arguments] @{ARGUMENTS} | |
111 | - [Documentation] | |
112 | - ... ${ARGUMENTS[0]} == username | |
113 | - ... ${ARGUMENTS[1]} == id | |
114 | - ... ${ARGUMENTS[2]} == number | |
115 | - ${internalid}= Отримати internal id по UAid ${ARGUMENTS[0]} ${ARGUMENTS[1]} | |
116 | - Отримати тендер ${ARGUMENTS[0]} ${internalid} | |
117 | - @{items}= Get From Object ${TENDER_DATA.data} items | |
97 | + [Arguments] ${username} ${tender_uid} ${number} | |
98 | + ${tender}= openprocurement_client.Пошук тендера по ідентифікатору ${username} ${tender_uid} | |
99 | + @{items}= Get From Object ${tender.data} items | |
118 | 100 | Log Many @{items} |
119 | - :FOR ${INDEX} IN RANGE ${ARGUMENTS[2]} | |
101 | + :FOR ${INDEX} IN RANGE ${number} | |
120 | 102 | \ Remove From List ${items} 0 |
121 | 103 | Log Many @{items} |
122 | - Set_To_Object ${TENDER_DATA.data} items ${items} | |
123 | - ${TENDER_DATA}= Call Method ${USERS.users['${ARGUMENTS[0]}'].client} patch_tender ${TENDER_DATA} | |
124 | - ${TENDER_DATA}= set_access_key ${TENDER_DATA} ${USERS.users['${ARGUMENTS[0]}'].access_token} | |
104 | + Set_To_Object ${tender.data} items ${items} | |
105 | + Call Method ${USERS.users['${username}'].client} patch_tender ${tender} | |
125 | 106 | |
126 | 107 | |
127 | 108 | Додати предмети закупівлі |
128 | - [Arguments] @{ARGUMENTS} | |
129 | - [Documentation] | |
130 | - ... ${ARGUMENTS[0]} == username | |
131 | - ... ${ARGUMENTS[1]} == id | |
132 | - ... ${ARGUMENTS[2]} == number | |
133 | - ${internalid}= Отримати internal id по UAid ${ARGUMENTS[0]} ${ARGUMENTS[1]} | |
134 | - Отримати тендер ${ARGUMENTS[0]} ${internalid} | |
135 | - @{items}= Get From Object ${TENDER_DATA.data} items | |
109 | + [Arguments] ${username} ${tender_uid} ${number} | |
110 | + ${tender}= openprocurement_client.Пошук тендера по ідентифікатору ${username} ${tender_uid} | |
111 | + @{items}= Get From Object ${tender.data} items | |
136 | 112 | Log Many @{items} |
137 | - :FOR ${INDEX} IN RANGE ${ARGUMENTS[2]} | |
113 | + :FOR ${INDEX} IN RANGE ${number} | |
138 | 114 | \ ${item}= test_item_data |
139 | 115 | \ Append To List ${items} ${item} |
140 | 116 | Log Many @{items} |
141 | - Set_To_Object ${TENDER_DATA.data} items ${items} | |
142 | - ${TENDER_DATA}= set_access_key ${TENDER_DATA} ${USERS.users['${ARGUMENTS[0]}'].access_token} | |
143 | - ${TENDER_DATA}= Call Method ${USERS.users['${ARGUMENTS[0]}'].client} patch_tender ${TENDER_DATA} | |
117 | + Set_To_Object ${tender.data} items ${items} | |
118 | + ${tender}= set_access_key ${tender} ${USERS.users['${username}'].access_token} | |
119 | + Call Method ${USERS.users['${username}'].client} patch_tender ${tender} | |
144 | 120 | |
145 | 121 | |
146 | 122 | Задати питання |
147 | - [Documentation] | |
148 | - ... ${ARGUMENTS[0]} == username | |
149 | - ... ${ARGUMENTS[1]} == tender_uid | |
150 | - ... ${ARGUMENTS[2]} == question | |
151 | - [Arguments] @{ARGUMENTS} | |
152 | - Log many @{ARGUMENTS} | |
153 | - ${internalid}= Отримати internal id по UAid ${ARGUMENTS[0]} ${ARGUMENTS[1]} | |
154 | - ${tender}= Call Method ${USERS.users['${ARGUMENTS[0]}'].client} get_tender ${internalid} | |
155 | - Log ${USERS.users['${ARGUMENTS[0]}']} | |
156 | - ${biddingresponse}= Call Method ${USERS.users['${ARGUMENTS[0]}'].client} create_question ${tender} ${ARGUMENTS[2]} | |
123 | + [Arguments] ${username} ${tender_uid} ${question} | |
124 | + Log ${question} | |
125 | + ${tender}= openprocurement_client.Пошук тендера по ідентифікатору ${username} ${tender_uid} | |
126 | + ${biddingresponse}= Call Method ${USERS.users['${username}'].client} create_question ${tender} ${question} | |
157 | 127 | [return] ${biddingresponse} |
158 | 128 | |
159 | 129 | |
160 | 130 | Відповісти на питання |
161 | - [Documentation] | |
162 | - ... ${ARGUMENTS[0]} == username | |
163 | - ... ${ARGUMENTS[1]} == tender_uid | |
164 | - ... ${ARGUMENTS[2]} == question_id | |
165 | - ... ${ARGUMENTS[3]} == answer_data | |
166 | - [Arguments] @{ARGUMENTS} | |
167 | - Log many @{ARGUMENTS} | |
168 | - ${internalid}= Отримати internal id по UAid ${ARGUMENTS[0]} ${ARGUMENTS[1]} | |
169 | - ${tender}= Call Method ${USERS.users['${ARGUMENTS[0]}'].client} get_tender ${internalid} | |
170 | - Log many ${USERS.users['${ARGUMENTS[0]}']} | |
171 | - ${tender}= set_access_key ${tender} ${USERS.users['${ARGUMENTS[0]}'].access_token} | |
172 | - ${ARGUMENTS[3].data.id}= Set Variable ${tender.data.questions[${ARGUMENTS[2]}].id} | |
173 | - ${question_with_answer}= Call Method ${USERS.users['${ARGUMENTS[0]}'].client} patch_question ${tender} ${ARGUMENTS[3]} | |
174 | - Log many ${USERS.users['${ARGUMENTS[0]}'].client} ${tender} ${ARGUMENTS[3]} | |
131 | + [Arguments] ${username} ${tender_uid} ${question_id} ${answer_data} | |
132 | + ${tender}= openprocurement_client.Пошук тендера по ідентифікатору ${username} ${tender_uid} | |
133 | + ${tender}= set_access_key ${tender} ${USERS.users['${username}'].access_token} | |
134 | + ${answer_data.data.id}= Set Variable ${tender.data.questions[${question_id}].id} | |
135 | + ${question_with_answer}= Call Method ${USERS.users['${username}'].client} patch_question ${tender} ${answer_data} | |
175 | 136 | Log object data ${question_with_answer} question_with_answer |
176 | 137 | |
177 | 138 | |
178 | 139 | Подати скаргу |
179 | - [Documentation] | |
180 | - ... ${ARGUMENTS[0]} == username | |
181 | - ... ${ARGUMENTS[1]} == tender_uid | |
182 | - ... ${ARGUMENTS[2]} == complaint | |
183 | - [Arguments] @{ARGUMENTS} | |
184 | - Log many @{ARGUMENTS} | |
185 | - ${internalid}= Отримати internal id по UAid ${ARGUMENTS[0]} ${ARGUMENTS[1]} | |
186 | - ${tender}= Call Method ${USERS.users['${ARGUMENTS[0]}'].client} get_tender ${internalid} | |
187 | - ${complaint}= Call Method ${USERS.users['${ARGUMENTS[0]}'].client} _create_tender_resource_item ${tender} ${ARGUMENTS[2]} complaints | |
140 | + [Arguments] ${username} ${tender_uid} ${complaint} | |
141 | + ${tender}= openprocurement_client.Пошук тендера по ідентифікатору ${username} ${tender_uid} | |
142 | + ${complaint}= Call Method ${USERS.users['${username}'].client} _create_tender_resource_item ${tender} ${complaint} complaints | |
188 | 143 | ${access_token}= Get Variable Value ${complaint.access.token} |
189 | - Set To Dictionary ${USERS.users['${ARGUMENTS[0]}']} access_token ${access_token} | |
144 | + Set To Dictionary ${USERS.users['${username}']} access_token ${access_token} | |
190 | 145 | Log object data ${complaint} complaint |
191 | 146 | |
192 | 147 | |
193 | 148 | Порівняти скаргу |
194 | - [Documentation] | |
195 | - ... ${ARGUMENTS[0]} == username | |
196 | - ... ${ARGUMENTS[1]} == tender_uid | |
197 | - ... ${ARGUMENTS[2]} == complaint | |
198 | - [Arguments] @{ARGUMENTS} | |
149 | + [Arguments] ${username} ${tender_uid} ${complaint} | |
199 | 150 | Log many @{ARGUMENTS} |
200 | - ${internalid}= Отримати internal id по UAid ${ARGUMENTS[0]} ${ARGUMENTS[1]} | |
201 | - ${tender}= Call Method ${USERS.users['${ARGUMENTS[0]}'].client} get_tender ${internalid} | |
151 | + ${tender}= openprocurement_client.Пошук тендера по ідентифікатору ${username} ${tender_uid} | |
202 | 152 | ${complaint}= Get Variable Value ${tender.data.complaints[0]} |
203 | 153 | Log ${complaint} |
204 | 154 | #TODO: COMPARE |
205 | - #Dictionary Should Contain Sub Dictionary ${complaint} ${ARGUMENTS[2].data} | |
206 | - #:FOR ${element} IN ${ARGUMENTS[2].data} | |
155 | + #Dictionary Should Contain Sub Dictionary ${complaint} ${complaint.data} | |
156 | + #:FOR ${element} IN ${complaint.data} | |
207 | 157 | #\ Log ${element} |
208 | 158 | #\ Dictionary Should Contain Value ${complaint} ${element} |
209 | 159 | |
210 | 160 | |
211 | 161 | Обробити скаргу |
212 | - [Documentation] | |
213 | - ... ${ARGUMENTS[0]} == username | |
214 | - ... ${ARGUMENTS[1]} == tender_uid | |
215 | - ... ${ARGUMENTS[2]} == question_id | |
216 | - ... ${ARGUMENTS[3]} == answer_data | |
217 | - [Arguments] @{ARGUMENTS} | |
218 | - Log many @{ARGUMENTS} | |
219 | - ${internalid}= Отримати internal id по UAid ${ARGUMENTS[0]} ${ARGUMENTS[1]} | |
220 | - ${tender}= Call Method ${USERS.users['${ARGUMENTS[0]}'].client} get_tender ${internalid} | |
221 | - ${tender}= set_access_key ${tender} ${USERS.users['${ARGUMENTS[0]}'].access_token} | |
222 | - ${ARGUMENTS[3].data.id}= Set Variable ${tender.data.complaints[${ARGUMENTS[2]}].id} | |
223 | - ${complaint_with_answer}= Call Method ${USERS.users['${ARGUMENTS[0]}'].client} _patch_tender_resource_item ${tender} ${ARGUMENTS[3]} complaints | |
224 | - Log many ${USERS.users['${ARGUMENTS[0]}'].client} ${tender} ${ARGUMENTS[3]} | |
162 | + [Arguments] ${username} ${tender_uid} ${complaint_id} ${answer_data} | |
163 | + ${tender}= openprocurement_client.Пошук тендера по ідентифікатору ${username} ${tender_uid} | |
164 | + ${tender}= set_access_key ${tender} ${USERS.users['${username}'].access_token} | |
165 | + ${answer_data.data.id}= Set Variable ${tender.data.complaints[${complaint_id}].id} | |
166 | + ${complaint_with_answer}= Call Method ${USERS.users['${username}'].client} _patch_tender_resource_item ${tender} ${answer_data} complaints | |
167 | + Log many ${USERS.users['${username}'].client} ${tender} ${answer_data} | |
225 | 168 | Log object data ${complaint_with_answer} complaint_with_answer |
226 | 169 | |
227 | 170 | |
228 | 171 | Подати цінову пропозицію |
229 | - [Documentation] | |
230 | - ... ${ARGUMENTS[0]} == username | |
231 | - ... ${ARGUMENTS[1]} == tender_uid | |
232 | - ... ${ARGUMENTS[2]} == bid | |
233 | - [Arguments] @{ARGUMENTS} | |
234 | - Log many @{ARGUMENTS} | |
235 | - ${internalid}= Отримати internal id по UAid ${ARGUMENTS[0]} ${ARGUMENTS[1]} | |
236 | - ${tender}= Call Method ${USERS.users['${ARGUMENTS[0]}'].client} get_tender ${internalid} | |
237 | - Log ${tender} | |
238 | - ${biddingresponse}= Call Method ${USERS.users['${ARGUMENTS[0]}'].client} create_bid ${tender} ${ARGUMENTS[2]} | |
172 | + [Arguments] ${username} ${tender_uid} ${bid} | |
173 | + ${tender}= openprocurement_client.Пошук тендера по ідентифікатору ${username} ${tender_uid} | |
174 | + ${biddingresponse}= Call Method ${USERS.users['${username}'].client} create_bid ${tender} ${bid} | |
175 | + Log ${biddingresponse} | |
239 | 176 | [return] ${biddingresponse} |
240 | 177 | |
241 | 178 | |
242 | 179 | Змінити цінову пропозицію |
243 | - [Documentation] | |
244 | - ... ${ARGUMENTS[0]} == username | |
245 | - ... ${ARGUMENTS[1]} == tender_uid | |
246 | - ... ${ARGUMENTS[2]} == bid | |
247 | - [Arguments] @{ARGUMENTS} | |
248 | - ${internalid}= Отримати internal id по UAid ${ARGUMENTS[0]} ${ARGUMENTS[1]} | |
249 | - ${tender}= Call Method ${USERS.users['${ARGUMENTS[0]}'].client} get_tender ${internalid} | |
250 | - ${changed_bid}= Call Method ${USERS.users['${ARGUMENTS[0]}'].client} patch_bid ${tender} ${ARGUMENTS[2]} | |
180 | + [Arguments] ${username} ${tender_uid} ${bid} | |
181 | + ${tender}= openprocurement_client.Пошук тендера по ідентифікатору ${username} ${tender_uid} | |
182 | + ${changed_bid}= Call Method ${USERS.users['${username}'].client} patch_bid ${tender} ${bid} | |
251 | 183 | Log ${changed_bid} |
252 | 184 | [return] ${changed_bid} |
253 | 185 | |
254 | 186 | |
255 | 187 | Скасувати цінову пропозицію |
256 | - [Documentation] | |
257 | - ... ${ARGUMENTS[0]} == username | |
258 | - ... ${ARGUMENTS[1]} == tender_uid | |
259 | - ... ${ARGUMENTS[2]} == bid | |
260 | - [Arguments] @{ARGUMENTS} | |
261 | - Log many @{ARGUMENTS} | |
262 | - ${internalid}= Отримати internal id по UAid ${ARGUMENTS[0]} ${ARGUMENTS[1]} | |
263 | - ${tender}= Call Method ${USERS.users['${ARGUMENTS[0]}'].client} get_tender ${internalid} | |
264 | - Log ${tender} | |
265 | - ${changed_bid}= Call Method ${USERS.users['${ARGUMENTS[0]}'].client} delete_bid ${tender} ${ARGUMENTS[2]} | |
188 | + [Arguments] ${username} ${tender_uid} ${bid} | |
189 | + ${tender}= openprocurement_client.Пошук тендера по ідентифікатору ${username} ${tender_uid} | |
190 | + ${changed_bid}= Call Method ${USERS.users['${username}'].client} delete_bid ${tender} ${bid} | |
266 | 191 | Log ${changed_bid} |
267 | 192 | [return] ${changed_bid} |
268 | 193 | |
269 | 194 | |
270 | 195 | Прийняти цінову пропозицію |
271 | - [Documentation] | |
272 | - ... ${ARGUMENTS[0]} == username | |
273 | - ... ${ARGUMENTS[1]} == tender_uid | |
274 | - ... ${ARGUMENTS[2]} == award | |
275 | - [Arguments] @{ARGUMENTS} | |
276 | - ${internalid}= Отримати internal id по UAid ${ARGUMENTS[0]} ${ARGUMENTS[1]} | |
277 | - ${tender}= Call Method ${USERS.users['${ARGUMENTS[0]}'].client} get_tender ${internalid} | |
278 | - ${tender}= set_access_key ${tender} ${USERS.users['${ARGUMENTS[0]}'].access_token} | |
279 | - ${award_activeted_response}= Call Method ${USERS.users['${ARGUMENTS[0]}'].client} patch_award ${tender} ${ARGUMENTS[2]} | |
196 | + [Arguments] ${username} ${tender_uid} ${award} | |
197 | + ${internalid}= Отримати internal id по UAid ${username} ${tender_uid} | |
198 | + ${tender}= Call Method ${USERS.users['${username}'].client} get_tender ${internalid} | |
199 | + ${tender}= set_access_key ${tender} ${USERS.users['${username}'].access_token} | |
200 | + ${award_activeted_response}= Call Method ${USERS.users['${username}'].client} patch_award ${tender} ${award} | |
280 | 201 | Log ${award_activeted_response} |
281 | 202 | [return] ${award_activeted_response} |
282 | 203 | |
283 | 204 | |
284 | 205 | Завантажити документ в ставку |
285 | - [Documentation] | |
286 | - ... ${ARGUMENTS[0]} == username | |
287 | - ... ${ARGUMENTS[1]} == path | |
288 | - ... ${ARGUMENTS[2]} == tenderid | |
289 | - [Arguments] @{ARGUMENTS} | |
290 | - Log many @{ARGUMENTS} | |
291 | - ${bid_id}= Get Variable Value ${USERS.users['${ARGUMENTS[0]}'].bidresponses['resp'].data.id} | |
292 | - ${internalid}= Отримати internal id по UAid ${ARGUMENTS[0]} ${ARGUMENTS[2]} | |
293 | - ${tender}= Call Method ${USERS.users['${ARGUMENTS[0]}'].client} get_tender ${internalid} | |
294 | - ${tender}= set_access_key ${tender} ${USERS.users['${ARGUMENTS[0]}'].bidresponses['resp'].access.token} | |
295 | - ${response}= Call Method ${USERS.users['${ARGUMENTS[0]}'].client} upload_bid_document ${ARGUMENTS[1]} ${tender} ${bid_id} | |
296 | - ${uploaded_file} = Create Dictionary filepath ${ARGUMENTS[1]} upload_response ${response} | |
206 | + [Arguments] ${username} ${path} ${tender_uid} | |
207 | + ${bid_id}= Get Variable Value ${USERS.users['${username}'].bidresponses['resp'].data.id} | |
208 | + ${tender}= openprocurement_client.Пошук тендера по ідентифікатору ${username} ${tender_uid} | |
209 | + ${tender}= set_access_key ${tender} ${USERS.users['${username}'].bidresponses['resp'].access.token} | |
210 | + ${response}= Call Method ${USERS.users['${username}'].client} upload_bid_document ${path} ${tender} ${bid_id} | |
211 | + ${uploaded_file} = Create Dictionary filepath ${path} upload_response ${response} | |
297 | 212 | Log ${response} |
298 | 213 | Log object data ${uploaded_file} |
299 | 214 | [return] ${uploaded_file} |
300 | 215 | |
301 | 216 | |
302 | 217 | Змінити документ в ставці |
303 | - [Documentation] | |
304 | - ... ${ARGUMENTS[0]} == username | |
305 | - ... ${ARGUMENTS[1]} == path | |
306 | - ... ${ARGUMENTS[2]} == bidid | |
307 | - ... ${ARGUMENTS[3]} == docid | |
308 | - [Arguments] @{ARGUMENTS} | |
309 | - Log many @{ARGUMENTS} | |
310 | - ${internalid}= Отримати internal id по UAid ${ARGUMENTS[0]} ${TENDER['TENDER_UAID']} | |
311 | - ${tender}= Call Method ${USERS.users['${ARGUMENTS[0]}'].client} get_tender ${internalid} | |
312 | - ${tender}= set_access_key ${tender} ${USERS.users['${ARGUMENTS[0]}'].bidresponses['resp'].access.token} | |
313 | - ${response}= Call Method ${USERS.users['${ARGUMENTS[0]}'].client} update_bid_document ${ARGUMENTS[1]} ${tender} ${ARGUMENTS[2]} ${ARGUMENTS[3]} | |
314 | - ${uploaded_file} = Create Dictionary filepath ${ARGUMENTS[1]} upload_response ${response} | |
218 | + [Arguments] ${username} ${path} ${bidid} ${docid} | |
219 | + ${tender}= openprocurement_client.Пошук тендера по ідентифікатору ${username} ${TENDER['TENDER_UAID']} | |
220 | + ${tender}= set_access_key ${tender} ${USERS.users['${username}'].bidresponses['resp'].access.token} | |
221 | + ${response}= Call Method ${USERS.users['${username}'].client} update_bid_document ${path} ${tender} ${bidid} ${docid} | |
222 | + ${uploaded_file} = Create Dictionary filepath ${path} upload_response ${response} | |
315 | 223 | Log ${response} |
316 | 224 | Log object data ${uploaded_file} |
317 | 225 | [return] ${uploaded_file} |
318 | 226 | |
319 | 227 | |
320 | 228 | Завантажити документ |
321 | - [Documentation] | |
322 | - ... ${ARGUMENTS[0]} == username | |
323 | - ... ${ARGUMENTS[1]} == filepath | |
324 | - ... ${ARGUMENTS[2]} == TENDER['TENDER_UAID'] | |
325 | - [Arguments] @{ARGUMENTS} | |
229 | + [Arguments] ${username} ${filepath} ${tender_uid} | |
326 | 230 | Log many @{ARGUMENTS} |
327 | - ${tenderID}= openprocurement_client.Отримати internal id по UAid ${ARGUMENTS[0]} ${ARGUMENTS[2]} | |
328 | - ${tender}= Call Method ${USERS.users['${ARGUMENTS[0]}'].client} get_tender ${tenderID} | |
329 | - ${tender}= set_access_key ${tender} ${USERS.users['${ARGUMENTS[0]}'].access_token} | |
330 | - ${reply}= Call Method ${USERS.users['${ARGUMENTS[0]}'].client} upload_document ${ARGUMENTS[1]} ${tender} | |
231 | + ${tender}= openprocurement_client.Пошук тендера по ідентифікатору ${username} ${tender_uid} | |
232 | + ${tender}= set_access_key ${tender} ${USERS.users['${username}'].access_token} | |
233 | + ${reply}= Call Method ${USERS.users['${username}'].client} upload_document ${filepath} ${tender} | |
331 | 234 | Log object data ${reply} reply |
332 | 235 | [return] ${reply} |
333 | 236 | |
334 | 237 | |
335 | 238 | Отримати посилання на аукціон для глядача |
336 | 239 | [Arguments] ${username} ${tender_uid} |
337 | - ${internalid}= Отримати internal id по UAid ${username} ${tender_uid} | |
338 | - ${tender}= Call Method ${USERS.users['${username}'].client} get_tender ${internalid} | |
240 | + ${tender}= openprocurement_client.Пошук тендера по ідентифікатору ${username} ${tender_uid} | |
339 | 241 | [return] ${tender.data.auctionUrl} |
340 | 242 | |
341 | 243 | |
... | ... | @@ -347,84 +249,65 @@ Library openprocurement_client_helper.py |
347 | 249 | |
348 | 250 | Отримати пропозицію |
349 | 251 | [Arguments] ${username} ${tender_uid} |
350 | - ${internalid}= Отримати internal id по UAid ${username} ${tender_uid} | |
252 | + ${tender}= openprocurement_client.Пошук тендера по ідентифікатору ${username} ${tender_uid} | |
351 | 253 | ${bid_id}= Get Variable Value ${USERS.users['${username}'].bidresponses['resp'].data.id} |
352 | 254 | ${token}= Get Variable Value ${USERS.users['${username}'].bidresponses['resp'].access.token} |
353 | - ${tender}= Call Method ${USERS.users['${username}'].client} get_tender ${internalid} | |
354 | 255 | ${bid}= Call Method ${USERS.users['${username}'].client} get_bid ${tender} ${bid_id} ${token} |
355 | 256 | [return] ${bid} |
356 | 257 | |
357 | 258 | |
358 | 259 | Отримати документ |
359 | - [Documentation] | |
360 | - ... ${ARGUMENTS[0]} == username | |
361 | - ... ${ARGUMENTS[1]} == TENDER['TENDER_UAID'] | |
362 | - ... ${ARGUMENTS[2]} == url | |
363 | - [Arguments] @{ARGUMENTS} | |
364 | - Log many @{ARGUMENTS} | |
365 | - ${tenderID}= openprocurement_client.Отримати internal id по UAid ${ARGUMENTS[0]} ${ARGUMENTS[1]} | |
366 | - ${tender}= Call Method ${USERS.users['${ARGUMENTS[0]}'].client} get_tender ${tenderID} | |
367 | - ${token}= Get Variable Value ${USERS.users['${ARGUMENTS[0]}'].bidresponses['resp'].access.token} | |
368 | - ${contents} ${filename}= Call Method ${USERS.users['${ARGUMENTS[0]}'].client} get_file ${tender} ${ARGUMENTS[2]} ${token} | |
260 | + [Arguments] ${username} ${tender_uid} ${url} | |
261 | + ${tender}= openprocurement_client.Пошук тендера по ідентифікатору ${username} ${tender_uid} | |
262 | + ${token}= Get Variable Value ${USERS.users['${username}'].bidresponses['resp'].access.token} | |
263 | + ${contents} ${filename}= Call Method ${USERS.users['${username}'].client} get_file ${tender} ${url} ${token} | |
369 | 264 | Log ${filename} |
370 | 265 | [return] ${contents} ${filename} |
371 | 266 | |
372 | 267 | |
373 | 268 | Створити лот |
374 | - [Documentation] | |
375 | - ... ${ARGUMENTS[0]} == username | |
376 | - ... ${ARGUMENTS[1]} == tender | |
377 | - ... ${ARGUMENTS[2]} == lot | |
378 | - [Arguments] @{ARGUMENTS} | |
269 | + [Arguments] ${username} ${tender} ${lot} | |
379 | 270 | Log many @{ARGUMENTS} |
380 | - ${tender}= set_access_key ${ARGUMENTS[1]} ${USERS.users['${ARGUMENTS[0]}'].access_token} | |
381 | - ${tender_lot}= Call Method ${USERS.users['${ARGUMENTS[0]}'].client} create_lot ${tender} ${ARGUMENTS[2]} | |
271 | + ${tender}= set_access_key ${tender} ${USERS.users['${username}'].access_token} | |
272 | + ${tender_lot}= Call Method ${USERS.users['${username}'].client} create_lot ${tender} ${lot} | |
382 | 273 | Log ${tender_lot} |
383 | 274 | [return] ${tender_lot} |
275 | + #TODO: | |
276 | + #[Arguments] ${username} ${tender_uid} ${lot} | |
277 | + #${tender}= openprocurement_client.Пошук тендера по ідентифікатору ${username} ${tender_uid} | |
384 | 278 | |
385 | 279 | |
386 | 280 | Змінити лот |
387 | - [Documentation] | |
388 | - ... ${ARGUMENTS[0]} == username | |
389 | - ... ${ARGUMENTS[1]} == tender | |
390 | - ... ${ARGUMENTS[2]} == lot | |
391 | - [Arguments] @{ARGUMENTS} | |
392 | - Log many @{ARGUMENTS} | |
393 | - ${tender}= set_access_key ${ARGUMENTS[1]} ${USERS.users['${ARGUMENTS[0]}'].access_token} | |
394 | - ${tender_lot}= Call Method ${USERS.users['${ARGUMENTS[0]}'].client} patch_lot ${tender} ${ARGUMENTS[2]} | |
281 | + [Arguments] ${username} ${tender} ${lot} | |
282 | + ${tender}= set_access_key ${tender} ${USERS.users['${username}'].access_token} | |
283 | + ${tender_lot}= Call Method ${USERS.users['${username}'].client} patch_lot ${tender} ${lot} | |
395 | 284 | Log ${tender_lot} |
396 | 285 | [return] ${tender_lot} |
286 | + #TODO: | |
287 | + #[Arguments] ${username} ${tender_uid} ${lot} | |
288 | + #${tender}= openprocurement_client.Пошук тендера по ідентифікатору ${username} ${tender_uid} | |
397 | 289 | |
398 | 290 | |
399 | 291 | Завантажити документ в лот |
400 | - [Documentation] | |
401 | - ... ${ARGUMENTS[0]} == username | |
402 | - ... ${ARGUMENTS[1]} == filepath | |
403 | - ... ${ARGUMENTS[2]} == tenderUAID | |
404 | - ... ${ARGUMENTS[3]} == lot_id | |
405 | - [Arguments] @{ARGUMENTS} | |
406 | - Log many @{ARGUMENTS} | |
407 | - ${tenderID}= openprocurement_client.Отримати internal id по UAid ${ARGUMENTS[0]} ${ARGUMENTS[2]} | |
408 | - ${tender}= Call Method ${USERS.users['${ARGUMENTS[0]}'].client} get_tender ${tenderID} | |
409 | - ${tender}= set_access_key ${tender} ${USERS.users['${ARGUMENTS[0]}'].access_token} | |
410 | - ${doc}= Завантажити документ ${ARGUMENTS[0]} ${ARGUMENTS[1]} ${ARGUMENTS[2]} | |
411 | - ${lot_doc}= test_lot_document_data ${doc} ${ARGUMENTS[3]} | |
412 | - ${reply}= Call Method ${USERS.users['${ARGUMENTS[0]}'].client} patch_document ${tender} ${lot_doc} | |
292 | + [Arguments] ${username} ${filepath} ${tender_uid} ${lot_id} | |
293 | + ${tender}= openprocurement_client.Пошук тендера по ідентифікатору ${username} ${tender_uid} | |
294 | + ${tender}= set_access_key ${tender} ${USERS.users['${username}'].access_token} | |
295 | + ${doc}= Завантажити документ ${username} ${filepath} ${tender_uid} | |
296 | + ${lot_doc}= test_lot_document_data ${doc} ${lot_id} | |
297 | + ${reply}= Call Method ${USERS.users['${username}'].client} patch_document ${tender} ${lot_doc} | |
413 | 298 | Log object data ${reply} reply |
414 | 299 | [return] ${reply} |
415 | 300 | |
416 | 301 | |
417 | 302 | Видалити лот |
418 | - [Documentation] | |
419 | - ... ${ARGUMENTS[0]} == username | |
420 | - ... ${ARGUMENTS[1]} == tender | |
421 | - ... ${ARGUMENTS[2]} == lot | |
422 | - [Arguments] @{ARGUMENTS} | |
423 | - Log many @{ARGUMENTS} | |
424 | - ${tender}= set_access_key ${ARGUMENTS[1]} ${USERS.users['${ARGUMENTS[0]}'].access_token} | |
425 | - ${tender_lot}= Call Method ${USERS.users['${ARGUMENTS[0]}'].client} delete_lot ${tender} ${ARGUMENTS[2]} | |
303 | + [Arguments] ${username} ${tender} ${lot} | |
304 | + ${tender}= set_access_key ${tender} ${USERS.users['${username}'].access_token} | |
305 | + ${tender_lot}= Call Method ${USERS.users['${username}'].client} delete_lot ${tender} ${lot} | |
426 | 306 | Log ${tender_lot} |
427 | 307 | [return] ${tender_lot} |
308 | + #TODO: | |
309 | + #[Arguments] ${username} ${tender_uid} ${lot} | |
310 | + #${tender}= openprocurement_client.Пошук тендера по ідентифікатору ${username} ${tender_uid} | |
428 | 311 | |
429 | 312 | ############################################################################## |
430 | 313 | # Limited procurement | ... | ... |
1 | 1 | Default: |
2 | 2 | # These values are used by default unless a |
3 | 3 | # specific broker entry overrides them. |
4 | - intervals: | |
4 | + intervals: # Time in minutes | |
5 | 5 | enquiry: |
6 | 6 | - 0 # Delay before period starts (for startDate) |
7 | 7 | - 11 # Duration of period (for endDate) |
8 | 8 | tender: |
9 | 9 | - 0 |
10 | 10 | - 31 |
11 | - timeout_on_wait: 300 | |
11 | + timeout_on_wait: 300 # Time in seconds | |
12 | 12 | Quinta: |
13 | 13 | # intervals: |
14 | 14 | # enquiry: |
... | ... | @@ -31,7 +31,7 @@ E-tender: |
31 | 31 | provider: E-tender_Provider1 |
32 | 32 | provider1: E-tender_Provider2 |
33 | 33 | viewer: E-tender_Viewer |
34 | - timeout_on_wait: 60 | |
34 | + timeout_on_wait: 600 | |
35 | 35 | Netcast: |
36 | 36 | keywords_file: netcast |
37 | 37 | login: admin |
... | ... | @@ -46,6 +46,20 @@ Newtend: |
46 | 46 | tender_owner: Newtend_Owner |
47 | 47 | provider: Newtend_Provider1 |
48 | 48 | viewer: Newtend_Viewer |
49 | +PrivatMarket: | |
50 | + intervals: | |
51 | + enquiry: | |
52 | + - 0 | |
53 | + - 2 | |
54 | + tender: | |
55 | + - 0 | |
56 | + - 5 | |
57 | + keywords_file: privatmarket | |
58 | + roles: | |
59 | + viewer: PrivatMarket_Viewer | |
60 | + provider: PrivatMarket_Provider | |
61 | + provider1: PrivatMarket_Provider1 | |
62 | + timeout_on_wait: 30 | |
49 | 63 | Prom: |
50 | 64 | intervals: |
51 | 65 | enquiry: |
... | ... | @@ -63,6 +77,17 @@ Publicbid: |
63 | 77 | roles: |
64 | 78 | tender_owner: Publicbid_Owner |
65 | 79 | viewer: Publicbid_Viewer |
80 | + intervals: | |
81 | + enquiry: | |
82 | + - 21 # Delay before period starts (for startDate) | |
83 | + - 15 # Duration of period (for endDate) | |
84 | + tender: | |
85 | + - 1 | |
86 | + - 15 | |
87 | +PublicPortal: | |
88 | + keywords_file: publicportal | |
89 | + roles: | |
90 | + viewer: PublicPortal_Viewer | |
66 | 91 | SmartTender: |
67 | 92 | keywords_file: smarttender |
68 | 93 | roles: | ... | ... |
... | ... | @@ -13,7 +13,6 @@ users: |
13 | 13 | broker: Quinta |
14 | 14 | E-tender_Owner: |
15 | 15 | broker: E-tender |
16 | - username: E-tendertest | |
17 | 16 | homepage: "http://bid.uat.e-tender.biz/#/profile" |
18 | 17 | login: Misha2 |
19 | 18 | password: Password1 |
... | ... | @@ -22,7 +21,6 @@ users: |
22 | 21 | size: [800, 800] |
23 | 22 | E-tender_Provider1: |
24 | 23 | broker: E-tender |
25 | - username: E-tendertest | |
26 | 24 | homepage: "http://bid.uat.e-tender.biz/#/profile" |
27 | 25 | login: st_org |
28 | 26 | password: 12345678 |
... | ... | @@ -31,7 +29,6 @@ users: |
31 | 29 | size: [700, 800] |
32 | 30 | E-tender_Provider2: |
33 | 31 | broker: E-tender |
34 | - username: E-tendertest | |
35 | 32 | homepage: "http://bid.uat.e-tender.biz/#/profile" |
36 | 33 | login: provider2 |
37 | 34 | password: Qa123456 |
... | ... | @@ -40,14 +37,12 @@ users: |
40 | 37 | size: [640, 450] |
41 | 38 | E-tender_Viewer: |
42 | 39 | broker: E-tender |
43 | - username: E-tendertest | |
44 | 40 | homepage: "http://bid.uat.e-tender.biz/#" |
45 | 41 | browser: chrome |
46 | 42 | position: [0, 0] |
47 | 43 | size: [640, 450] |
48 | 44 | Netcast_Owner: |
49 | 45 | broker: Netcast |
50 | - username: Netcasttest | |
51 | 46 | homepage: "http://dz2.byustudio.in.ua" |
52 | 47 | login: ovramet.s@gmail.com |
53 | 48 | password: Password1 |
... | ... | @@ -56,7 +51,6 @@ users: |
56 | 51 | size: [700, 800] |
57 | 52 | Netcast_Provider1: |
58 | 53 | broker: Netcast |
59 | - username: Netcasttest | |
60 | 54 | homepage: "http://dz2.byustudio.in.ua" |
61 | 55 | login: halyna.khimka@gmail.com |
62 | 56 | password: JHO5VUp5n |
... | ... | @@ -65,14 +59,12 @@ users: |
65 | 59 | size: [600, 800] |
66 | 60 | Netcast_Viewer: |
67 | 61 | broker: Netcast |
68 | - username: Netcasttest | |
69 | 62 | homepage: "http://dz2.byustudio.in.ua" |
70 | 63 | browser: chrome |
71 | 64 | position: [0, 0] |
72 | 65 | size: [600, 800] |
73 | 66 | Newtend_Owner: |
74 | 67 | broker: Newtend |
75 | - username: Newtendtest | |
76 | 68 | homepage: "http://openprocurement:test@dev23.newtend.com/" |
77 | 69 | login: openprocurement@mailinator.com |
78 | 70 | password: 123123 |
... | ... | @@ -81,7 +73,6 @@ users: |
81 | 73 | size: [1200, 1200] |
82 | 74 | Newtend_Provider1: |
83 | 75 | broker: Newtend |
84 | - username: Newtendtest | |
85 | 76 | homepage: "http://openprocurement:test@dev23.newtend.com/" |
86 | 77 | login: openprocboss@mailinator.com |
87 | 78 | password: 123123 |
... | ... | @@ -90,48 +81,80 @@ users: |
90 | 81 | size: [800, 700] |
91 | 82 | Newtend_Viewer: |
92 | 83 | broker: Newtend |
93 | - username: Newtendtest | |
94 | 84 | homepage: "http://openprocurement:test@dev23.newtend.com/openprocurement/tenders" |
95 | 85 | browser: chrome |
96 | 86 | position: [800, 400] |
97 | 87 | size: [800, 700] |
88 | + PrivatMarket_Viewer: | |
89 | + broker: PrivatMarket | |
90 | + homepage: "https://pmarket-rc.privatbank.ua/app.php/business/tenders" | |
91 | + browser: chrome | |
92 | + position: [-1500, 0] | |
93 | + size: [1000, 1000] | |
94 | + PrivatMarket_Provider: | |
95 | + broker: PrivatMarket | |
96 | + homepage: "https://pmarket-rc.privatbank.ua/app.php/business/tenders" | |
97 | + email: pbecommercetest2@ukr.net | |
98 | + login: +380639405094 | |
99 | + password: password5094 | |
100 | + browser: chrome | |
101 | + position: [-1500, 0] | |
102 | + size: [1000, 1000] | |
103 | + PrivatMarket_Provider1: | |
104 | + broker: PrivatMarket | |
105 | + homepage: "https://pmarket-rc.privatbank.ua/app.php/business/tenders" | |
106 | + email: pbecommercetest1@ukr.net | |
107 | + login: +380980704168 | |
108 | + password: password4168 | |
109 | + browser: chrome | |
110 | + position: [-1500, 0] | |
111 | + size: [1000, 1000] | |
98 | 112 | Prom_Owner: |
99 | 113 | broker: Prom |
100 | - username: Promtest | |
101 | 114 | homepage: "http://my.dz-test.net/cabinet/purchases/state_purchase/list" |
102 | - login: test@test12.com | |
115 | + login: test@test12.com | |
103 | 116 | password: 1234 |
104 | 117 | browser: chrome |
105 | - position: [0, 0] | |
106 | - size: [1280, 1024] | |
118 | + position: [0, 0] | |
119 | + size: [1280, 1024] | |
107 | 120 | Prom_Viewer: |
108 | 121 | broker: Prom |
109 | - username: Promtest | |
110 | 122 | homepage: "http://my.dz-test.net/cabinet/purchases/state_purchase/list" |
111 | - login: r.zaporozhets@smartweb.com.ua | |
123 | + login: r.zaporozhets@smartweb.com.ua | |
112 | 124 | password: 1234 |
113 | 125 | browser: chrome |
114 | - position: [640, 0] | |
115 | - size: [1280, 1024] | |
126 | + position: [640, 0] | |
127 | + size: [1280, 1024] | |
116 | 128 | Publicbid_Owner: |
117 | 129 | broker: Publicbid |
118 | - username: Publicbid | |
119 | - homepage: "https://public-bid.com.ua/" | |
120 | - login: yaroslav1boyko@gmail.com | |
121 | - password: Password1 | |
130 | + homepage: "http://217.76.194.185:56034/" | |
131 | + login: owner_pb@yopmail.com | |
132 | + password: P@ssw0rd | |
122 | 133 | browser: chrome |
123 | 134 | position: [0, 0] |
124 | - size: [740, 550] | |
135 | + size: [1000, 720] | |
125 | 136 | Publicbid_Viewer: |
126 | 137 | broker: Publicbid |
127 | - username: Publicbid | |
128 | - homepage: "https://public-bid.com.ua/" | |
138 | + homepage: "http://217.76.194.185:56034/" | |
129 | 139 | browser: chrome |
130 | 140 | position: [0, 450] |
131 | - size: [640, 450] | |
141 | + size: [1000, 720] | |
142 | + Publicbid_Provider1: | |
143 | + broker: Publicbid | |
144 | + homepage: "http://217.76.194.185:56034/" | |
145 | + login: provider_pb@yopmail.com | |
146 | + password: P@ssw0rd | |
147 | + browser: chrome | |
148 | + position: [450, 0] | |
149 | + size: [1000, 720] | |
150 | + PublicPortal_Viewer: | |
151 | + broker: PublicPortal | |
152 | + homepage: "http://dev.prozorro.org/" | |
153 | + browser: chrome | |
154 | + position: [0, 0] | |
155 | + size: [640, 480] | |
132 | 156 | SmartTender_Viewer: |
133 | 157 | broker: SmartTender |
134 | - username: SmartTendertest | |
135 | 158 | homepage: "http://smarttender.biz/tenders" |
136 | 159 | browser: chrome |
137 | 160 | position: [0, 450] | ... | ... |
... | ... | @@ -12,7 +12,8 @@ fake_en = Factory.create() |
12 | 12 | |
13 | 13 | def create_fake_doc(): |
14 | 14 | content = fake.text() |
15 | - tf = NamedTemporaryFile(delete=False) | |
15 | + suffix = fake.random_element(('.txt', '.doc', '.docx', '.pdf')) | |
16 | + tf = NamedTemporaryFile(delete=False, suffix=suffix) | |
16 | 17 | tf.write(content) |
17 | 18 | tf.close() |
18 | 19 | return tf.name | ... | ... |
... | ... | @@ -45,10 +45,13 @@ Set Suite Variable With Default Value |
45 | 45 | :FOR ${username} ${user_data} IN @{users_list} |
46 | 46 | \ log ${active_users} |
47 | 47 | \ log ${username} |
48 | + \ ${munch_dict}= munch_dict data=${True} | |
49 | + \ Log Many ${munch_dict} | |
48 | 50 | \ ${status}= Run Keyword And Return Status Dictionary Should Contain Value ${active_users} ${username} |
49 | 51 | \ ${keywords_file}= Get Broker Property By Username ${username} keywords_file |
50 | 52 | \ Run Keyword If '${status}' == 'True' Завантажуємо бібліотеку з реалізацією для майданчика ${keywords_file} |
51 | 53 | \ Run Keyword If '${status}' == 'True' Викликати для учасника ${username} Підготувати клієнт для користувача |
54 | + \ Run Keyword If '${status}' == 'True' Set To Dictionary ${USERS.users['${username}']} tender_data ${munch_dict} | |
52 | 55 | |
53 | 56 | |
54 | 57 | Get Broker Property |
... | ... | @@ -126,14 +129,14 @@ Get Broker Property By Username |
126 | 129 | Звірити поле тендера |
127 | 130 | [Arguments] ${username} ${tender_data} ${field} |
128 | 131 | ${left}= Get_From_Object ${tender_data.data} ${field} |
129 | - ${right}= Викликати для учасника ${username} Отримати інформацію із тендера ${field} | |
130 | - Порівняти об'єкти ${left} ${right} | |
132 | + Звірити поле тендера із значенням ${username} ${left} ${field} | |
131 | 133 | |
132 | 134 | |
133 | 135 | Звірити поле тендера із значенням |
134 | 136 | [Arguments] ${username} ${left} ${field} |
135 | 137 | ${right}= Викликати для учасника ${username} Отримати інформацію із тендера ${field} |
136 | 138 | Порівняти об'єкти ${left} ${right} |
139 | + Set_To_Object ${USERS.users['${username}'].tender_data.data} ${field} ${left} | |
137 | 140 | |
138 | 141 | |
139 | 142 | Порівняти об'єкти |
... | ... | @@ -146,14 +149,14 @@ Get Broker Property By Username |
146 | 149 | Звірити дату тендера |
147 | 150 | [Arguments] ${username} ${tender_data} ${field} |
148 | 151 | ${left}= Get_From_Object ${tender_data.data} ${field} |
149 | - ${right}= Викликати для учасника ${username} Отримати інформацію із тендера ${field} | |
150 | - Звірити дату ${left} ${right} | |
152 | + Звірити дату тендера із значенням ${username} ${left} ${field} | |
151 | 153 | |
152 | 154 | |
153 | 155 | Звірити дату тендера із значенням |
154 | 156 | [Arguments] ${username} ${left} ${field} |
155 | 157 | ${right}= Викликати для учасника ${username} Отримати інформацію із тендера ${field} |
156 | 158 | Звірити дату ${left} ${right} |
159 | + Set_To_Object ${USERS.users['${username}'].tender_data.data} ${field} ${left} | |
157 | 160 | |
158 | 161 | |
159 | 162 | Звірити дату |
... | ... | @@ -216,8 +219,8 @@ SwitchState |
216 | 219 | Log Many @{arguments} |
217 | 220 | ${keywords_file}= Get Broker Property By Username ${username} keywords_file |
218 | 221 | ${status} ${value}= run_keyword_and_ignore_keyword_definitions ${keywords_file}.${command} ${username} @{arguments} |
219 | - Run keyword if '${status}' == 'PASS' Log Учасник ${username} зміг виконати "${command}" WARN | |
220 | - [return] ${value} | |
222 | + Run keyword if '${status}' == 'PASS' Fail Користувач ${username} зміг виконати "${command}" | |
223 | + [return] ${value} | |
221 | 224 | |
222 | 225 | |
223 | 226 | Дочекатись дати |
... | ... | @@ -227,16 +230,24 @@ SwitchState |
227 | 230 | |
228 | 231 | |
229 | 232 | Дочекатись дати початку прийому пропозицій |
230 | - Дочекатись дати ${tender_data.data.tenderPeriod.startDate} | |
233 | + [Arguments] ${username} | |
234 | + log ${username} | |
235 | + Дочекатись дати ${USERS.users['${username}'].tender_data.data.tenderPeriod.startDate} | |
231 | 236 | |
232 | 237 | |
233 | 238 | Дочекатись дати закінчення прийому пропозицій |
234 | - Дочекатись дати ${tender_data.data.tenderPeriod.endDate} | |
239 | + [Arguments] ${username} | |
240 | + log ${username} | |
241 | + Дочекатись дати ${USERS.users['${username}'].tender_data.data.tenderPeriod.endDate} | |
235 | 242 | |
236 | 243 | |
237 | 244 | Дочекатись дати початку аукціону |
238 | - Дочекатись дати ${tender_data.data.auctionPeriod.startDate} | |
245 | + [Arguments] ${username} | |
246 | + log ${username} | |
247 | + Дочекатись дати ${USERS.users['${username}'].tender_data.data.auctionPeriod.startDate} | |
239 | 248 | |
240 | 249 | |
241 | 250 | Дочекатись дати закінчення аукціону |
242 | - Дочекатись дати ${tender_data.data.auctionPeriod.endDate} | |
251 | + [Arguments] ${username} | |
252 | + log ${username} | |
253 | + Дочекатись дати ${USERS.users['${username}'].tender_data.data.auctionPeriod.endDate} | ... | ... |
... | ... | @@ -21,16 +21,22 @@ ${broker} Quinta |
21 | 21 | [Documentation] Створення закупівлі замовником, обовязково має повертати UAID закупівлі (номер тендера), |
22 | 22 | ${base_tender_data}= Підготовка початкових даних |
23 | 23 | ${tender_data}= test_meat_tender_data ${base_tender_data} |
24 | - ${TENDER_UAID}= Викликати для учасника ${tender_owner} Створити тендер ${tender_data} | |
25 | - ${LAST_MODIFICATION_DATE}= Get Current Date | |
24 | + ${TENDER_UAID}= Викликати для учасника ${tender_owner} Створити тендер ${tender_data} | |
25 | + ${LAST_MODIFICATION_DATE}= Get Current TZdate | |
26 | + Set To Dictionary ${USERS.users['${tender_owner}']} initial_data ${tender_data} | |
26 | 27 | Set To Dictionary ${TENDER} TENDER_UAID ${TENDER_UAID} |
27 | 28 | Set To Dictionary ${TENDER} LAST_MODIFICATION_DATE ${LAST_MODIFICATION_DATE} |
28 | - log ${TENDER} | |
29 | + Log ${TENDER} | |
29 | 30 | |
30 | -Пошук однопредметного тендера по ідентифікатору | |
31 | +Можливість знайти однопредметний тендер по ідентифікатору | |
31 | 32 | [Tags] ${USERS.users['${viewer}'].broker}: Пошук тендера по ідентифікатору |
33 | + ... viewer | |
34 | + ... ${USERS.users['${viewer}'].broker} | |
35 | + ... minimal | |
32 | 36 | Дочекатись синхронізації з майданчиком ${viewer} |
33 | - Викликати для учасника ${viewer} Пошук тендера по ідентифікатору ${TENDER['TENDER_UAID']} | |
37 | + ${usernames}= Create List ${viewer} ${tender_owner} ${provider} ${provider1} | |
38 | + :FOR ${username} IN @{usernames} | |
39 | + \ Викликати для учасника ${username} Пошук тендера по ідентифікатору ${TENDER['TENDER_UAID']} | |
34 | 40 | |
35 | 41 | Неможливість перевищити ліміт для нецінових критеріїв |
36 | 42 | [Tags] ${USERS.users['${tender_owner}'].broker}: Можливість оголосити тендер |
... | ... | @@ -41,9 +47,18 @@ ${broker} Quinta |
41 | 47 | ###### |
42 | 48 | #Подання пропозицій |
43 | 49 | |
50 | +Відображення початку періоду прийому пропозицій оголошеного тендера | |
51 | + [Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних оголошеного тендера | |
52 | + ... viewer | |
53 | + ... ${USERS.users['${viewer}'].broker} | |
54 | + ... minimal | |
55 | + ${usernames}= Create List ${viewer} ${provider} ${provider1} | |
56 | + :FOR ${username} IN @{usernames} | |
57 | + \ Звірити дату тендера ${username} ${USERS.users['${tender_owner}'].initial_data} tenderPeriod.startDate | |
58 | + | |
44 | 59 | Неможливість подати цінову пропозицію без нецінового показника |
45 | 60 | [Tags] ${USERS.users['${provider}'].broker}: Можливість подати цінову пропозицію |
46 | - Дочекатись дати початку прийому пропозицій | |
61 | + Дочекатись дати початку прийому пропозицій ${provider} | |
47 | 62 | sleep 90 |
48 | 63 | ${bid}= test bid data |
49 | 64 | Log ${bid} |
... | ... | @@ -78,7 +93,7 @@ ${broker} Quinta |
78 | 93 | |
79 | 94 | Подати цінову пропозицію з неціновим показником другим учасником |
80 | 95 | [Tags] ${USERS.users['${provider1}'].broker}: Можливість подати цінову пропозицію |
81 | - Дочекатись дати початку прийому пропозицій | |
96 | + Дочекатись дати початку прийому пропозицій ${provider1} | |
82 | 97 | ${bid}= test bid data meat tender |
83 | 98 | Log ${bid} |
84 | 99 | ${bidresponses}= Create Dictionary |
... | ... | @@ -91,11 +106,16 @@ ${broker} Quinta |
91 | 106 | ###### |
92 | 107 | #Аукціон |
93 | 108 | |
109 | +Відображення дати початку аукціону | |
110 | + [Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних оголошеного тендера | |
111 | + ... viewer | |
112 | + ... ${USERS.users['${viewer}'].broker} | |
113 | + ... minimal | |
114 | + Викликати для учасника ${viewer} Отримати інформацію із тендера auctionPeriod.startDate | |
115 | + | |
116 | + | |
94 | 117 | Очікування аукціону |
95 | - Дочекатись синхронізації з майданчиком ${tender_owner} | |
96 | - ${tender_data}= Викликати для учасника ${tender_owner} Пошук тендера по ідентифікатору ${TENDER['TENDER_UAID']} | |
97 | - log ${tender_data.data.auctionPeriod.startDate} | |
98 | - Дочекатись дати початку аукціону | |
118 | + Дочекатись дати початку аукціону ${viewer} | |
99 | 119 | sleep 1500 |
100 | 120 | |
101 | 121 | Завершення аукціону | ... | ... |
... | ... | @@ -29,7 +29,9 @@ ${broker} Quinta |
29 | 29 | Отримати багатопредметний тендер по ідентифікатору |
30 | 30 | [Tags] ${USERS.users['${viewer}'].broker}: Пошук тендера по ідентифікатору |
31 | 31 | Дочекатись синхронізації з майданчиком ${viewer} |
32 | - Викликати для учасника ${viewer} Пошук тендера по ідентифікатору ${TENDER['TENDER_UAID']} | |
32 | + ${usernames}= Create List ${viewer} ${tender_owner} ${provider} ${provider1} | |
33 | + :FOR ${username} IN @{usernames} | |
34 | + \ Викликати для учасника ${username} Пошук тендера по ідентифікатору ${TENDER['TENDER_UAID']} | |
33 | 35 | |
34 | 36 | Відображення опису позицій закупівлі багатопредметного тендера |
35 | 37 | [Tags] ${USERS.users['${viewer}'].broker}: Відображення полів предметів багатопредметного тендера | ... | ... |
... | ... | @@ -24,15 +24,18 @@ ${complaint_id} 1 |
24 | 24 | ${tender_data}= Підготовка початкових даних |
25 | 25 | ${tender_data}= test_tender_data_multiple_lots ${tender_data} |
26 | 26 | ${TENDER_UAID}= Викликати для учасника ${tender_owner} Створити тендер ${tender_data} |
27 | - ${LAST_MODIFICATION_DATE}= Get Current Date | |
27 | + ${LAST_MODIFICATION_DATE}= Get Current TZdate | |
28 | + Set To Dictionary ${USERS.users['${tender_owner}']} initial_data ${tender_data} | |
28 | 29 | Set To Dictionary ${TENDER} TENDER_UAID ${TENDER_UAID} |
29 | 30 | Set To Dictionary ${TENDER} LAST_MODIFICATION_DATE ${LAST_MODIFICATION_DATE} |
30 | - log ${TENDER} | |
31 | + Log ${TENDER} | |
31 | 32 | |
32 | 33 | Пошук мультилотового тендера по ідентифікатору |
33 | 34 | [Tags] ${USERS.users['${viewer}'].broker}: Пошук тендера по ідентифікатору |
34 | 35 | Дочекатись синхронізації з майданчиком ${viewer} |
35 | - Викликати для учасника ${viewer} Пошук тендера по ідентифікатору ${TENDER['TENDER_UAID']} | |
36 | + ${usernames}= Create List ${viewer} ${tender_owner} ${provider} ${provider1} | |
37 | + :FOR ${username} IN @{usernames} | |
38 | + \ Викликати для учасника ${username} Пошук тендера по ідентифікатору ${TENDER['TENDER_UAID']} | |
36 | 39 | |
37 | 40 | Отримання тендера |
38 | 41 | Дочекатись синхронізації з майданчиком ${tender_owner} |
... | ... | @@ -88,8 +91,8 @@ ${complaint_id} 1 |
88 | 91 | Викликати для учасника ${tender_owner} Додати предмети закупівлі ${TENDER['TENDER_UAID']} 1 |
89 | 92 | |
90 | 93 | Добавити предмет закупівлі до лоту |
91 | - Log ${tender_data.data['items']} | |
92 | - ${items}= Get Variable Value ${tender_data.data['items']} | |
94 | + ${items}= Get Variable Value ${USERS.users['${tender_owner}'].tender_data.data['items']} | |
95 | + Log ${items} | |
93 | 96 | ${lot_id}= Get Variable Value ${USERS.users['${tender_owner}'].lotresponses['resp'].data.id} |
94 | 97 | Set To Dictionary ${items[-1]} relatedLot ${lot_id} |
95 | 98 | Log ${items[-1]} |
... | ... | @@ -101,10 +104,10 @@ ${complaint_id} 1 |
101 | 104 | Викликати для учасника ${tender_owner} Видалити лот shouldfail ${tender_data} ${lot} |
102 | 105 | |
103 | 106 | Можливість видалити позиції закупівлі тендера |
104 | - ${items}= Get Variable Value ${tender_data.data['items']} | |
105 | - Log ${tender_data.data} | |
106 | - Викликати для учасника ${tender_owner} Внести зміни в тендер ${TENDER['TENDER_UAID']} items ${items[:-1]} | |
107 | - Log ${tender_data.data} | |
107 | + ${items}= Get Variable Value ${USERS.users['${tender_owner}'].tender_data.data['items']} | |
108 | + Log ${items} | |
109 | + ${resp}= Викликати для учасника ${tender_owner} Внести зміни в тендер ${TENDER['TENDER_UAID']} items ${items[:-1]} | |
110 | + Log ${resp} | |
108 | 111 | |
109 | 112 | Можливість додати тендерну документацію лоту |
110 | 113 | [Tags] ${USERS.users['${tender_owner}'].broker}: Можливість завантажити документ |
... | ... | @@ -126,13 +129,13 @@ ${complaint_id} 1 |
126 | 129 | [Tags] ${USERS.users['${provider}'].broker}: Можливість задати запитання |
127 | 130 | ${question}= Викликати для учасника ${provider} Задати питання ${TENDER['TENDER_UAID']} ${QUESTIONS[${question_id}]} |
128 | 131 | log ${question} |
129 | - ${now}= Get Current Date | |
132 | + ${now}= Get Current TZdate | |
130 | 133 | Set To Dictionary ${QUESTIONS[${question_id}].data} date ${now} |
131 | 134 | |
132 | 135 | Відповісти на запитання |
133 | 136 | [Tags] ${USERS.users['${tender_owner}'].broker}: Можливість відповісти на запитання |
134 | 137 | Викликати для учасника ${tender_owner} Відповісти на питання ${TENDER['TENDER_UAID']} 0 ${ANSWERS[0]} |
135 | - ${now}= Get Current Date | |
138 | + ${now}= Get Current TZdate | |
136 | 139 | Set To Dictionary ${ANSWERS[${question_id}-1].data} date ${now} |
137 | 140 | |
138 | 141 | |
... | ... | @@ -193,6 +196,24 @@ ${complaint_id} 1 |
193 | 196 | ###### |
194 | 197 | #Подання пропозицій |
195 | 198 | |
199 | +Відображення початку періоду прийому пропозицій оголошеного тендера | |
200 | + [Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних оголошеного тендера | |
201 | + ... viewer | |
202 | + ... ${USERS.users['${viewer}'].broker} | |
203 | + ... minimal | |
204 | + ${usernames}= Create List ${viewer} ${provider} ${provider1} | |
205 | + :FOR ${username} IN @{usernames} | |
206 | + \ Звірити дату тендера ${username} ${USERS.users['${tender_owner}'].initial_data} tenderPeriod.startDate | |
207 | + | |
208 | +Відображення закінчення періоду прийому пропозицій оголошеного тендера | |
209 | + [Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних оголошеного тендера | |
210 | + ... viewer | |
211 | + ... ${USERS.users['${viewer}'].broker} | |
212 | + ... minimal | |
213 | + ${usernames}= Create List ${viewer} ${provider} ${provider1} | |
214 | + :FOR ${username} IN @{usernames} | |
215 | + \ Звірити дату тендера ${username} ${USERS.users['${tender_owner}'].initial_data} tenderPeriod.endDate | |
216 | + | |
196 | 217 | Неможливість подати цінову пропозицію до початку періоду подачі пропозицій |
197 | 218 | [Tags] ${USERS.users['${provider}'].broker}: Можливість подати цінову пропозицію |
198 | 219 | ${bid}= test lots bid data |
... | ... | @@ -205,7 +226,7 @@ ${complaint_id} 1 |
205 | 226 | |
206 | 227 | Неможливість подати цінову пропозицію без прив’язки до лоту |
207 | 228 | [Tags] ${USERS.users['${provider}'].broker}: Можливість подати цінову пропозицію |
208 | - Дочекатись дати початку прийому пропозицій | |
229 | + Дочекатись дати початку прийому пропозицій ${provider} | |
209 | 230 | ${bid}= test bid data |
210 | 231 | Log ${bid} |
211 | 232 | ${bidresponses}= Create Dictionary |
... | ... | @@ -228,7 +249,7 @@ ${complaint_id} 1 |
228 | 249 | |
229 | 250 | Подати повторно цінову пропозицію першим учасником |
230 | 251 | [Tags] ${USERS.users['${provider}'].broker}: Можливість подати цінову пропозицію |
231 | - Дочекатись дати початку прийому пропозицій | |
252 | + Дочекатись дати початку прийому пропозицій ${provider} | |
232 | 253 | ${bid}= test lots bid data |
233 | 254 | Log ${bid} |
234 | 255 | ${resp}= Викликати для учасника ${provider} Подати цінову пропозицію ${TENDER['TENDER_UAID']} ${bid} |
... | ... | @@ -254,7 +275,7 @@ ${complaint_id} 1 |
254 | 275 | |
255 | 276 | Подати цінову пропозицію другим учасником |
256 | 277 | [Tags] ${USERS.users['${provider1}'].broker}: Можливість подати цінову пропозицію |
257 | - Дочекатись дати початку прийому пропозицій | |
278 | + Дочекатись дати початку прийому пропозицій ${provider1} | |
258 | 279 | ${bid}= test lots bid data |
259 | 280 | Log ${bid} |
260 | 281 | ${bidresponses}= Create Dictionary |
... | ... | @@ -271,7 +292,7 @@ ${complaint_id} 1 |
271 | 292 | |
272 | 293 | Неможливість змінити цінову пропозицію до 50000 після закінчення прийому пропозицій |
273 | 294 | [Tags] ${USERS.users['${provider1}'].broker}: Неможливість змінити цінову пропозицію до 50000 після закінчення прийому пропозицій |
274 | - Дочекатись дати закінчення прийому пропозицій | |
295 | + Дочекатись дати закінчення прийому пропозицій ${provider1} | |
275 | 296 | Set To Dictionary ${USERS.users['${provider1}'].bidresponses['resp'].data.lotValues[0].value} amount 50000 |
276 | 297 | Log ${USERS.users['${provider1}'].bidresponses['resp'].data.lotValues[0].value} |
277 | 298 | ${failfixbidto50000resp}= Викликати для учасника ${provider1} Змінити цінову пропозицію shouldfail ${TENDER['TENDER_UAID']} ${USERS.users['${provider1}'].bidresponses['resp']} | ... | ... |
... | ... | @@ -233,6 +233,14 @@ def modify_tender(tender_id, access_token): |
233 | 233 | return data |
234 | 234 | |
235 | 235 | |
236 | +def munch_dict(arg=None, data=False): | |
237 | + if arg is None: | |
238 | + arg = {} | |
239 | + if data: | |
240 | + arg['data'] = {} | |
241 | + return munchify(arg) | |
242 | + | |
243 | + | |
236 | 244 | # GUI Frontends common |
237 | 245 | def add_data_for_gui_frontends(tender_data): |
238 | 246 | now = get_now() | ... | ... |
... | ... | @@ -20,6 +20,9 @@ ${question_id} 0 |
20 | 20 | *** Test Cases *** |
21 | 21 | Можливість оголосити однопредметний тендер |
22 | 22 | [Tags] ${USERS.users['${tender_owner}'].broker}: Можливість оголосити тендер |
23 | + ... tender_owner | |
24 | + ... ${USERS.users['${tender_owner}'].broker} | |
25 | + ... minimal | |
23 | 26 | [Documentation] Створення закупівлі замовником, обовязково має повертати UAID закупівлі (номер тендера), |
24 | 27 | ${tender_data}= Підготовка початкових даних |
25 | 28 | ${TENDER_UAID}= Викликати для учасника ${tender_owner} Створити тендер ${tender_data} |
... | ... | @@ -31,6 +34,8 @@ ${question_id} 0 |
31 | 34 | |
32 | 35 | Можливість додати тендерну документацію |
33 | 36 | [Tags] ${USERS.users['${tender_owner}'].broker}: Можливість завантажити документ |
37 | + ... tender_owner | |
38 | + ... ${USERS.users['${tender_owner}'].broker} | |
34 | 39 | [Documentation] Закупівельник ${USERS.users['${tender_owner}'].broker} завантажує документацію до оголошеної закупівлі |
35 | 40 | ${filepath}= create_fake_doc |
36 | 41 | ${doc_upload_reply}= Викликати для учасника ${tender_owner} Завантажити документ ${filepath} ${TENDER['TENDER_UAID']} |
... | ... | @@ -39,10 +44,15 @@ ${question_id} 0 |
39 | 44 | Set To Dictionary ${USERS.users['${tender_owner}']} file_upload_process_data ${file_upload_process_data} |
40 | 45 | Log ${USERS.users['${tender_owner}']} |
41 | 46 | |
42 | -Пошук однопредметного тендера по ідентифікатору | |
47 | +Можливість знайти однопредметний тендер по ідентифікатору | |
43 | 48 | [Tags] ${USERS.users['${viewer}'].broker}: Пошук тендера по ідентифікатору |
49 | + ... viewer | |
50 | + ... ${USERS.users['${viewer}'].broker} | |
51 | + ... minimal | |
44 | 52 | Дочекатись синхронізації з майданчиком ${viewer} |
45 | - Викликати для учасника ${viewer} Пошук тендера по ідентифікатору ${TENDER['TENDER_UAID']} | |
53 | + ${usernames}= Create List ${viewer} ${tender_owner} ${provider} ${provider1} | |
54 | + :FOR ${username} IN @{usernames} | |
55 | + \ Викликати для учасника ${username} Пошук тендера по ідентифікатору ${TENDER['TENDER_UAID']} | |
46 | 56 | |
47 | 57 | ###### |
48 | 58 | #Відображення основних даних оголошеного тендера: |
... | ... | @@ -51,46 +61,78 @@ ${question_id} 0 |
51 | 61 | |
52 | 62 | Відображення заголовку оголошеного тендера |
53 | 63 | [Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних оголошеного тендера |
54 | - Звірити поле тендера ${viewer} ${USERS.users['${tender_owner}'].initial_data} title | |
64 | + ... viewer | |
65 | + ... ${USERS.users['${viewer}'].broker} | |
66 | + ... minimal | |
67 | + ${usernames}= Create List ${viewer} ${provider} | |
68 | + :FOR ${username} IN @{usernames} | |
69 | + \ Звірити поле тендера ${username} ${USERS.users['${tender_owner}'].initial_data} title | |
55 | 70 | |
56 | 71 | Відображення опису оголошеного тендера |
57 | 72 | [Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних оголошеного тендера |
73 | + ... viewer | |
74 | + ... ${USERS.users['${viewer}'].broker} | |
58 | 75 | Звірити поле тендера ${viewer} ${USERS.users['${tender_owner}'].initial_data} description |
59 | 76 | |
60 | 77 | Відображення бюджету оголошеного тендера |
61 | 78 | [Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних оголошеного тендера |
79 | + ... viewer | |
80 | + ... ${USERS.users['${viewer}'].broker} | |
62 | 81 | Звірити поле тендера ${viewer} ${USERS.users['${tender_owner}'].initial_data} value.amount |
63 | 82 | |
64 | 83 | Відображення tenderID оголошеного тендера |
65 | 84 | [Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних оголошеного тендера |
85 | + ... viewer | |
86 | + ... ${USERS.users['${viewer}'].broker} | |
66 | 87 | Звірити поле тендера із значенням ${viewer} ${TENDER['TENDER_UAID']} tenderID |
67 | 88 | |
68 | 89 | Відображення procuringEntity.name оголошеного тендера |
69 | 90 | [Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних оголошеного тендера |
91 | + ... viewer | |
92 | + ... ${USERS.users['${viewer}'].broker} | |
70 | 93 | Звірити поле тендера ${viewer} ${USERS.users['${tender_owner}'].initial_data} procuringEntity.name |
71 | 94 | |
72 | 95 | Відображення початку періоду уточнення оголошеного тендера |
73 | 96 | [Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних оголошеного тендера |
97 | + ... viewer | |
98 | + ... ${USERS.users['${viewer}'].broker} | |
74 | 99 | Звірити дату тендера ${viewer} ${USERS.users['${tender_owner}'].initial_data} enquiryPeriod.startDate |
75 | 100 | |
76 | 101 | Відображення закінчення періоду уточнення оголошеного тендера |
77 | 102 | [Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних оголошеного тендера |
103 | + ... viewer | |
104 | + ... ${USERS.users['${viewer}'].broker} | |
105 | + ... minimal | |
78 | 106 | Звірити дату тендера ${viewer} ${USERS.users['${tender_owner}'].initial_data} enquiryPeriod.endDate |
79 | 107 | |
80 | 108 | Відображення початку періоду прийому пропозицій оголошеного тендера |
81 | 109 | [Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних оголошеного тендера |
82 | - Звірити дату тендера ${viewer} ${USERS.users['${tender_owner}'].initial_data} tenderPeriod.startDate | |
110 | + ... viewer | |
111 | + ... ${USERS.users['${viewer}'].broker} | |
112 | + ... minimal | |
113 | + ${usernames}= Create List ${viewer} ${provider} ${provider1} | |
114 | + :FOR ${username} IN @{usernames} | |
115 | + \ Звірити дату тендера ${username} ${USERS.users['${tender_owner}'].initial_data} tenderPeriod.startDate | |
83 | 116 | |
84 | 117 | Відображення закінчення періоду прийому пропозицій оголошеного тендера |
85 | 118 | [Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних оголошеного тендера |
86 | - Звірити дату тендера ${viewer} ${USERS.users['${tender_owner}'].initial_data} tenderPeriod.endDate | |
119 | + ... viewer | |
120 | + ... ${USERS.users['${viewer}'].broker} | |
121 | + ... minimal | |
122 | + ${usernames}= Create List ${viewer} ${provider} ${provider1} | |
123 | + :FOR ${username} IN @{usernames} | |
124 | + \ Звірити дату тендера ${username} ${USERS.users['${tender_owner}'].initial_data} tenderPeriod.endDate | |
87 | 125 | |
88 | 126 | Відображення мінімального кроку оголошеного тендера |
89 | 127 | [Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних оголошеного тендера |
128 | + ... viewer | |
129 | + ... ${USERS.users['${viewer}'].broker} | |
90 | 130 | Звірити поле тендера ${viewer} ${USERS.users['${tender_owner}'].initial_data} minimalStep.amount |
91 | 131 | |
92 | 132 | Можливість редагувати однопредметний тендер |
93 | 133 | [Tags] ${USERS.users['${tender_owner}'].broker}: Можливість оголосити тендер |
134 | + ... tender_owner | |
135 | + ... ${USERS.users['${tender_owner}'].broker} | |
94 | 136 | Викликати для учасника ${tender_owner} Внести зміни в тендер ${TENDER['TENDER_UAID']} description description |
95 | 137 | |
96 | 138 | ####### |
... | ... | @@ -99,127 +141,176 @@ ${question_id} 0 |
99 | 141 | |
100 | 142 | Відображення опису позицій закупівлі однопредметного тендера |
101 | 143 | [Tags] ${USERS.users['${viewer}'].broker}: Відображення полів предметів однопредметного тендера |
144 | + ... viewer | |
145 | + ... ${USERS.users['${viewer}'].broker} | |
102 | 146 | Звірити поле тендера ${viewer} ${USERS.users['${tender_owner}'].initial_data} items[0].description |
103 | 147 | |
104 | 148 | Відображення дати доставки позицій закупівлі однопредметного тендера |
105 | 149 | [Tags] ${USERS.users['${viewer}'].broker}: Відображення полів предметів однопредметного тендера |
150 | + ... viewer | |
151 | + ... ${USERS.users['${viewer}'].broker} | |
106 | 152 | Звірити дату тендера ${viewer} ${USERS.users['${tender_owner}'].initial_data} items[0].deliveryDate.endDate |
107 | 153 | |
108 | 154 | Відображення координат широти доставки позицій закупівлі однопредметного тендера |
109 | 155 | [Tags] ${USERS.users['${viewer}'].broker}: Відображення полів предметів однопредметного тендера |
156 | + ... viewer | |
157 | + ... ${USERS.users['${viewer}'].broker} | |
110 | 158 | Звірити поле тендера ${viewer} ${USERS.users['${tender_owner}'].initial_data} items[0].deliveryLocation.latitude |
111 | 159 | |
112 | 160 | Відображення координат довготи доставки позицій закупівлі однопредметного тендера |
113 | 161 | [Tags] ${USERS.users['${viewer}'].broker}: Відображення полів предметів однопредметного тендера |
162 | + ... viewer | |
163 | + ... ${USERS.users['${viewer}'].broker} | |
114 | 164 | Звірити поле тендера ${viewer} ${USERS.users['${tender_owner}'].initial_data} items[0].deliveryLocation.longitude |
115 | 165 | |
116 | 166 | Відображення назви нас. пункту доставки позицій закупівлі однопредметного тендера |
117 | 167 | [Tags] ${USERS.users['${viewer}'].broker}: Відображення полів предметів однопредметного тендера |
168 | + ... viewer | |
169 | + ... ${USERS.users['${viewer}'].broker} | |
118 | 170 | Звірити поле тендера ${viewer} ${USERS.users['${tender_owner}'].initial_data} items[0].deliveryAddress.countryName |
119 | 171 | |
120 | 172 | Відображення пошт. коду доставки позицій закупівлі однопредметного тендера |
121 | 173 | [Tags] ${USERS.users['${viewer}'].broker}: Відображення полів предметів однопредметного тендера |
174 | + ... viewer | |
175 | + ... ${USERS.users['${viewer}'].broker} | |
122 | 176 | Звірити поле тендера ${viewer} ${USERS.users['${tender_owner}'].initial_data} items[0].deliveryAddress.postalCode |
123 | 177 | |
124 | 178 | Відображення регіону доставки позицій закупівлі однопредметного тендера |
125 | 179 | [Tags] ${USERS.users['${viewer}'].broker}: Відображення полів предметів однопредметного тендера |
180 | + ... viewer | |
181 | + ... ${USERS.users['${viewer}'].broker} | |
126 | 182 | Звірити поле тендера ${viewer} ${USERS.users['${tender_owner}'].initial_data} items[0].deliveryAddress.region |
127 | 183 | |
128 | 184 | Відображення locality адреси доставки позицій закупівлі однопредметного тендера |
129 | 185 | [Tags] ${USERS.users['${viewer}'].broker}: Відображення полів предметів однопредметного тендера |
186 | + ... viewer | |
187 | + ... ${USERS.users['${viewer}'].broker} | |
130 | 188 | Звірити поле тендера ${viewer} ${USERS.users['${tender_owner}'].initial_data} items[0].deliveryAddress.locality |
131 | 189 | |
132 | 190 | Відображення вулиці доставки позицій закупівлі однопредметного тендера |
133 | 191 | [Tags] ${USERS.users['${viewer}'].broker}: Відображення полів предметів однопредметного тендера |
192 | + ... viewer | |
193 | + ... ${USERS.users['${viewer}'].broker} | |
134 | 194 | Звірити поле тендера ${viewer} ${USERS.users['${tender_owner}'].initial_data} items[0].deliveryAddress.streetAddress |
135 | 195 | |
136 | 196 | Відображення схеми класифікації позицій закупівлі однопредметного тендера |
137 | 197 | [Tags] ${USERS.users['${viewer}'].broker}: Відображення полів предметів однопредметного тендера |
198 | + ... viewer | |
199 | + ... ${USERS.users['${viewer}'].broker} | |
138 | 200 | Звірити поле тендера ${viewer} ${USERS.users['${tender_owner}'].initial_data} items[0].classification.scheme |
139 | 201 | |
140 | 202 | Відображення ідентифікатора класифікації позицій закупівлі однопредметного тендера |
141 | 203 | [Tags] ${USERS.users['${viewer}'].broker}: Відображення полів предметів однопредметного тендера |
204 | + ... viewer | |
205 | + ... ${USERS.users['${viewer}'].broker} | |
142 | 206 | Звірити поле тендера ${viewer} ${USERS.users['${tender_owner}'].initial_data} items[0].classification.id |
143 | 207 | |
144 | 208 | Відображення опису класифікації позицій закупівлі однопредметного тендера |
145 | 209 | [Tags] ${USERS.users['${viewer}'].broker}: Відображення полів предметів однопредметного тендера |
210 | + ... viewer | |
211 | + ... ${USERS.users['${viewer}'].broker} | |
146 | 212 | Звірити поле тендера ${viewer} ${USERS.users['${tender_owner}'].initial_data} items[0].classification.description |
147 | 213 | |
148 | 214 | Відображення схеми додаткової класифікації позицій закупівлі однопредметного тендера |
149 | 215 | [Tags] ${USERS.users['${viewer}'].broker}: Відображення полів предметів однопредметного тендера |
216 | + ... viewer | |
217 | + ... ${USERS.users['${viewer}'].broker} | |
150 | 218 | Звірити поле тендера ${viewer} ${USERS.users['${tender_owner}'].initial_data} items[0].additionalClassifications[0].scheme |
151 | 219 | |
152 | 220 | Відображення ідентифікатора додаткової класифікації позицій закупівлі однопредметного тендера |
153 | 221 | [Tags] ${USERS.users['${viewer}'].broker}: Відображення полів предметів однопредметного тендера |
222 | + ... viewer | |
223 | + ... ${USERS.users['${viewer}'].broker} | |
154 | 224 | Звірити поле тендера ${viewer} ${USERS.users['${tender_owner}'].initial_data} items[0].additionalClassifications[0].id |
155 | 225 | |
156 | 226 | Відображення опису додаткової класифікації позицій закупівлі однопредметного тендера |
157 | 227 | [Tags] ${USERS.users['${viewer}'].broker}: Відображення полів предметів однопредметного тендера |
228 | + ... viewer | |
229 | + ... ${USERS.users['${viewer}'].broker} | |
158 | 230 | Звірити поле тендера ${viewer} ${USERS.users['${tender_owner}'].initial_data} items[0].additionalClassifications[0].description |
159 | 231 | |
160 | 232 | Відображення назви одиниці позицій закупівлі однопредметного тендера |
161 | 233 | [Tags] ${USERS.users['${viewer}'].broker}: Відображення полів предметів однопредметного тендера |
234 | + ... viewer | |
235 | + ... ${USERS.users['${viewer}'].broker} | |
162 | 236 | Звірити поле тендера ${viewer} ${USERS.users['${tender_owner}'].initial_data} items[0].unit.name |
163 | 237 | |
164 | 238 | Відображення коду одиниці позицій закупівлі однопредметного тендера |
165 | 239 | [Tags] ${USERS.users['${viewer}'].broker}: Відображення полів предметів однопредметного тендера |
240 | + ... viewer | |
241 | + ... ${USERS.users['${viewer}'].broker} | |
166 | 242 | Звірити поле тендера ${viewer} ${USERS.users['${tender_owner}'].initial_data} items[0].unit.code |
167 | 243 | |
168 | 244 | Відображення кількості позицій закупівлі однопредметного тендера |
169 | 245 | [Tags] ${USERS.users['${viewer}'].broker}: Відображення полів предметів однопредметного тендера |
246 | + ... viewer | |
247 | + ... ${USERS.users['${viewer}'].broker} | |
170 | 248 | Звірити поле тендера ${viewer} ${USERS.users['${tender_owner}'].initial_data} items[0].quantity |
171 | 249 | |
172 | 250 | ####### |
173 | 251 | #Відображення анонімного питання без відповідей |
174 | 252 | |
175 | -Задати питання | |
253 | +Можливість задати питання | |
176 | 254 | [Tags] ${USERS.users['${provider}'].broker}: Можливість задати запитання |
255 | + ... provider | |
256 | + ... ${USERS.users['${provider}'].broker} | |
177 | 257 | Викликати для учасника ${provider} Задати питання ${TENDER['TENDER_UAID']} ${QUESTIONS[${question_id}]} |
178 | 258 | ${now}= Get Current TZdate |
179 | 259 | Set To Dictionary ${QUESTIONS[${question_id}].data} date ${now} |
180 | 260 | |
181 | 261 | Відображення заголовку анонімного питання без відповіді |
182 | 262 | [Tags] ${USERS.users['${viewer}'].broker}: Відображення анонімного питання без відповідей |
263 | + ... viewer | |
264 | + ... ${USERS.users['${viewer}'].broker} | |
183 | 265 | Дочекатись синхронізації з майданчиком ${viewer} |
184 | 266 | Викликати для учасника ${viewer} Оновити сторінку з тендером ${TENDER['TENDER_UAID']} |
185 | 267 | Звірити поле тендера із значенням ${viewer} ${QUESTIONS[${question_id}].data.title} questions[${question_id}].title |
186 | 268 | |
187 | 269 | Відображення опису анонімного питання без відповіді |
188 | 270 | [Tags] ${USERS.users['${viewer}'].broker}: Відображення анонімного питання без відповідей |
271 | + ... viewer | |
272 | + ... ${USERS.users['${viewer}'].broker} | |
189 | 273 | Звірити поле тендера із значенням ${viewer} ${QUESTIONS[${question_id}].data.description} questions[${question_id}].description |
190 | 274 | |
191 | 275 | Відображення дати анонімного питання без відповіді |
192 | 276 | [Tags] ${USERS.users['${viewer}'].broker}: Відображення анонімного питання без відповідей |
277 | + ... viewer | |
278 | + ... ${USERS.users['${viewer}'].broker} | |
193 | 279 | Звірити дату тендера із значенням ${viewer} ${QUESTIONS[${question_id}].data.date} questions[${question_id}].date |
194 | 280 | |
195 | 281 | Неможливість подати цінову пропозицію до початку періоду подачі пропозицій першим учасником |
196 | 282 | [Tags] ${USERS.users['${provider}'].broker}: Можливість подати цінову пропозицію |
283 | + ... provider | |
284 | + ... ${USERS.users['${provider}'].broker} | |
197 | 285 | ${bid}= test bid data |
198 | 286 | Log ${bid} |
199 | - ${bidresponses}= Create Dictionary | |
200 | 287 | ${bid_before_bidperiod_resp}= Викликати для учасника ${provider} Подати цінову пропозицію shouldfail ${TENDER['TENDER_UAID']} ${bid} |
201 | - Set To Dictionary ${bidresponses} bid_before_bidperiod_resp ${bid_before_bidperiod_resp} | |
202 | - Set To Dictionary ${USERS.users['${provider}']} bidresponses ${bidresponses} | |
203 | - log ${USERS.users['${provider}']} | |
288 | + Log ${bid_before_bidperiod_resp} | |
204 | 289 | |
205 | 290 | ####### |
206 | 291 | #Відображення відповіді на запитання |
207 | 292 | |
208 | -Відповісти на запитання | |
293 | +Можливість відповісти на запитання | |
209 | 294 | [Tags] ${USERS.users['${tender_owner}'].broker}: Можливість відповісти на запитання |
295 | + ... tender_owner | |
296 | + ... ${USERS.users['${tender_owner}'].broker} | |
210 | 297 | Викликати для учасника ${tender_owner} Відповісти на питання ${TENDER['TENDER_UAID']} 0 ${ANSWERS[0]} |
211 | 298 | ${now}= Get Current TZdate |
212 | 299 | Set To Dictionary ${ANSWERS[${question_id}].data} date ${now} |
213 | 300 | |
214 | 301 | Відображення відповіді на запитання |
215 | 302 | [Tags] ${USERS.users['${viewer}'].broker}: Відображення відповіді на запитання |
303 | + ... viewer | |
304 | + ... ${USERS.users['${viewer}'].broker} | |
216 | 305 | Дочекатись синхронізації з майданчиком ${viewer} |
217 | 306 | Викликати для учасника ${viewer} Оновити сторінку з тендером ${TENDER['TENDER_UAID']} |
218 | 307 | Звірити поле тендера із значенням ${viewer} ${ANSWERS[${question_id}].data.answer} questions[${question_id}].answer |
219 | 308 | |
220 | -Подати цінову пропозицію першим учасником | |
309 | +Можливість подати цінову пропозицію першим учасником | |
221 | 310 | [Tags] ${USERS.users['${provider}'].broker}: Можливість подати цінову пропозицію |
222 | - Дочекатись дати початку прийому пропозицій | |
311 | + ... provider | |
312 | + ... ${USERS.users['${provider}'].broker} | |
313 | + Дочекатись дати початку прийому пропозицій ${provider} | |
223 | 314 | ${bid}= test bid data |
224 | 315 | Log ${bid} |
225 | 316 | ${biddingresponse0}= Викликати для учасника ${provider} Подати цінову пропозицію ${TENDER['TENDER_UAID']} ${bid} |
... | ... | @@ -228,20 +319,28 @@ ${question_id} 0 |
228 | 319 | |
229 | 320 | Можливість скасувати цінову пропозицію |
230 | 321 | [Tags] ${USERS.users['${provider}'].broker}: Можливість скасувати цінову пропозицію |
322 | + ... provider | |
323 | + ... ${USERS.users['${provider}'].broker} | |
231 | 324 | ${biddingresponse_0}= Викликати для учасника ${provider} Скасувати цінову пропозицію ${TENDER['TENDER_UAID']} ${biddingresponse0} |
232 | 325 | |
233 | -Подати повторно цінову пропозицію першим учасником | |
326 | +Можливість подати повторно цінову пропозицію першим учасником | |
234 | 327 | [Tags] ${USERS.users['${provider}'].broker}: Можливість подати цінову пропозицію |
235 | - Дочекатись дати початку прийому пропозицій | |
328 | + ... provider | |
329 | + ... ${USERS.users['${provider}'].broker} | |
330 | + ... minimal | |
331 | + Дочекатись дати початку прийому пропозицій ${provider} | |
236 | 332 | ${bid}= test bid data |
237 | 333 | Log ${bid} |
334 | + ${bidresponses}= Create Dictionary | |
238 | 335 | ${resp}= Викликати для учасника ${provider} Подати цінову пропозицію ${TENDER['TENDER_UAID']} ${bid} |
239 | - Set To Dictionary ${USERS.users['${provider}'].bidresponses} resp ${resp} | |
240 | - log ${resp} | |
336 | + Set To Dictionary ${bidresponses} resp ${resp} | |
337 | + Set To Dictionary ${USERS.users['${provider}']} bidresponses ${bidresponses} | |
241 | 338 | log ${USERS.users['${provider}'].bidresponses} |
242 | 339 | |
243 | 340 | Можливість змінити повторну цінову пропозицію до 50000 |
244 | 341 | [Tags] ${USERS.users['${provider}'].broker}: Можливість змінити цінову пропозицію |
342 | + ... provider | |
343 | + ... ${USERS.users['${provider}'].broker} | |
245 | 344 | Set To Dictionary ${USERS.users['${provider}'].bidresponses['resp'].data.value} amount 50000 |
246 | 345 | Log ${USERS.users['${provider}'].bidresponses['resp'].data.value} |
247 | 346 | ${fixbidto50000resp}= Викликати для учасника ${provider} Змінити цінову пропозицію ${TENDER['TENDER_UAID']} ${USERS.users['${provider}'].bidresponses['resp']} |
... | ... | @@ -250,35 +349,27 @@ ${question_id} 0 |
250 | 349 | |
251 | 350 | Можливість змінити повторну цінову пропозицію до 10 |
252 | 351 | [Tags] ${USERS.users['${provider}'].broker}: Можливість змінити цінову пропозицію |
352 | + ... provider | |
353 | + ... ${USERS.users['${provider}'].broker} | |
253 | 354 | Set To Dictionary ${USERS.users['${provider}'].bidresponses['resp'].data.value} amount 10 |
254 | 355 | Log ${USERS.users['${provider}'].bidresponses['fixbidto50000resp'].data.value} |
255 | 356 | ${fixbidto10resp}= Викликати для учасника ${provider} Змінити цінову пропозицію ${TENDER['TENDER_UAID']} ${USERS.users['${provider}'].bidresponses['resp']} |
256 | 357 | Set To Dictionary ${USERS.users['${provider}'].bidresponses} fixbidto10resp ${fixbidto10resp} |
257 | 358 | log ${fixbidto10resp} |
258 | 359 | |
259 | -Завантажити документ першим учасником в повторну пропозицію | |
360 | +Можливість завантажити документ першим учасником в повторну пропозицію | |
260 | 361 | [Tags] ${USERS.users['${provider}'].broker}: Можливість прийняти пропозицію переможця |
362 | + ... provider | |
363 | + ... ${USERS.users['${provider}'].broker} | |
261 | 364 | log ${USERS.users['${provider}'].broker} |
262 | 365 | ${filepath}= create_fake_doc |
263 | 366 | ${bid_doc_upload}= Викликати для учасника ${provider} Завантажити документ в ставку ${filepath} ${TENDER['TENDER_UAID']} |
264 | 367 | Set To Dictionary ${USERS.users['${provider}'].bidresponses} bid_doc_upload ${bid_doc_upload} |
265 | 368 | |
266 | -Порівняти документ | |
267 | - [Tags] ${USERS.users['${provider}'].broker}: Порівняти документ | |
268 | - ${url}= Get Variable Value ${USERS.users['${provider}'].bidresponses['bid_doc_upload']['upload_response'].data.url} | |
269 | - ${doc} ${flnnm}= Викликати для учасника ${provider} Отримати документ ${TENDER['TENDER_UAID']} ${url} | |
270 | - ${flpth}= Get Variable Value ${USERS.users['${provider}'].bidresponses['bid_doc_upload']['upload_response'].data.title} | |
271 | - ${flcntnt} = get file contents ${flpth} | |
272 | - log ${flcntnt} | |
273 | - log ${flpth} | |
274 | - log ${doc} | |
275 | - log ${flnnm} | |
276 | - | |
277 | - Should Be Equal ${flcntnt} ${doc} | |
278 | - Should Be Equal ${flpth} ${flnnm} | |
279 | - | |
280 | 369 | Можливість змінити документацію цінової пропозиції |
281 | 370 | [Tags] ${USERS.users['${provider}'].broker}: Можливість прийняти пропозицію переможця |
371 | + ... provider | |
372 | + ... ${USERS.users['${provider}'].broker} | |
282 | 373 | log ${USERS.users['${provider}'].broker} |
283 | 374 | ${filepath}= create_fake_doc |
284 | 375 | ${bidid}= Get Variable Value ${USERS.users['${provider}'].bidresponses['resp'].data.id} |
... | ... | @@ -290,11 +381,16 @@ ${question_id} 0 |
290 | 381 | [Documentation] |
291 | 382 | ... "shouldfail" argument as first switches the behaviour of keyword and "Викликати для учасника" to "fail if passed" |
292 | 383 | [Tags] ${USERS.users['${provider}'].broker}: Можливість задати запитання |
384 | + ... provider | |
385 | + ... ${USERS.users['${provider}'].broker} | |
293 | 386 | ${resp}= Викликати для учасника ${provider} Задати питання shouldfail ${TENDER['TENDER_UAID']} ${QUESTIONS[${question_id}]} |
294 | 387 | |
295 | -Подати цінову пропозицію другим учасником | |
388 | +Можливість подати цінову пропозицію другим учасником | |
296 | 389 | [Tags] ${USERS.users['${provider1}'].broker}: Можливість подати цінову пропозицію |
297 | - Дочекатись дати початку прийому пропозицій | |
390 | + ... provider1 | |
391 | + ... ${USERS.users['${provider1}'].broker} | |
392 | + ... minimal | |
393 | + Дочекатись дати початку прийому пропозицій ${provider1} | |
298 | 394 | ${bid}= test bid data |
299 | 395 | Log ${bid} |
300 | 396 | ${bidresponses}= Create Dictionary |
... | ... | @@ -306,12 +402,16 @@ ${question_id} 0 |
306 | 402 | |
307 | 403 | Неможливість побачити цінові пропозиції учасників під час прийому пропозицій |
308 | 404 | [Tags] ${USERS.users['${viewer}'].broker}: Можливість подати цінову пропозицію |
405 | + ... viewer | |
406 | + ... ${USERS.users['${viewer}'].broker} | |
309 | 407 | ${bids}= Викликати для учасника ${viewer} Отримати інформацію із тендера bids |
310 | 408 | ${bool}= Convert To Boolean ${bids} |
311 | 409 | Should Be Equal ${bool} ${False} |
312 | 410 | |
313 | -Завантажити документ другим учасником | |
411 | +Можливість завантажити документ другим учасником | |
314 | 412 | [Tags] ${USERS.users['${provider1}'].broker}: Можливість прийняти пропозицію переможця |
413 | + ... provider1 | |
414 | + ... ${USERS.users['${provider1}'].broker} | |
315 | 415 | log ${USERS.users['${provider1}'].broker} |
316 | 416 | ${filepath}= create_fake_doc |
317 | 417 | ${bid_doc_upload}= Викликати для учасника ${provider1} Завантажити документ в ставку ${filepath} ${TENDER['TENDER_UAID']} |
... | ... | @@ -319,7 +419,9 @@ ${question_id} 0 |
319 | 419 | |
320 | 420 | Неможливість змінити цінову пропозицію до 50000 після закінчення прийому пропозицій |
321 | 421 | [Tags] ${USERS.users['${provider1}'].broker}: Неможливість змінити цінову пропозицію до 50000 після закінчення прийому пропозицій |
322 | - Дочекатись дати закінчення прийому пропозицій | |
422 | + ... provider1 | |
423 | + ... ${USERS.users['${provider1}'].broker} | |
424 | + Дочекатись дати закінчення прийому пропозицій ${provider1} | |
323 | 425 | Set To Dictionary ${USERS.users['${provider1}'].bidresponses['resp'].data.value} amount 50000 |
324 | 426 | Log ${USERS.users['${provider1}'].bidresponses['resp'].data.value} |
325 | 427 | ${failfixbidto50000resp}= Викликати для учасника ${provider1} Змінити цінову пропозицію shouldfail ${TENDER['TENDER_UAID']} ${USERS.users['${provider1}'].bidresponses['resp']} |
... | ... | @@ -328,6 +430,8 @@ ${question_id} 0 |
328 | 430 | |
329 | 431 | Неможливість змінити цінову пропозицію до 1 після закінчення прийому пропозицій |
330 | 432 | [Tags] ${USERS.users['${provider1}'].broker}: Неможливість змінити цінову пропозицію до 1 після закінчення прийому пропозицій |
433 | + ... provider1 | |
434 | + ... ${USERS.users['${provider1}'].broker} | |
331 | 435 | Set To Dictionary ${USERS.users['${provider1}'].bidresponses['resp'].data.value} amount 1 |
332 | 436 | Log ${USERS.users['${provider1}'].bidresponses['resp'].data.value} |
333 | 437 | ${failfixbidto1resp}= Викликати для учасника ${provider1} Змінити цінову пропозицію shouldfail ${TENDER['TENDER_UAID']} ${USERS.users['${provider1}'].bidresponses['resp']} |
... | ... | @@ -336,38 +440,51 @@ ${question_id} 0 |
336 | 440 | |
337 | 441 | Неможливість скасувати цінову пропозицію |
338 | 442 | [Tags] ${USERS.users['${provider1}'].broker}: Можливість скасувати цінову пропозицію |
443 | + ... provider1 | |
444 | + ... ${USERS.users['${provider1}'].broker} | |
339 | 445 | ${biddingresponse}= Викликати для учасника ${provider1} Скасувати цінову пропозицію shouldfail ${TENDER['TENDER_UAID']} ${USERS.users['${provider1}'].bidresponses['resp']} |
340 | 446 | |
341 | 447 | Неможливість завантажити документ другим учасником після закінчення прийому пропозицій |
342 | 448 | [Tags] ${USERS.users['${provider1}'].broker}: Неможливість завантажити документ першим учасником після закінчення прийому пропозицій |
449 | + ... provider1 | |
450 | + ... ${USERS.users['${provider1}'].broker} | |
343 | 451 | ${filepath}= create_fake_doc |
344 | 452 | ${bid_doc_upload_fail}= Викликати для учасника ${provider1} Завантажити документ в ставку shouldfail ${filepath} ${TENDER['TENDER_UAID']} |
345 | 453 | Set To Dictionary ${USERS.users['${provider1}'].bidresponses} bid_doc_upload_fail ${bid_doc_upload_fail} |
346 | 454 | |
347 | 455 | Неможливість змінити існуючу документацію цінової пропозиції після закінчення прийому пропозицій |
348 | 456 | [Tags] ${USERS.users['${provider1}'].broker}: |
457 | + ... provider1 | |
458 | + ... ${USERS.users['${provider1}'].broker} | |
349 | 459 | ${filepath}= create_fake_doc |
350 | 460 | ${bidid}= Get Variable Value ${USERS.users['${provider1}'].bidresponses['resp'].data.id} |
351 | 461 | ${docid}= Get Variable Value ${USERS.users['${provider1}'].bidresponses['bid_doc_upload']['upload_response'].data.id} |
352 | 462 | ${bid_doc_modified_failed}= Викликати для учасника ${provider1} Змінити документ в ставці shouldfail ${filepath} ${bidid} ${docid} |
353 | 463 | Set To Dictionary ${USERS.users['${provider}'].bidresponses} bid_doc_modified_failed ${bid_doc_modified_failed} |
354 | 464 | |
355 | -Вичитати посилання на аукціон | |
356 | - [Tags] ${USERS.users['${provider}'].broker}: Можливість подати цінову пропозицію | |
465 | +Можливість вичитати посилання на аукціон для глядача | |
466 | + [Tags] ${USERS.users['${viewer}'].broker}: Можливість подати цінову пропозицію | |
467 | + ... viewer | |
468 | + ... ${USERS.users['${viewer}'].broker} | |
469 | + ... minimal | |
470 | + Дочекатись дати закінчення прийому пропозицій ${viewer} | |
471 | + Дочекатись синхронізації з майданчиком ${viewer} | |
357 | 472 | Sleep 120 |
358 | 473 | ${url}= Викликати для учасника ${viewer} Отримати посилання на аукціон для глядача ${TENDER['TENDER_UAID']} |
359 | 474 | Log URL аукціону для глядача: ${url} |
360 | 475 | |
361 | -Вичитати цінову пропозицію першим учасником | |
476 | +Можливість вичитати посилання на участь в аукціоні для першого учасника | |
362 | 477 | [Tags] ${USERS.users['${provider}'].broker}: Можливість подати цінову пропозицію |
363 | - ${bid}= Викликати для учасника ${provider} Отримати пропозицію ${TENDER['TENDER_UAID']} | |
364 | - Log ${bid} | |
478 | + ... provider | |
479 | + ... ${USERS.users['${provider}'].broker} | |
480 | + ... minimal | |
365 | 481 | ${url}= Викликати для учасника ${provider} Отримати посилання на аукціон для учасника ${TENDER['TENDER_UAID']} |
366 | 482 | Log URL аукціону для першого учасника: ${url} |
367 | 483 | |
368 | -Вичитати цінову пропозицію другим учасником | |
484 | +Можливість вичитати посилання на участь в аукціоні для другого учасника | |
369 | 485 | [Tags] ${USERS.users['${provider1}'].broker}: Можливість подати цінову пропозицію |
370 | - ${bid}= Викликати для учасника ${provider1} Отримати пропозицію ${TENDER['TENDER_UAID']} | |
371 | - Log ${bid} | |
486 | + ... provider1 | |
487 | + ... ${USERS.users['${provider1}'].broker} | |
488 | + ... minimal | |
372 | 489 | ${url}= Викликати для учасника ${provider1} Отримати посилання на аукціон для учасника ${TENDER['TENDER_UAID']} |
373 | 490 | Log URL аукціону для другого учасника: ${url} | ... | ... |
... | ... | @@ -18,6 +18,8 @@ ${broker} Quinta |
18 | 18 | *** Test Cases *** |
19 | 19 | Можливість оголосити однопредметний тендер |
20 | 20 | [Tags] ${USERS.users['${tender_owner}'].broker}: Можливість оголосити тендер |
21 | +... tender_owner | |
22 | +... ${USERS.users['${tender_owner}'].broker} | |
21 | 23 | [Documentation] Створення закупівлі замовником, обовязково має повертати UAID закупівлі (номер тендера), |
22 | 24 | ${tender_data}= Підготовка початкових даних |
23 | 25 | ${TENDER_UAID}= Викликати для учасника ${tender_owner} Створити тендер ${tender_data} |
... | ... | @@ -28,11 +30,16 @@ ${broker} Quinta |
28 | 30 | |
29 | 31 | Пошук однопредметного тендера по ідентифікатору |
30 | 32 | [Tags] ${USERS.users['${viewer}'].broker}: Пошук тендера по ідентифікатору |
33 | +... viewer | |
34 | +... ${USERS.users['${viewer}'].broker} | |
31 | 35 | Дочекатись синхронізації з майданчиком ${viewer} |
32 | 36 | Викликати для учасника ${viewer} Пошук тендера по ідентифікатору ${TENDER['TENDER_UAID']} |
33 | 37 | |
34 | 38 | Можливість подати скаргу на умови |
35 | 39 | [Tags] ${USERS.users['${provider}'].broker}: Можливість подати скаргу на умови |
40 | +... provider | |
41 | +... ${USERS.users['${provider}'].broker} | |
42 | +... from-0.12 | |
36 | 43 | [Documentation] Користувач ${USERS.users['${provider}'].broker} намагається подати скаргу на умови оголошеної закупівлі |
37 | 44 | Викликати для учасника ${provider} Подати скаргу ${TENDER['TENDER_UAID']} ${COMPLAINTS[0]} |
38 | 45 | ${LAST_MODIFICATION_DATE}= Get Current TZdate |
... | ... | @@ -40,14 +47,23 @@ ${broker} Quinta |
40 | 47 | |
41 | 48 | Можливість побачити скаргу користувачем |
42 | 49 | [Tags] ${USERS.users['${provider}'].broker}: Відображення основних даних оголошеного тендера |
50 | +... provider | |
51 | +... ${USERS.users['${provider}'].broker} | |
52 | +... from-0.12 | |
43 | 53 | Викликати для учасника ${provider} Порівняти скаргу ${TENDER['TENDER_UAID']} ${COMPLAINTS[0]} |
44 | 54 | |
45 | 55 | Можливість побачити скаргу анонімом |
46 | 56 | [Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних оголошеного тендера |
57 | +... viewer | |
58 | +... ${USERS.users['${viewer}'].broker} | |
59 | +... from-0.12 | |
47 | 60 | Викликати для учасника ${viewer} Порівняти скаргу ${TENDER['TENDER_UAID']} ${COMPLAINTS[0]} |
48 | 61 | |
49 | 62 | Можливість скасувати скаргу на умови |
50 | 63 | [Tags] ${USERS.users['${tender_owner}'].broker}: Можливість скасувати скаргу на умови |
64 | +... tender_owner | |
65 | +... ${USERS.users['${tender_owner}'].broker} | |
66 | +... from-0.12 | |
51 | 67 | Set To Dictionary ${COMPLAINTS[0].data} status cancelled |
52 | 68 | Set To Dictionary ${COMPLAINTS[0].data} cancellationReason test_draft_cancellation |
53 | 69 | Викликати для учасника ${provider} Обробити скаргу ${TENDER['TENDER_UAID']} 0 ${COMPLAINTS[0]} | ... | ... |
Please
register
or
login
to post a comment