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 | 19 | ${dialogue_type}= Get Variable Value ${dialogue_type} |
| 20 | 20 | Run keyword if '${dialogue_type}' != '${None}' Set to dictionary ${tender_parameters} dialogue_type=${dialogue_type} |
| 21 | 21 | ${tender_data}= Підготувати дані для створення тендера ${tender_parameters} |
| 22 | - ${adapted_data}= Адаптувати дані для оголошення тендера ${tender_owner} ${tender_data} | |
| 22 | + ${adapted_data}= Адаптувати дані для оголошення тендера ${tender_data} | |
| 23 | 23 | ${TENDER_UAID}= Run As ${tender_owner} Створити тендер ${adapted_data} |
| 24 | 24 | Set To Dictionary ${USERS.users['${tender_owner}']} initial_data=${adapted_data} |
| 25 | 25 | Set To Dictionary ${TENDER} TENDER_UAID=${TENDER_UAID} |
| ... | ... |
| ... | ... | @@ -62,7 +62,7 @@ Library openprocurement_client_helper.py |
| 62 | 62 | |
| 63 | 63 | Підготувати дані для оголошення тендера |
| 64 | 64 | [Documentation] Це слово використовується в майданчиків, тому потрібно, щоб воно було і тут |
| 65 | - [Arguments] ${username} ${tender_data} | |
| 65 | + [Arguments] ${username} ${tender_data} ${role_name} | |
| 66 | 66 | [return] ${tender_data} |
| 67 | 67 | |
| 68 | 68 | |
| ... | ... |
| ... | ... | @@ -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 | 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 | 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 | 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 | 304 | Завантажуємо бібліотеку з реалізацією для майданчика ${keywords_file} |
| 291 | 305 | [Documentation] |
| 292 | 306 | ... Load broker's driver (keyword library). |
| ... | ... |
Please
register
or
login
to post a comment