Showing
9 changed files
with
277 additions
and
4 deletions
... | ... | @@ -82,6 +82,9 @@ Resource resource.robot |
82 | 82 | Run As ${tender_owner} Внести зміни в тендер ${TENDER['TENDER_UAID']} ${field_name} ${field_value} |
83 | 83 | |
84 | 84 | |
85 | +Перевірити неможливість зміни поля ${field} тендера на значення ${new_value} для користувача ${username} | |
86 | + Require Failure ${username} Внести зміни в тендер ${TENDER['TENDER_UAID']} ${field} ${new_value} | |
87 | + | |
85 | 88 | Можливість змінити поле ${field_name} плану на ${field_value} |
86 | 89 | Run As ${tender_owner} Внести зміни в план ${TENDER['TENDER_UAID']} ${field_name} ${field_value} |
87 | 90 | |
... | ... | @@ -250,6 +253,20 @@ Resource resource.robot |
250 | 253 | Звірити координати доставки тендера ${viewer} ${TENDER['TENDER_UAID']} ${USERS.users['${tender_owner}'].initial_data} ${item_id} |
251 | 254 | |
252 | 255 | |
256 | +Звірити відображення поля ${field} усіх донорів для усіх користувачів | |
257 | + :FOR ${username} IN ${viewer} ${tender_owner} ${provider} ${provider1} | |
258 | + \ Звірити відображення поля ${field} усіх донорів для користувача ${username} | |
259 | + | |
260 | + | |
261 | +Звірити відображення поля ${field} усіх донорів для користувача ${username} | |
262 | + :FOR ${funders_index} IN RANGE ${FUNDERS} | |
263 | + \ Звірити відображення поля ${field} ${funders_index} донора для користувача ${username} | |
264 | + | |
265 | + | |
266 | +Звірити відображення поля ${field} ${funders_index} донора для користувача ${username} | |
267 | + Звірити поле донора ${username} ${TENDER['TENDER_UAID']} ${USERS.users['${tender_owner}'].initial_data} ${field} ${funders_index} | |
268 | + | |
269 | + | |
253 | 270 | Отримати дані із поля ${field} тендера для усіх користувачів |
254 | 271 | :FOR ${username} IN ${viewer} ${provider} ${provider1} ${tender_owner} |
255 | 272 | \ Отримати дані із поля ${field} тендера для користувача ${username} | ... | ... |
... | ... | @@ -248,12 +248,14 @@ Library openprocurement_client.utils |
248 | 248 | Внести зміни в тендер |
249 | 249 | [Arguments] ${username} ${tender_uaid} ${fieldname} ${fieldvalue} |
250 | 250 | ${tender}= openprocurement_client.Пошук тендера по ідентифікатору ${username} ${tender_uaid} |
251 | + ${prev_value}= Отримати дані із тендера ${username} ${tender_uaid} ${fieldname} | |
251 | 252 | Set_To_Object ${tender.data} ${fieldname} ${fieldvalue} |
252 | 253 | ${procurementMethodType}= Get From Object ${tender.data} procurementMethodType |
253 | 254 | Run Keyword If '${procurementMethodType}' == 'aboveThresholdUA' or '${procurementMethodType}' == 'aboveThresholdEU' |
254 | 255 | ... Remove From Dictionary ${tender.data} enquiryPeriod |
255 | 256 | ${tender}= set_access_key ${tender} ${USERS.users['${username}'].access_token} |
256 | 257 | ${tender}= Call Method ${USERS.users['${username}'].client} patch_tender ${tender} |
258 | + Run Keyword And Expect Error * Порівняти об'єкти ${prev_value} ${tender.data.${fieldname}} | |
257 | 259 | Set_To_Object ${USERS.users['${username}'].tender_data} ${fieldname} ${fieldvalue} |
258 | 260 | |
259 | 261 | |
... | ... | @@ -265,7 +267,6 @@ Library openprocurement_client.utils |
265 | 267 | ${tender}= Call Method ${USERS.users['${username}'].client} patch_plan ${tender} |
266 | 268 | Set_To_Object ${USERS.users['${username}'].tender_data} ${fieldname} ${fieldvalue} |
267 | 269 | |
268 | - | |
269 | 270 | ############################################################################## |
270 | 271 | # Item operations |
271 | 272 | ############################################################################## | ... | ... |
... | ... | @@ -93,6 +93,7 @@ def create_fake_doc(): |
93 | 93 | def test_tender_data(params, |
94 | 94 | periods=("enquiry", "tender"), |
95 | 95 | submissionMethodDetails=None, |
96 | + funders=None, | |
96 | 97 | accelerator=None): |
97 | 98 | submissionMethodDetails = submissionMethodDetails \ |
98 | 99 | if submissionMethodDetails else "quick" |
... | ... | @@ -175,6 +176,8 @@ def test_tender_data(params, |
175 | 176 | data['features'].append(new_feature) |
176 | 177 | if not data['features']: |
177 | 178 | del data['features'] |
179 | + if funders is not None: | |
180 | + data['funders'] = [fake.funders_data() for _ in range(int(funders))] | |
178 | 181 | data['status'] = 'draft' |
179 | 182 | return munchify(data) |
180 | 183 | ... | ... |
... | ... | @@ -215,7 +215,8 @@ Get Broker Property By Username |
215 | 215 | ${period_intervals}= compute_intrs ${BROKERS} ${used_brokers} |
216 | 216 | ${submissionMethodDetails}= Get Variable Value ${submissionMethodDetails} |
217 | 217 | ${accelerator}= Get Variable Value ${accelerator} |
218 | - ${tender_data}= prepare_test_tender_data ${period_intervals} ${tender_parameters} ${submissionMethodDetails} ${accelerator} | |
218 | + ${funders}= Get Variable Value ${funders} | |
219 | + ${tender_data}= prepare_test_tender_data ${period_intervals} ${tender_parameters} ${submissionMethodDetails} ${accelerator} ${funders} | |
219 | 220 | ${TENDER}= Create Dictionary |
220 | 221 | Set Global Variable ${TENDER} |
221 | 222 | Log ${tender_data} |
... | ... | @@ -502,6 +503,19 @@ Log differences between dicts |
502 | 503 | Порівняти об'єкти ${left} ${right} |
503 | 504 | |
504 | 505 | |
506 | +Звірити поле донора | |
507 | + [Arguments] ${username} ${tender_uaid} ${tender_data} ${field} ${funders_index} | |
508 | + ${left}= get_from_object ${tender_data.data.funders[${funders_index}]} ${field} | |
509 | + Log ${left} | |
510 | + Звірити поле донора із значенням ${username} ${tender_uaid} ${left} ${field} ${funders_index} | |
511 | + | |
512 | + | |
513 | +Звірити поле донора із значенням | |
514 | + [Arguments] ${username} ${tender_uaid} ${left} ${field} ${funders_index} ${object_id}=${Empty} | |
515 | + ${right}= Отримати дані із тендера ${username} ${tender_uaid} funders[${funders_index}].${field} ${object_id} | |
516 | + Порівняти об'єкти ${left} ${right} | |
517 | + | |
518 | + | |
505 | 519 | Звірити відображення типу запланованого тендера для ${username} |
506 | 520 | ${type}= Отримати дані із плану ${username} ${TENDER['TENDER_UAID']} tender.procurementMethodType |
507 | 521 | Звірити відображення поля tender.procurementMethodType плану для користувача ${username} |
... | ... | @@ -786,10 +800,17 @@ Require Failure |
786 | 800 | |
787 | 801 | |
788 | 802 | Дочекатись дати закінчення періоду уточнень |
789 | - [Arguments] ${username} | |
803 | + [Arguments] ${username} ${tender_uaid} | |
790 | 804 | Дочекатись дати ${USERS.users['${username}'].tender_data.data.enquiryPeriod.endDate} |
791 | 805 | Оновити LAST_MODIFICATION_DATE |
792 | 806 | Дочекатись синхронізації з майданчиком ${username} |
807 | + Wait until keyword succeeds | |
808 | + ... 10 min 15 sec | |
809 | + ... 15 sec | |
810 | + ... Звірити статус тендера | |
811 | + ... ${username} | |
812 | + ... ${tender_uaid} | |
813 | + ... active.tendering | |
793 | 814 | |
794 | 815 | |
795 | 816 | Дочекатись дати закінчення періоду відповідей на запитання | ... | ... |
... | ... | @@ -21,6 +21,7 @@ class OP_Provider(BaseProvider): |
21 | 21 | _fake_data = load_data_from_file("op_faker_data.json") |
22 | 22 | word_list = _fake_data.words |
23 | 23 | procuringEntities = _fake_data.procuringEntities |
24 | + funders = _fake_data.funders | |
24 | 25 | addresses = _fake_data.addresses |
25 | 26 | classifications = _fake_data.classifications |
26 | 27 | cpvs = _fake_data.cpvs |
... | ... | @@ -91,6 +92,11 @@ class OP_Provider(BaseProvider): |
91 | 92 | return deepcopy(self.random_element(self.procuringEntities)) |
92 | 93 | |
93 | 94 | @classmethod |
95 | + def funders_data(self): | |
96 | + return self.random_element(self.funders) | |
97 | + | |
98 | + | |
99 | + @classmethod | |
94 | 100 | def cpv(self): |
95 | 101 | return self.random_element(self.cpvs) |
96 | 102 | ... | ... |
... | ... | @@ -507,6 +507,31 @@ |
507 | 507 | "спускати", |
508 | 508 | "весілчанин" |
509 | 509 | ], |
510 | + "funders": [ | |
511 | + { | |
512 | + "additionalIdentifiers": [ ], | |
513 | + "contactPoint": { | |
514 | + "telephone": "+380444906671", | |
515 | + "url": "http://www.worldbank.org/uk/country/ukraine", | |
516 | + "faxNumber": "+380444906670", | |
517 | + "name": "Darya Gulei", | |
518 | + "email": "ukraine@worldbank.org" | |
519 | + }, | |
520 | + "identifier": { | |
521 | + "scheme": "XM-DAC", | |
522 | + "id": "44000", | |
523 | + "legalName": "International Bank for Reconstruction and Development (IBRD)" | |
524 | + }, | |
525 | + "name": "World Bank", | |
526 | + "address": { | |
527 | + "postalCode": "20433", | |
528 | + "countryName": "USA", | |
529 | + "streetAddress": "1818 H Street, NW", | |
530 | + "region": "DC", | |
531 | + "locality": "Washington" | |
532 | + } | |
533 | + } | |
534 | + ], | |
510 | 535 | "procuringEntities": [ |
511 | 536 | { |
512 | 537 | "contactPoint": { | ... | ... |
... | ... | @@ -421,6 +421,99 @@ ${ITEM_MEAT} ${True} |
421 | 421 | Звірити відображення поля featureOf усіх нецінових показників для користувача ${viewer} |
422 | 422 | |
423 | 423 | ############################################################################################## |
424 | +# Відображення основних даних донора | |
425 | +############################################################################################## | |
426 | + | |
427 | +Відображення назви донора | |
428 | + [Tags] ${USERS.users['${viewer}'].broker}: Відображення донора тендера | |
429 | + ... viewer tender_owner provider provider1 | |
430 | + ... ${USERS.users['${viewer}'].broker} ${USERS.users['${tender_owner}'].broker} | |
431 | + ... ${USERS.users['${provider}'].broker} ${USERS.users['${provider1}'].broker} | |
432 | + ... funders_view | |
433 | + Звірити відображення поля name усіх донорів для усіх користувачів | |
434 | + | |
435 | + | |
436 | +Відображення назви країни донора | |
437 | + [Tags] ${USERS.users['${viewer}'].broker}: Відображення донора тендера | |
438 | + ... viewer tender_owner provider provider1 | |
439 | + ... ${USERS.users['${viewer}'].broker} ${USERS.users['${tender_owner}'].broker} | |
440 | + ... ${USERS.users['${provider}'].broker} ${USERS.users['${provider1}'].broker} | |
441 | + ... funders_view | |
442 | + Звірити відображення поля address.countryName усіх донорів для усіх користувачів | |
443 | + | |
444 | + | |
445 | +Відображення назви міста донора | |
446 | + [Tags] ${USERS.users['${viewer}'].broker}: Відображення донора тендера | |
447 | + ... viewer tender_owner provider provider1 | |
448 | + ... ${USERS.users['${viewer}'].broker} ${USERS.users['${tender_owner}'].broker} | |
449 | + ... ${USERS.users['${provider}'].broker} ${USERS.users['${provider1}'].broker} | |
450 | + ... funders_view | |
451 | + Звірити відображення поля address.locality усіх донорів для усіх користувачів | |
452 | + | |
453 | + | |
454 | +Відображення поштового коду адреси донора | |
455 | + [Tags] ${USERS.users['${viewer}'].broker}: Відображення донора тендера | |
456 | + ... viewer tender_owner provider provider1 | |
457 | + ... ${USERS.users['${viewer}'].broker} ${USERS.users['${tender_owner}'].broker} | |
458 | + ... ${USERS.users['${provider}'].broker} ${USERS.users['${provider1}'].broker} | |
459 | + ... funders_view | |
460 | + Звірити відображення поля address.postalCode усіх донорів для усіх користувачів | |
461 | + | |
462 | + | |
463 | +Відображення регіону адреси донора | |
464 | + [Tags] ${USERS.users['${viewer}'].broker}: Відображення донора тендера | |
465 | + ... viewer tender_owner provider provider1 | |
466 | + ... ${USERS.users['${viewer}'].broker} ${USERS.users['${tender_owner}'].broker} | |
467 | + ... ${USERS.users['${provider}'].broker} ${USERS.users['${provider1}'].broker} | |
468 | + ... funders_view | |
469 | + Звірити відображення поля address.region усіх донорів для усіх користувачів | |
470 | + | |
471 | + | |
472 | +Відображення вулиці адреси донора | |
473 | + [Tags] ${USERS.users['${viewer}'].broker}: Відображення донора тендера | |
474 | + ... viewer tender_owner provider provider1 | |
475 | + ... ${USERS.users['${viewer}'].broker} ${USERS.users['${tender_owner}'].broker} | |
476 | + ... ${USERS.users['${provider}'].broker} ${USERS.users['${provider1}'].broker} | |
477 | + ... funders_view | |
478 | + Звірити відображення поля address.streetAddress усіх донорів для усіх користувачів | |
479 | + | |
480 | + | |
481 | +Відображення url веб-сторінки контактної особи | |
482 | + [Tags] ${USERS.users['${viewer}'].broker}: Відображення донора тендера | |
483 | + ... viewer tender_owner provider provider1 | |
484 | + ... ${USERS.users['${viewer}'].broker} ${USERS.users['${tender_owner}'].broker} | |
485 | + ... ${USERS.users['${provider}'].broker} ${USERS.users['${provider1}'].broker} | |
486 | + ... funders_view | |
487 | + Звірити відображення поля contactPoint.url усіх донорів для усіх користувачів | |
488 | + | |
489 | + | |
490 | +Відображення id ідентифікатора | |
491 | + [Tags] ${USERS.users['${viewer}'].broker}: Відображення донора тендера | |
492 | + ... viewer tender_owner provider provider1 | |
493 | + ... ${USERS.users['${viewer}'].broker} ${USERS.users['${tender_owner}'].broker} | |
494 | + ... ${USERS.users['${provider}'].broker} ${USERS.users['${provider1}'].broker} | |
495 | + ... funders_view | |
496 | + Звірити відображення поля identifier.id усіх донорів для усіх користувачів | |
497 | + | |
498 | + | |
499 | +Відображення юридичної назви ідентифікатора | |
500 | + [Tags] ${USERS.users['${viewer}'].broker}: Відображення донора тендера | |
501 | + ... viewer tender_owner provider provider1 | |
502 | + ... ${USERS.users['${viewer}'].broker} ${USERS.users['${tender_owner}'].broker} | |
503 | + ... ${USERS.users['${provider}'].broker} ${USERS.users['${provider1}'].broker} | |
504 | + ... funders_view | |
505 | + Звірити відображення поля identifier.legalName усіх донорів для усіх користувачів | |
506 | + | |
507 | + | |
508 | +Відображення схеми ідентифікатора | |
509 | + [Tags] ${USERS.users['${viewer}'].broker}: Відображення донора тендера | |
510 | + ... viewer tender_owner provider provider1 | |
511 | + ... ${USERS.users['${viewer}'].broker} ${USERS.users['${tender_owner}'].broker} | |
512 | + ... ${USERS.users['${provider}'].broker} ${USERS.users['${provider1}'].broker} | |
513 | + ... funders_view | |
514 | + Звірити відображення поля identifier.scheme усіх донорів для усіх користувачів | |
515 | + | |
516 | +############################################################################################## | |
424 | 517 | # Редагування тендера |
425 | 518 | ############################################################################################## |
426 | 519 | |
... | ... | @@ -777,6 +870,69 @@ ${ITEM_MEAT} ${True} |
777 | 870 | ... critical |
778 | 871 | Можливість видалити -1 неціновий показник |
779 | 872 | |
873 | + | |
874 | +Можливість видалити донора | |
875 | + [Tags] ${USERS.users['${tender_owner}'].broker}: Можливість редагувати тендер | |
876 | + ... tender_owner | |
877 | + ... ${USERS.users['${tender_owner}'].broker} | |
878 | + ... delete_funder | |
879 | + [Teardown] Оновити LAST_MODIFICATION_DATE | |
880 | + Можливість видалити донора 0 | |
881 | + | |
882 | + | |
883 | +Можливість додати донора | |
884 | + [Tags] ${USERS.users['${tender_owner}'].broker}: Можливість редагувати тендер | |
885 | + ... tender_owner | |
886 | + ... ${USERS.users['${tender_owner}'].broker} | |
887 | + ... add_funder | |
888 | + [Teardown] Оновити LAST_MODIFICATION_DATE | |
889 | + Можливість додати донора 0 | |
890 | + | |
891 | + | |
892 | +Неможливість видалити ім'я донора | |
893 | + [Tags] ${USERS.users['${tender_owner}'].broker}: Можливість редагувати тендер | |
894 | + ... tender_owner | |
895 | + ... ${USERS.users['${tender_owner}'].broker} | |
896 | + ... delete_funder_field | |
897 | + [Teardown] Оновити LAST_MODIFICATION_DATE | |
898 | + Run Keyword And Expect Error * Можливість видалити поле name з донора 0 | |
899 | + | |
900 | + | |
901 | +Неможливість видалити ім'я контактної особи донора | |
902 | + [Tags] ${USERS.users['${tender_owner}'].broker}: Можливість редагувати тендер | |
903 | + ... tender_owner | |
904 | + ... ${USERS.users['${tender_owner}'].broker} | |
905 | + ... delete_funder_field | |
906 | + [Teardown] Оновити LAST_MODIFICATION_DATE | |
907 | + Run Keyword And Expect Error * Можливість видалити поле contactPoint.name з донора 0 | |
908 | + | |
909 | + | |
910 | +Неможливість видалити id ідентифікатора донора | |
911 | + [Tags] ${USERS.users['${tender_owner}'].broker}: Можливість редагувати тендер | |
912 | + ... tender_owner | |
913 | + ... ${USERS.users['${tender_owner}'].broker} | |
914 | + ... delete_funder_field | |
915 | + [Teardown] Оновити LAST_MODIFICATION_DATE | |
916 | + Run Keyword And Expect Error * Можливість видалити поле identifier.id з донора 0 | |
917 | + | |
918 | + | |
919 | +Неможливість видалити схему ідентифікатора донора | |
920 | + [Tags] ${USERS.users['${tender_owner}'].broker}: Можливість редагувати тендер | |
921 | + ... tender_owner | |
922 | + ... ${USERS.users['${tender_owner}'].broker} | |
923 | + ... delete_funder_field | |
924 | + [Teardown] Оновити LAST_MODIFICATION_DATE | |
925 | + Run Keyword And Expect Error * Можливість видалити поле identifier.scheme з донора 0 | |
926 | + | |
927 | + | |
928 | +Неможливість видалити назву країни з адреси донора | |
929 | + [Tags] ${USERS.users['${tender_owner}'].broker}: Можливість редагувати тендер | |
930 | + ... tender_owner | |
931 | + ... ${USERS.users['${tender_owner}'].broker} | |
932 | + ... delete_funder_field | |
933 | + [Teardown] Оновити LAST_MODIFICATION_DATE | |
934 | + Run Keyword And Expect Error * Можливість видалити поле address.countryName з донора 0 | |
935 | + | |
780 | 936 | ############################################################################################## |
781 | 937 | # QUESTIONS |
782 | 938 | ############################################################################################## |
... | ... | @@ -969,6 +1125,17 @@ ${ITEM_MEAT} ${True} |
969 | 1125 | Можливість змінити поле description 0 лоту на ${new_description} |
970 | 1126 | Remove From Dictionary ${USERS.users['${tender_owner}'].tender_data.data.lots[0]} description |
971 | 1127 | |
1128 | + | |
1129 | +Неможливість змінити дані про донора після завершення періоду уточнень | |
1130 | + [Tags] ${USERS.users['${tender_owner}'].broker}: Редагування тендера | |
1131 | + ... tender_owner | |
1132 | + ... ${USERS.users['${tender_owner}'].broker} | |
1133 | + ... change_funder_after_enquiry_period | |
1134 | + [Setup] Дочекатись дати закінчення періоду уточнень ${tender_owner} ${TENDER['TENDER_UAID']} | |
1135 | + ${new_legalName}= create_fake_title | |
1136 | + Перевірити неможливість зміни поля funders[0].identifier.legalName тендера на значення ${new_legalName} для користувача ${tender_owner} | |
1137 | + Remove From Dictionary ${USERS.users['${tender_owner}'].tender_data.data.funders[0].identifier} legalName | |
1138 | + | |
972 | 1139 | ############################################################################################## |
973 | 1140 | # TENDER COMPLAINTS |
974 | 1141 | ############################################################################################## | ... | ... |
... | ... | @@ -294,7 +294,8 @@ def compute_intrs(brokers_data, used_brokers): |
294 | 294 | def prepare_test_tender_data(procedure_intervals, |
295 | 295 | tender_parameters, |
296 | 296 | submissionMethodDetails, |
297 | - accelerator): | |
297 | + accelerator, | |
298 | + funders): | |
298 | 299 | # Get actual intervals by mode name |
299 | 300 | mode = tender_parameters['mode'] |
300 | 301 | if mode in procedure_intervals: |
... | ... | @@ -332,6 +333,7 @@ def prepare_test_tender_data(procedure_intervals, |
332 | 333 | return munchify({'data': test_tender_data( |
333 | 334 | tender_parameters, |
334 | 335 | submissionMethodDetails=submissionMethodDetails, |
336 | + funders=funders, | |
335 | 337 | accelerator=accelerator)}) |
336 | 338 | # The previous line needs an explicit keyword argument because, |
337 | 339 | # unlike previous functions, this one has three arguments. | ... | ... |
robot_tests_arguments/below_funders.txt
0 → 100644
1 | +-v MODE:belowThreshold | |
2 | + | |
3 | +-v NUMBER_OF_ITEMS:1 | |
4 | +-v NUMBER_OF_LOTS:1 | |
5 | +-v FUNDERS:1 | |
6 | + | |
7 | +-v TENDER_MEAT:False | |
8 | +-v ITEM_MEAT:False | |
9 | +-v LOT_MEAT:False | |
10 | + | |
11 | + | |
12 | +-i create_tender | |
13 | +-i find_tender | |
14 | +-i tender_view | |
15 | +-i lot_view | |
16 | +-i funders_view | |
17 | + | |
18 | +-i delete_funder_field | |
19 | +-i delete_funder | |
20 | +-i add_funder | |
21 | +-i change_funder_after_enquiry_period | |
22 | + | |
23 | +-i make_bid_by_provider | |
24 | +-i make_bid_by_provider1 | |
25 | +-i modify_bid_by_provider1 | |
26 | + | |
27 | +-i auction | |
28 | + | |
29 | +-i qualification_approve_first_award | |
30 | + | |
31 | +-i contract_sign | |
\ No newline at end of file | ... | ... |
Please
register
or
login
to post a comment