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