Commit 1d8d5d29be825348b7254be0dac83bef7c636726

Authored by mykhaly
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.
@@ -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