Commit 1d8d5d29be825348b7254be0dac83bef7c636726
1 parent
1b013933
Remake `Адаптувати дані для оголошення тендера`
Now it calls Підготувати дані для оголошення тендера for each user in test. Also Підготувати дані для оголошення тендера now have additional ${role_name} argument in order to have possibility to update different data depending on that argument.
Showing
3 changed files
with
25 additions
and
11 deletions
@@ -19,7 +19,7 @@ Resource resource.robot | @@ -19,7 +19,7 @@ Resource resource.robot | ||
19 | ${dialogue_type}= Get Variable Value ${dialogue_type} | 19 | ${dialogue_type}= Get Variable Value ${dialogue_type} |
20 | Run keyword if '${dialogue_type}' != '${None}' Set to dictionary ${tender_parameters} dialogue_type=${dialogue_type} | 20 | Run keyword if '${dialogue_type}' != '${None}' Set to dictionary ${tender_parameters} dialogue_type=${dialogue_type} |
21 | ${tender_data}= Підготувати дані для створення тендера ${tender_parameters} | 21 | ${tender_data}= Підготувати дані для створення тендера ${tender_parameters} |
22 | - ${adapted_data}= Адаптувати дані для оголошення тендера ${tender_owner} ${tender_data} | 22 | + ${adapted_data}= Адаптувати дані для оголошення тендера ${tender_data} |
23 | ${TENDER_UAID}= Run As ${tender_owner} Створити тендер ${adapted_data} | 23 | ${TENDER_UAID}= Run As ${tender_owner} Створити тендер ${adapted_data} |
24 | Set To Dictionary ${USERS.users['${tender_owner}']} initial_data=${adapted_data} | 24 | Set To Dictionary ${USERS.users['${tender_owner}']} initial_data=${adapted_data} |
25 | Set To Dictionary ${TENDER} TENDER_UAID=${TENDER_UAID} | 25 | Set To Dictionary ${TENDER} TENDER_UAID=${TENDER_UAID} |
@@ -62,7 +62,7 @@ Library openprocurement_client_helper.py | @@ -62,7 +62,7 @@ Library openprocurement_client_helper.py | ||
62 | 62 | ||
63 | Підготувати дані для оголошення тендера | 63 | Підготувати дані для оголошення тендера |
64 | [Documentation] Це слово використовується в майданчиків, тому потрібно, щоб воно було і тут | 64 | [Documentation] Це слово використовується в майданчиків, тому потрібно, щоб воно було і тут |
65 | - [Arguments] ${username} ${tender_data} | 65 | + [Arguments] ${username} ${tender_data} ${role_name} |
66 | [return] ${tender_data} | 66 | [return] ${tender_data} |
67 | 67 | ||
68 | 68 |
@@ -273,20 +273,34 @@ Get Broker Property By Username | @@ -273,20 +273,34 @@ Get Broker Property By Username | ||
273 | 273 | ||
274 | 274 | ||
275 | Адаптувати дані для оголошення тендера | 275 | Адаптувати дані для оголошення тендера |
276 | - [Arguments] ${username} ${tender_data} | 276 | + [Arguments] ${tender_data} |
277 | # munchify is used to make deep copy of ${tender_data} | 277 | # munchify is used to make deep copy of ${tender_data} |
278 | - ${tender_data_copy}= munchify ${tender_data} | ||
279 | - ${status} ${adapted_data}= Run Keyword And Ignore Error Run As ${username} Підготувати дані для оголошення тендера ${tender_data_copy} | ||
280 | - ${adapted_data}= Set variable if '${status}' == 'FAIL' ${tender_data_copy} ${adapted_data} | ||
281 | - # munchify is used to make nice log output | ||
282 | - ${adapted_data}= munchify ${adapted_data} | ||
283 | - Log ${tender_data} | 278 | + ${adapted_data}= munchify ${tender_data} |
279 | + :FOR ${username} IN @{used_roles} | ||
280 | + # munchify is used to make deep copy of ${adapted_data} | ||
281 | + \ ${adapted_data_copy}= munchify ${adapted_data} | ||
282 | + \ ${status} ${adapted_data_from_broker}= Run keyword and ignore error Run As ${${username}} Підготувати дані для оголошення тендера ${adapted_data_copy} ${username} | ||
283 | + \ Log ${adapted_data_from_broker} | ||
284 | + # Need this in case ``${${username}}`` doesn't have `Підготувати дані для оголошення | ||
285 | + # тендера користувачем` keyword, so after `Run keyword and ignore error` call | ||
286 | + # ``${adapted_data_from_broker}`` will be ``${None}``. Else - nothing changes. | ||
287 | + \ ${adapted_data_from_broker}= Set variable if '${status}' == 'FAIL' ${adapted_data} ${adapted_data_from_broker} | ||
288 | + \ Log differences between dicts ${adapted_data.data} ${adapted_data_from_broker.data} ${username} has changed initial data! | ||
289 | + # Update (or not, if nothing changed) ``${adapted_data}``. | ||
290 | + \ ${adapted_data}= munchify ${adapted_data_from_broker} | ||
291 | + \ Log ${adapted_data} | ||
284 | Log ${adapted_data} | 292 | Log ${adapted_data} |
285 | - ${status}= Run keyword and return status Dictionaries Should Be Equal ${adapted_data.data} ${tender_data.data} | ||
286 | - Run keyword if ${status} == ${False} Log Initial tender data was changed WARN | 293 | + Log ${tender_data} |
287 | [Return] ${adapted_data} | 294 | [Return] ${adapted_data} |
288 | 295 | ||
289 | 296 | ||
297 | +Log differences between dicts | ||
298 | + [Arguments] ${left} ${right} ${begin} ${end}=${Empty} | ||
299 | + ${diff_status} ${diff_message}= Run Keyword And Ignore Error Dictionaries Should Be Equal ${left} ${right} | ||
300 | + Run keyword if '${diff_status}' == 'FAIL' Log \n${begin}\n${diff_message}\n${end} WARN | ||
301 | + [Return] ${diff_status} | ||
302 | + | ||
303 | + | ||
290 | Завантажуємо бібліотеку з реалізацією для майданчика ${keywords_file} | 304 | Завантажуємо бібліотеку з реалізацією для майданчика ${keywords_file} |
291 | [Documentation] | 305 | [Documentation] |
292 | ... Load broker's driver (keyword library). | 306 | ... Load broker's driver (keyword library). |
Please
register
or
login
to post a comment