singleItemTender.robot
28.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
*** Settings ***
Library op_robot_tests.tests_files.service_keywords
Library String
Library Collections
Library Selenium2Library
Library DebugLibrary
Resource keywords.robot
Resource resource.robot
Suite Setup TestSuiteSetup
Suite Teardown Close all browsers
*** Variables ***
${mode} single
${role} viewer
${broker} Quinta
${question_id} 0
*** Test Cases ***
Можливість оголосити однопредметний тендер
[Tags] ${USERS.users['${tender_owner}'].broker}: Можливість оголосити тендер
[Documentation] Створення закупівлі замовником, обовязково має повертати UAID закупівлі (номер тендера),
${tender_data}= Підготовка початкових даних
${TENDER_UAID}= Викликати для учасника ${tender_owner} Створити тендер ${tender_data}
${LAST_MODIFICATION_DATE}= Get Current Date
Set To Dictionary ${TENDER} TENDER_UAID ${TENDER_UAID}
Set To Dictionary ${TENDER} LAST_MODIFICATION_DATE ${LAST_MODIFICATION_DATE}
log ${TENDER}
Можливість додати тендерну документацію
[Tags] ${USERS.users['${tender_owner}'].broker}: Можливість завантажити документ
[Documentation] Закупівельник ${USERS.users['${tender_owner}'].broker} завантажує документацію до оголошеної закупівлі
${filepath}= create_fake_doc
${doc_upload_reply}= Викликати для учасника ${tender_owner} Завантажити документ ${filepath} ${TENDER['TENDER_UAID']}
${file_upload_process_data} = Create Dictionary filepath=${filepath} doc_upload_reply=${doc_upload_reply}
log ${file_upload_process_data}
Set To Dictionary ${USERS.users['${tender_owner}']} file_upload_process_data ${file_upload_process_data}
Log ${USERS.users['${tender_owner}']}
Пошук однопредметного тендера по ідентифікатору
[Tags] ${USERS.users['${viewer}'].broker}: Пошук тендера по ідентифікатору
Дочекатись синхронізації з майданчиком ${viewer}
Викликати для учасника ${viewer} Пошук тендера по ідентифікатору ${TENDER['TENDER_UAID']}
######
#Відображення основних даних оголошеного тендера:
#заголовок, опис, бюджет, тендерна документація,
#procuringEntity, періоди уточнень/прийому пропозицій, мінімального кроку
Відображення заголовку оголошеного тендера
[Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних оголошеного тендера
Звірити поле тендера ${viewer} title
Відображення опису оголошеного тендера
[Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних оголошеного тендера
Звірити поле тендера ${viewer} description
Відображення бюджету оголошеного тендера
[Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних оголошеного тендера
Звірити поле тендера ${viewer} value.amount
Відображення tenderID оголошеного тендера
[Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних оголошеного тендера
${field_response}= Викликати для учасника ${viewer} Отримати інформацію із тендера tenderID
Should Be Equal ${TENDER['TENDER_UAID']} ${field_response} Майданчик ${USERS.users['${viewer}'].broker}
Відображення procuringEntity.name оголошеного тендера
[Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних оголошеного тендера
Звірити поле тендера ${viewer} procuringEntity.name
Відображення початку періоду уточнення оголошеного тендера
[Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних оголошеного тендера
Звірити дату тендера ${viewer} enquiryPeriod.startDate
Відображення закінчення періоду уточнення оголошеного тендера
[Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних оголошеного тендера
Звірити дату тендера ${viewer} enquiryPeriod.endDate
Відображення початку періоду прийому пропозицій оголошеного тендера
[Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних оголошеного тендера
Звірити дату тендера ${viewer} tenderPeriod.startDate
Відображення закінчення періоду прийому пропозицій оголошеного тендера
[Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних оголошеного тендера
Звірити дату тендера ${viewer} tenderPeriod.endDate
Відображення мінімального кроку оголошеного тендера
[Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних оголошеного тендера
Звірити поле тендера ${viewer} minimalStep.amount
Можливість редагувати однопредметний тендер
[Tags] ${USERS.users['${tender_owner}'].broker}: Можливість оголосити тендер
Викликати для учасника ${tender_owner} Внести зміни в тендер ${TENDER['TENDER_UAID']} description description
#######
#Відображення однопредметного тендера:
#предмет закупівлі, кількість, класифікатори, строки поставки, місце поставки
Відображення опису позицій закупівлі однопредметного тендера
[Tags] ${USERS.users['${viewer}'].broker}: Відображення полів предметів однопредметного тендера
Звірити поле тендера ${viewer} items[0].description
Відображення дати доставки позицій закупівлі однопредметного тендера
[Tags] ${USERS.users['${viewer}'].broker}: Відображення полів предметів однопредметного тендера
Звірити дату тендера ${viewer} items[0].deliveryDate.endDate
Відображення координат широти доставки позицій закупівлі однопредметного тендера
[Tags] ${USERS.users['${viewer}'].broker}: Відображення полів предметів однопредметного тендера
Звірити поле тендера ${viewer} items[0].deliveryLocation.latitude
Відображення координат довготи доставки позицій закупівлі однопредметного тендера
[Tags] ${USERS.users['${viewer}'].broker}: Відображення полів предметів однопредметного тендера
Звірити поле тендера ${viewer} items[0].deliveryLocation.longitude
Відображення назви нас. пункту доставки позицій закупівлі однопредметного тендера
[Tags] ${USERS.users['${viewer}'].broker}: Відображення полів предметів однопредметного тендера
Звірити поле тендера ${viewer} items[0].deliveryAddress.countryName
Відображення пошт. коду доставки позицій закупівлі однопредметного тендера
[Tags] ${USERS.users['${viewer}'].broker}: Відображення полів предметів однопредметного тендера
Звірити поле тендера ${viewer} items[0].deliveryAddress.postalCode
Відображення регіону доставки позицій закупівлі однопредметного тендера
[Tags] ${USERS.users['${viewer}'].broker}: Відображення полів предметів однопредметного тендера
Звірити поле тендера ${viewer} items[0].deliveryAddress.region
Відображення locality адреси доставки позицій закупівлі однопредметного тендера
[Tags] ${USERS.users['${viewer}'].broker}: Відображення полів предметів однопредметного тендера
Звірити поле тендера ${viewer} items[0].deliveryAddress.locality
Відображення вулиці доставки позицій закупівлі однопредметного тендера
[Tags] ${USERS.users['${viewer}'].broker}: Відображення полів предметів однопредметного тендера
Звірити поле тендера ${viewer} items[0].deliveryAddress.streetAddress
Відображення схеми класифікації позицій закупівлі однопредметного тендера
[Tags] ${USERS.users['${viewer}'].broker}: Відображення полів предметів однопредметного тендера
Звірити поле тендера ${viewer} items[0].classification.scheme
Відображення ідентифікатора класифікації позицій закупівлі однопредметного тендера
[Tags] ${USERS.users['${viewer}'].broker}: Відображення полів предметів однопредметного тендера
Звірити поле тендера ${viewer} items[0].classification.id
Відображення опису класифікації позицій закупівлі однопредметного тендера
[Tags] ${USERS.users['${viewer}'].broker}: Відображення полів предметів однопредметного тендера
Звірити поле тендера ${viewer} items[0].classification.description
Відображення схеми додаткової класифікації позицій закупівлі однопредметного тендера
[Tags] ${USERS.users['${viewer}'].broker}: Відображення полів предметів однопредметного тендера
Звірити поле тендера ${viewer} items[0].additionalClassifications[0].scheme
Відображення ідентифікатора додаткової класифікації позицій закупівлі однопредметного тендера
[Tags] ${USERS.users['${viewer}'].broker}: Відображення полів предметів однопредметного тендера
Звірити поле тендера ${viewer} items[0].additionalClassifications[0].id
Відображення опису додаткової класифікації позицій закупівлі однопредметного тендера
[Tags] ${USERS.users['${viewer}'].broker}: Відображення полів предметів однопредметного тендера
Звірити поле тендера ${viewer} items[0].additionalClassifications[0].description
Відображення назви одиниці позицій закупівлі однопредметного тендера
[Tags] ${USERS.users['${viewer}'].broker}: Відображення полів предметів однопредметного тендера
Звірити поле тендера ${viewer} items[0].unit.name
Відображення коду одиниці позицій закупівлі однопредметного тендера
[Tags] ${USERS.users['${viewer}'].broker}: Відображення полів предметів однопредметного тендера
Звірити поле тендера ${viewer} items[0].unit.code
Відображення кількості позицій закупівлі однопредметного тендера
[Tags] ${USERS.users['${viewer}'].broker}: Відображення полів предметів однопредметного тендера
Звірити поле тендера ${viewer} items[0].quantity
#######
#Відображення анонімного питання без відповідей
Задати питання
[Tags] ${USERS.users['${provider}'].broker}: Можливість задати запитання
Викликати для учасника ${provider} Задати питання ${TENDER['TENDER_UAID']} ${QUESTIONS[${question_id}]}
${now}= Get Current Date
Set To Dictionary ${QUESTIONS[${question_id}].data} date ${now}
Відображення заголовку анонімного питання без відповіді
[Tags] ${USERS.users['${viewer}'].broker}: Відображення анонімного питання без відповідей
Дочекатись синхронізації з майданчиком ${viewer}
Викликати для учасника ${viewer} Оновити сторінку з тендером ${TENDER['TENDER_UAID']}
Звірити поле ${viewer} questions[${question_id}].title ${QUESTIONS[${question_id}].data.title}
Відображення опису анонімного питання без відповіді
[Tags] ${USERS.users['${viewer}'].broker}: Відображення анонімного питання без відповідей
Звірити поле ${viewer} questions[${question_id}].description ${QUESTIONS[${question_id}].data.description}
Відображення дати анонімного питання без відповіді
[Tags] ${USERS.users['${viewer}'].broker}: Відображення анонімного питання без відповідей
Звірити дату ${viewer} questions[${question_id}].date ${QUESTIONS[${question_id}].data.date}
Неможливість подати цінову пропозицію до початку періоду подачі пропозицій першим учасником
[Tags] ${USERS.users['${provider}'].broker}: Можливість подати цінову пропозицію
${bid}= test bid data
Log ${bid}
${bidresponses}= Create Dictionary
${bid_before_bidperiod_resp}= Викликати для учасника ${provider} Подати цінову пропозицію shouldfail ${TENDER['TENDER_UAID']} ${bid}
Set To Dictionary ${bidresponses} bid_before_bidperiod_resp ${bid_before_bidperiod_resp}
Set To Dictionary ${USERS.users['${provider}']} bidresponses ${bidresponses}
log ${USERS.users['${provider}']}
#######
#Відображення відповіді на запитання
Відповісти на запитання
[Tags] ${USERS.users['${tender_owner}'].broker}: Можливість відповісти на запитання
Викликати для учасника ${tender_owner} Відповісти на питання ${TENDER['TENDER_UAID']} 0 ${ANSWERS[0]}
${now}= Get Current Date
Set To Dictionary ${ANSWERS[${question_id}].data} date ${now}
Відображення відповіді на запитання
[Tags] ${USERS.users['${viewer}'].broker}: Відображення відповіді на запитання
Дочекатись синхронізації з майданчиком ${viewer}
Викликати для учасника ${viewer} Оновити сторінку з тендером ${TENDER['TENDER_UAID']}
Звірити поле ${viewer} questions[${question_id}].answer ${ANSWERS[${question_id}].data.answer}
Подати цінову пропозицію першим учасником
[Tags] ${USERS.users['${provider}'].broker}: Можливість подати цінову пропозицію
Дочекатись дати початку прийому пропозицій
${bid}= test bid data
Log ${bid}
${biddingresponse0}= Викликати для учасника ${provider} Подати цінову пропозицію ${TENDER['TENDER_UAID']} ${bid}
Set Global Variable ${biddingresponse0}
log ${biddingresponse0}
Можливість скасувати цінову пропозицію
[Tags] ${USERS.users['${provider}'].broker}: Можливість скасувати цінову пропозицію
${biddingresponse_0}= Викликати для учасника ${provider} Скасувати цінову пропозицію ${TENDER['TENDER_UAID']} ${biddingresponse0}
Подати повторно цінову пропозицію першим учасником
[Tags] ${USERS.users['${provider}'].broker}: Можливість подати цінову пропозицію
Дочекатись дати початку прийому пропозицій
${bid}= test bid data
Log ${bid}
${resp}= Викликати для учасника ${provider} Подати цінову пропозицію ${TENDER['TENDER_UAID']} ${bid}
Set To Dictionary ${USERS.users['${provider}'].bidresponses} resp ${resp}
log ${resp}
log ${USERS.users['${provider}'].bidresponses}
Можливість змінити повторну цінову пропозицію до 50000
[Tags] ${USERS.users['${provider}'].broker}: Можливість змінити цінову пропозицію
Set To Dictionary ${USERS.users['${provider}'].bidresponses['resp'].data.value} amount 50000
Log ${USERS.users['${provider}'].bidresponses['resp'].data.value}
${fixbidto50000resp}= Викликати для учасника ${provider} Змінити цінову пропозицію ${TENDER['TENDER_UAID']} ${USERS.users['${provider}'].bidresponses['resp']}
Set To Dictionary ${USERS.users['${provider}'].bidresponses} fixbidto50000resp ${fixbidto50000resp}
log ${fixbidto50000resp}
Можливість змінити повторну цінову пропозицію до 10
[Tags] ${USERS.users['${provider}'].broker}: Можливість змінити цінову пропозицію
Set To Dictionary ${USERS.users['${provider}'].bidresponses['resp'].data.value} amount 10
Log ${USERS.users['${provider}'].bidresponses['fixbidto50000resp'].data.value}
${fixbidto10resp}= Викликати для учасника ${provider} Змінити цінову пропозицію ${TENDER['TENDER_UAID']} ${USERS.users['${provider}'].bidresponses['resp']}
Set To Dictionary ${USERS.users['${provider}'].bidresponses} fixbidto10resp ${fixbidto10resp}
log ${fixbidto10resp}
Завантажити документ першим учасником в повторну пропозицію
[Tags] ${USERS.users['${provider}'].broker}: Можливість прийняти пропозицію переможця
log ${USERS.users['${provider}'].broker}
${filepath}= create_fake_doc
${bid_doc_upload}= Викликати для учасника ${provider} Завантажити документ в ставку ${filepath} ${TENDER['TENDER_UAID']}
Set To Dictionary ${USERS.users['${provider}'].bidresponses} bid_doc_upload ${bid_doc_upload}
Порівняти документ
[Tags] ${USERS.users['${provider}'].broker}: Порівняти документ
${url}= Get Variable Value ${USERS.users['${provider}'].bidresponses['bid_doc_upload']['upload_response'].data.url}
${doc} ${flnnm}= Викликати для учасника ${provider} Отримати документ ${TENDER['TENDER_UAID']} ${url}
${flpth}= Get Variable Value ${USERS.users['${provider}'].bidresponses['bid_doc_upload']['upload_response'].data.title}
${flcntnt} = get file contents ${flpth}
log ${flcntnt}
log ${flpth}
log ${doc}
log ${flnnm}
Should Be Equal ${flcntnt} ${doc}
Should Be Equal ${flpth} ${flnnm}
Можливість змінити документацію цінової пропозиції
[Tags] ${USERS.users['${provider}'].broker}: Можливість прийняти пропозицію переможця
log ${USERS.users['${provider}'].broker}
${filepath}= create_fake_doc
${bidid}= Get Variable Value ${USERS.users['${provider}'].bidresponses['resp'].data.id}
${docid}= Get Variable Value ${USERS.users['${provider}'].bidresponses['bid_doc_upload']['upload_response'].data.id}
${bid_doc_modified}= Викликати для учасника ${provider} Змінити документ в ставці ${filepath} ${bidid} ${docid}
Set To Dictionary ${USERS.users['${provider}'].bidresponses} bid_doc_modified ${bid_doc_modified}
Неможливість задати запитання після закінчення періоду уточнень
[Documentation]
... "shouldfail" argument as first switches the behaviour of keyword and "Викликати для учасника" to "fail if passed"
[Tags] ${USERS.users['${provider}'].broker}: Можливість задати запитання
${resp}= Викликати для учасника ${provider} Задати питання shouldfail ${TENDER['TENDER_UAID']} ${QUESTIONS[${question_id}]}
Подати цінову пропозицію другим учасником
[Tags] ${USERS.users['${provider1}'].broker}: Можливість подати цінову пропозицію
Дочекатись дати початку прийому пропозицій
${bid}= test bid data
Log ${bid}
${bidresponses}= Create Dictionary
${resp}= Викликати для учасника ${provider1} Подати цінову пропозицію ${TENDER['TENDER_UAID']} ${bid}
Set To Dictionary ${bidresponses} resp ${resp}
Set To Dictionary ${USERS.users['${provider1}']} bidresponses ${bidresponses}
log ${resp}
log ${USERS.users['${provider1}'].bidresponses}
Неможливість побачити цінові пропозиції учасників під час прийому пропозицій
[Tags] ${USERS.users['${viewer}'].broker}: Можливість подати цінову пропозицію
${bids}= Викликати для учасника ${viewer} Отримати інформацію із тендера bids
Should Be Equal ${bids} ${None}
Завантажити документ другим учасником
[Tags] ${USERS.users['${provider1}'].broker}: Можливість прийняти пропозицію переможця
log ${USERS.users['${provider1}'].broker}
${filepath}= create_fake_doc
${bid_doc_upload}= Викликати для учасника ${provider1} Завантажити документ в ставку ${filepath} ${TENDER['TENDER_UAID']}
Set To Dictionary ${USERS.users['${provider1}'].bidresponses} bid_doc_upload ${bid_doc_upload}
Неможливість змінити цінову пропозицію до 50000 після закінчення прийому пропозицій
[Tags] ${USERS.users['${provider1}'].broker}: Неможливість змінити цінову пропозицію до 50000 після закінчення прийому пропозицій
Дочекатись дати закінчення прийому пропозицій
Set To Dictionary ${USERS.users['${provider1}'].bidresponses['resp'].data.value} amount 50000
Log ${USERS.users['${provider1}'].bidresponses['resp'].data.value}
${failfixbidto50000resp}= Викликати для учасника ${provider1} Змінити цінову пропозицію shouldfail ${TENDER['TENDER_UAID']} ${USERS.users['${provider1}'].bidresponses['resp']}
Set To Dictionary ${USERS.users['${provider1}'].bidresponses} failfixbidto50000resp ${failfixbidto50000resp}
log ${failfixbidto50000resp}
Неможливість змінити цінову пропозицію до 1 після закінчення прийому пропозицій
[Tags] ${USERS.users['${provider1}'].broker}: Неможливість змінити цінову пропозицію до 1 після закінчення прийому пропозицій
Set To Dictionary ${USERS.users['${provider1}'].bidresponses['resp'].data.value} amount 1
Log ${USERS.users['${provider1}'].bidresponses['resp'].data.value}
${failfixbidto1resp}= Викликати для учасника ${provider1} Змінити цінову пропозицію shouldfail ${TENDER['TENDER_UAID']} ${USERS.users['${provider1}'].bidresponses['resp']}
Set To Dictionary ${USERS.users['${provider1}'].bidresponses} failfixbidto1resp ${failfixbidto1resp}
log ${failfixbidto1resp}
Неможливість скасувати цінову пропозицію
[Tags] ${USERS.users['${provider1}'].broker}: Можливість скасувати цінову пропозицію
${biddingresponse}= Викликати для учасника ${provider1} Скасувати цінову пропозицію shouldfail ${TENDER['TENDER_UAID']} ${USERS.users['${provider1}'].bidresponses['resp']}
Неможливість завантажити документ другим учасником після закінчення прийому пропозицій
[Tags] ${USERS.users['${provider1}'].broker}: Неможливість завантажити документ першим учасником після закінчення прийому пропозицій
${filepath}= create_fake_doc
${bid_doc_upload_fail}= Викликати для учасника ${provider1} Завантажити документ в ставку shouldfail ${filepath} ${TENDER['TENDER_UAID']}
Set To Dictionary ${USERS.users['${provider1}'].bidresponses} bid_doc_upload_fail ${bid_doc_upload_fail}
Неможливість змінити існуючу документацію цінової пропозиції після закінчення прийому пропозицій
[Tags] ${USERS.users['${provider1}'].broker}:
${filepath}= create_fake_doc
${bidid}= Get Variable Value ${USERS.users['${provider1}'].bidresponses['resp'].data.id}
${docid}= Get Variable Value ${USERS.users['${provider1}'].bidresponses['bid_doc_upload']['upload_response'].data.id}
${bid_doc_modified_failed}= Викликати для учасника ${provider1} Змінити документ в ставці shouldfail ${filepath} ${bidid} ${docid}
Set To Dictionary ${USERS.users['${provider}'].bidresponses} bid_doc_modified_failed ${bid_doc_modified_failed}
Вичитати цінову пропозицію
sleep 120
[Tags] ${USERS.users['${provider1}'].broker}: Можливість подати цінову пропозицію
${bidid}= Get Variable Value ${USERS.users['${provider1}'].bidresponses['resp'].data.id}
${token}= Get Variable Value ${USERS.users['${provider1}'].bidresponses['resp'].access.token}
${bids}= Викликати для учасника ${provider1} Отримати пропозиції ${TENDER['TENDER_UAID']} ${bidid} ${token}
log ${bids}