Commit ad120f5ab424115e33e4e5160228da5cd33e09e5

Authored by jenkins@playtender.xyz
2 parents bd98cc35 fd7af160

Merge branch 'master' into master_new

Showing 28 changed files with 662 additions and 61 deletions
@@ -33,6 +33,7 @@ ${ERROR_PLAN_MESSAGE}= Calling method 'get_plan' failed: ResourceGone: {"status @@ -33,6 +33,7 @@ ${ERROR_PLAN_MESSAGE}= Calling method 'get_plan' failed: ResourceGone: {"status
33 ... gmdn_index=${${GMDN_INDEX}} 33 ... gmdn_index=${${GMDN_INDEX}}
34 ... plan_tender=${${PLAN_TENDER}} 34 ... plan_tender=${${PLAN_TENDER}}
35 ... article_17=${${ARTICLE_17}} 35 ... article_17=${${ARTICLE_17}}
  36 + ... criteria_guarantee=${${CRITERIA_GUARANTEE}}
36 ${DIALOGUE_TYPE}= Get Variable Value ${DIALOGUE_TYPE} 37 ${DIALOGUE_TYPE}= Get Variable Value ${DIALOGUE_TYPE}
37 ${FUNDING_KIND}= Get Variable Value ${FUNDING_KIND} 38 ${FUNDING_KIND}= Get Variable Value ${FUNDING_KIND}
38 Run keyword if '${DIALOGUE_TYPE}' != '${None}' Set to dictionary ${tender_parameters} dialogue_type=${DIALOGUE_TYPE} 39 Run keyword if '${DIALOGUE_TYPE}' != '${None}' Set to dictionary ${tender_parameters} dialogue_type=${DIALOGUE_TYPE}
@@ -44,14 +45,14 @@ ${ERROR_PLAN_MESSAGE}= Calling method 'get_plan' failed: ResourceGone: {"status @@ -44,14 +45,14 @@ ${ERROR_PLAN_MESSAGE}= Calling method 'get_plan' failed: ResourceGone: {"status
44 Log ${plan_data} 45 Log ${plan_data}
45 ${tender_data}= Підготувати дані для створення тендера ${tender_parameters} ${plan_data} 46 ${tender_data}= Підготувати дані для створення тендера ${tender_parameters} ${plan_data}
46 ${adapted_data}= Адаптувати дані для оголошення тендера ${tender_data} 47 ${adapted_data}= Адаптувати дані для оголошення тендера ${tender_data}
47 - ${article_17_data}= Run keyword If ${ARTICLE_17} == True Підготувати дані по критеріям статті 17  
48 ${TENDER_UAID}= Run keyword If ${ARTICLE_17} == True Run As ${tender_owner} Створити тендер з критеріями 48 ${TENDER_UAID}= Run keyword If ${ARTICLE_17} == True Run As ${tender_owner} Створити тендер з критеріями
49 ... ${adapted_data} 49 ... ${adapted_data}
50 ... ${ARTIFACT.tender_uaid} 50 ... ${ARTIFACT.tender_uaid}
51 - ... ${article_17_data} 51 + ... ${CRITERIA_GUARANTEE}
52 ... ELSE Run As ${tender_owner} Створити тендер 52 ... ELSE Run As ${tender_owner} Створити тендер
53 ... ${adapted_data} 53 ... ${adapted_data}
54 ... ${ARTIFACT.tender_uaid} 54 ... ${ARTIFACT.tender_uaid}
  55 + ... ${CRITERIA_GUARANTEE}
55 Set To Dictionary ${USERS.users['${tender_owner}']} initial_data=${adapted_data} 56 Set To Dictionary ${USERS.users['${tender_owner}']} initial_data=${adapted_data}
56 # bof - fix # 57 # bof - fix #
57 ${tender_cdb_data}= getTenderDataByTenderUaId ${API_HOST_URL}/api/${API_VERSION} ${TENDER_UAID} 58 ${tender_cdb_data}= getTenderDataByTenderUaId ${API_HOST_URL}/api/${API_VERSION} ${TENDER_UAID}
@@ -2367,6 +2368,21 @@ ${ERROR_PLAN_MESSAGE}= Calling method 'get_plan' failed: ResourceGone: {"status @@ -2367,6 +2368,21 @@ ${ERROR_PLAN_MESSAGE}= Calling method 'get_plan' failed: ResourceGone: {"status
2367 Set To Dictionary ${USERS.users['${username}']} bid_document_modified=${bid_document_modified_data} 2368 Set To Dictionary ${USERS.users['${username}']} bid_document_modified=${bid_document_modified_data}
2368 Remove File ${file_path} 2369 Remove File ${file_path}
2369 2370
  2371 +
  2372 +Можливість завантажити підтвердження виконання контракту в пропозицію учасника
  2373 + [Arguments] ${username} ${tender_uaid}
  2374 + Log ${username}
  2375 + Log ${tender_uaid}
  2376 + Log Many ${USERS.users['${username}'].id_map}
  2377 + ${bid}= openprocurement_client.Отримати пропозицію ${username} ${tender_uaid}
  2378 + Log ${bid}
  2379 + ${bid_doc_id}= get_from_object ${bid.data} documents[0].id
  2380 + Log ${bid_doc_id}
  2381 + ${bid_doc_title}= get_from_object ${bid.data} documents[0].title
  2382 + Log ${bid_doc_title}
  2383 + ${contract_response}= Підготувати дані по гарантії виконання контракту ${bid_doc_id} ${bid_doc_title}
  2384 + Run As ${username} Завантажити відповідь на критерій гарантії виконання контракту ${tender_uaid} ${contract_response}
  2385 +
2370 ############################################################################################## 2386 ##############################################################################################
2371 # Cancellations 2387 # Cancellations
2372 ############################################################################################## 2388 ##############################################################################################
@@ -207,6 +207,35 @@ Library Collections @@ -207,6 +207,35 @@ Library Collections
207 ${participationUrl}= Get Variable Value ${object_with_url['participationUrl']} 207 ${participationUrl}= Get Variable Value ${object_with_url['participationUrl']}
208 [Return] ${participationUrl} 208 [Return] ${participationUrl}
209 209
  210 +
  211 +Отримати поточного Переможця тендера
  212 + ${file_path}= Get Variable Value ${ARTIFACT_FILE} artifact.yaml
  213 + ${ARTIFACT}= load_data_from ${file_path}
  214 + Log ${ARTIFACT}
  215 + ${provider}= get variable value ${provider_bid_id} ${ARTIFACT.provider_bid_id}
  216 + Log ${provider}
  217 + ${provider1}= get variable value ${provider1_bid_id} ${ARTIFACT.provider1_bid_id}
  218 + Log ${provider1}
  219 + ${provider2}= get variable value ${provider2_bid_id} ${ARTIFACT.provider2_bid_id}
  220 + Log ${provider2}
  221 + ${tender}= openprocurement_client.Пошук тендера по ідентифікатору ${tender_owner} ${TENDER['TENDER_UAID']}
  222 + Log ${tender}
  223 + ${award}= Get Variable Value ${USERS.users['${tender_owner}'].tender_data.data.awards[-1]}
  224 + Log ${award}
  225 + ${award.bid_id}= Encode String To Bytes ${award.bid_id} UTF-8
  226 + Log ${award.bid_id}
  227 + ${status_1}= run keyword and return status Should Be Equal ${provider} ${award.bid_id}
  228 + log ${status_1}
  229 + ${status_2}= run keyword and return status Should Be Equal ${provider1} ${award.bid_id}
  230 + log ${status_2}
  231 + ${status_3}= run keyword and return status Should Be Equal ${provider2} ${award.bid_id}
  232 + log ${status_3}
  233 + ${username}= run keyword if ${status_1} == ${True} set variable Tender_User
  234 + ... ELSE IF ${status_2} == ${True} set variable Tender_User1
  235 + ... ELSE set variable Tender_User2
  236 + Log ${username}
  237 + [Return] ${username}
  238 +
210 ############################################################################## 239 ##############################################################################
211 # Tender operations 240 # Tender operations
212 ############################################################################## 241 ##############################################################################
@@ -223,7 +252,7 @@ Library Collections @@ -223,7 +252,7 @@ Library Collections
223 252
224 253
225 Створити тендер 254 Створити тендер
226 - [Arguments] ${username} ${tender_data} ${plan_uaid} 255 + [Arguments] ${username} ${tender_data} ${plan_uaid} ${CRITERIA_GUARANTEE}=None
227 ${file_path}= Get Variable Value ${ARTIFACT_FILE} artifact_plan.yaml 256 ${file_path}= Get Variable Value ${ARTIFACT_FILE} artifact_plan.yaml
228 ${ARTIFACT}= load_data_from ${file_path} 257 ${ARTIFACT}= load_data_from ${file_path}
229 Log ${ARTIFACT.tender_owner_access_token} 258 Log ${ARTIFACT.tender_owner_access_token}
@@ -234,6 +263,11 @@ Library Collections @@ -234,6 +263,11 @@ Library Collections
234 ... access_token=${ARTIFACT.tender_owner_access_token} 263 ... access_token=${ARTIFACT.tender_owner_access_token}
235 Log ${tender} 264 Log ${tender}
236 ${access_token}= Get Variable Value ${tender.access.token} 265 ${access_token}= Get Variable Value ${tender.access.token}
  266 + ${criteria_guarantee_data}= Run keyword If ${CRITERIA_GUARANTEE} == True Підготувати дані по критеріям гарантії
  267 + ${tender_criteria_guarantee}= Run keyword If ${CRITERIA_GUARANTEE} == True Call Method ${USERS.users['${username}'].client} create_criteria
  268 + ... ${tender.data.id}
  269 + ... ${criteria_guarantee_data}
  270 + ... access_token=${tender.access.token}
237 ${status}= Set Variable If 'open' in '${MODE}' active.tendering ${EMPTY} 271 ${status}= Set Variable If 'open' in '${MODE}' active.tendering ${EMPTY}
238 ${status}= Set Variable If 'below' in '${MODE}' active.enquiries ${status} 272 ${status}= Set Variable If 'below' in '${MODE}' active.enquiries ${status}
239 ${status}= Set Variable If 'selection' in '${MODE}' draft.pending ${status} 273 ${status}= Set Variable If 'selection' in '${MODE}' draft.pending ${status}
@@ -253,7 +287,7 @@ Library Collections @@ -253,7 +287,7 @@ Library Collections
253 287
254 288
255 Створити тендер з критеріями 289 Створити тендер з критеріями
256 - [Arguments] ${username} ${tender_data} ${plan_uaid} ${article_17_data} 290 + [Arguments] ${username} ${tender_data} ${plan_uaid} ${CRITERIA_GUARANTEE} #${article_17_data}
257 ${file_path}= Get Variable Value ${ARTIFACT_FILE} artifact_plan.yaml 291 ${file_path}= Get Variable Value ${ARTIFACT_FILE} artifact_plan.yaml
258 ${ARTIFACT}= load_data_from ${file_path} 292 ${ARTIFACT}= load_data_from ${file_path}
259 Log ${ARTIFACT.tender_owner_access_token} 293 Log ${ARTIFACT.tender_owner_access_token}
@@ -264,10 +298,17 @@ Library Collections @@ -264,10 +298,17 @@ Library Collections
264 ... access_token=${ARTIFACT.tender_owner_access_token} 298 ... access_token=${ARTIFACT.tender_owner_access_token}
265 Log ${tender} 299 Log ${tender}
266 ${access_token}= Get Variable Value ${tender.access.token} 300 ${access_token}= Get Variable Value ${tender.access.token}
  301 + ${article_17_data}= Підготувати дані по критеріям статті 17
267 ${tender_criteria}= Call Method ${USERS.users['${username}'].client} create_criteria 302 ${tender_criteria}= Call Method ${USERS.users['${username}'].client} create_criteria
268 ... ${tender.data.id} 303 ... ${tender.data.id}
269 ... ${article_17_data} 304 ... ${article_17_data}
270 ... access_token=${tender.access.token} 305 ... access_token=${tender.access.token}
  306 + Log ${CRITERIA_GUARANTEE}
  307 + ${criteria_guarantee_data}= Run keyword If ${CRITERIA_GUARANTEE} == True Підготувати дані по критеріям гарантії
  308 + ${tender_criteria_guarantee}= Run keyword If ${CRITERIA_GUARANTEE} == True Call Method ${USERS.users['${username}'].client} create_criteria
  309 + ... ${tender.data.id}
  310 + ... ${criteria_guarantee_data}
  311 + ... access_token=${tender.access.token}
271 ${status}= Set Variable If 'open' in '${MODE}' active.tendering ${EMPTY} 312 ${status}= Set Variable If 'open' in '${MODE}' active.tendering ${EMPTY}
272 ${status}= Set Variable If 'below' in '${MODE}' active.enquiries ${status} 313 ${status}= Set Variable If 'below' in '${MODE}' active.enquiries ${status}
273 ${status}= Set Variable If 'selection' in '${MODE}' draft.pending ${status} 314 ${status}= Set Variable If 'selection' in '${MODE}' draft.pending ${status}
@@ -1901,6 +1942,27 @@ Library Collections @@ -1901,6 +1942,27 @@ Library Collections
1901 [return] ${reply} 1942 [return] ${reply}
1902 1943
1903 1944
  1945 +Завантажити відповідь на критерій гарантії виконання контракту
  1946 + [Arguments] ${username} ${tender_uaid} ${contract_response}
  1947 + ${tender}= openprocurement_client.Пошук тендера по ідентифікатору ${username} ${tender_uaid}
  1948 + Log ${tender}
  1949 + ${bid}= openprocurement_client.Отримати пропозицію ${username} ${tender_uaid}
  1950 + Log ${bid}
  1951 + ${bid_id}= openprocurement_client.Отримати інформацію із пропозиції ${username} ${tender_uaid} id
  1952 + Log ${bid_id}
  1953 + ${req_id}= get_from_object ${bid.data} requirementResponses[-1].id
  1954 + Log ${req_id}
  1955 + ${token}= Get Variable Value ${USERS.users['${username}'].access_token}
  1956 + Log ${token}
  1957 + ${reply}= Call Method ${USERS.users['${username}'].client} create_bid_criteria_contract_guarantee_response
  1958 + ... ${tender.data.id}
  1959 + ... ${contract_response}
  1960 + ... ${bid_id}
  1961 + ... ${req_id}
  1962 + ... ${token}
  1963 + ${reply}= munch_dict arg=${reply}
  1964 + [Return] ${reply}
  1965 +
1904 ############################################################################## 1966 ##############################################################################
1905 # QUALIFICATION 1967 # QUALIFICATION
1906 ############################################################################## 1968 ##############################################################################
@@ -13,6 +13,7 @@ ${ROAD_INDEX} ${False} @@ -13,6 +13,7 @@ ${ROAD_INDEX} ${False}
13 ${GMDN_INDEX} ${False} 13 ${GMDN_INDEX} ${False}
14 ${PLAN_TENDER} ${True} 14 ${PLAN_TENDER} ${True}
15 ${ARTICLE_17} ${False} 15 ${ARTICLE_17} ${False}
  16 +${CRITERIA_GUARANTEE} ${False}
16 17
17 *** Test Cases *** 18 *** Test Cases ***
18 Можливість оголосити тендер 19 Можливість оголосити тендер
@@ -25,6 +25,7 @@ ${ROAD_INDEX} ${False} @@ -25,6 +25,7 @@ ${ROAD_INDEX} ${False}
25 ${GMDN_INDEX} ${False} 25 ${GMDN_INDEX} ${False}
26 ${PLAN_TENDER} ${True} 26 ${PLAN_TENDER} ${True}
27 ${ARTICLE_17} ${False} 27 ${ARTICLE_17} ${False}
  28 +${CRITERIA_GUARANTEE} ${False}
28 29
29 *** Test Cases *** 30 *** Test Cases ***
30 31
@@ -111,6 +112,17 @@ ${ARTICLE_17} ${False} @@ -111,6 +112,17 @@ ${ARTICLE_17} ${False}
111 Можливість додати до пропозиції відповідь на критерії користувачем ${provider1} 112 Можливість додати до пропозиції відповідь на критерії користувачем ${provider1}
112 Можливість активувати пропозицію коритувачем ${provider1} 113 Можливість активувати пропозицію коритувачем ${provider1}
113 114
  115 +
  116 +Можливість подати пропозицію третім учасником
  117 + [Tags] ${USERS.users['${provider1}'].broker}: Подання пропозиції
  118 + ... provider2
  119 + ... ${USERS.users['${provider1}'].broker}
  120 + ... make_bid_by_provider2 level1
  121 + ... critical
  122 + [Setup] Дочекатись дати початку прийому пропозицій ${provider2} ${TENDER['TENDER_UAID']}
  123 + [Teardown] Оновити LAST_MODIFICATION_DATE
  124 + Можливість подати цінову пропозицію користувачем ${provider2}
  125 +
114 ############################################################################################## 126 ##############################################################################################
115 # TENDER/LOT COMPLAINT 127 # TENDER/LOT COMPLAINT
116 ############################################################################################## 128 ##############################################################################################
@@ -584,7 +596,7 @@ ${ARTICLE_17} ${False} @@ -584,7 +596,7 @@ ${ARTICLE_17} ${False}
584 Дочекатись дати початку періоду кваліфікації ${provider} ${TENDER['TENDER_UAID']} 596 Дочекатись дати початку періоду кваліфікації ${provider} ${TENDER['TENDER_UAID']}
585 597
586 598
587 -Можливість підтвердити учасника 599 +Можливість підтвердити першого учасника
588 [Tags] ${USERS.users['${tender_owner}'].broker}: Процес кваліфікації 600 [Tags] ${USERS.users['${tender_owner}'].broker}: Процес кваліфікації
589 ... tender_owner 601 ... tender_owner
590 ... ${USERS.users['${tender_owner}'].broker} 602 ... ${USERS.users['${tender_owner}'].broker}
@@ -598,6 +610,78 @@ ${ARTICLE_17} ${False} @@ -598,6 +610,78 @@ ${ARTICLE_17} ${False}
598 Remove File ${file_path} 610 Remove File ${file_path}
599 611
600 612
  613 +Можливість вперше скасувати рішення кваліфікації учасника
  614 + [Tags] ${USERS.users['${tender_owner}'].broker}: Процес кваліфікації
  615 + ... tender_owner
  616 + ... ${USERS.users['${tender_owner}'].broker}
  617 + ... qualification_cancel_first_time
  618 + ... critical
  619 + Run As ${tender_owner} Скасування рішення кваліфікаційної комісії ${TENDER['TENDER_UAID']} ${first_cancel_index}
  620 +
  621 +
  622 +Можливість вперше відхилити постачальника
  623 + [Tags] ${USERS.users['${tender_owner}'].broker}: Процес кваліфікації
  624 + ... tender_owner
  625 + ... ${USERS.users['${tender_owner}'].broker}
  626 + ... qualification_reject_first_time
  627 + ... critical
  628 + Run As ${tender_owner} Дискваліфікувати постачальника ${TENDER['TENDER_UAID']} ${first_reject_index}
  629 +
  630 +
  631 +Можливість підтвердити другого постачальника
  632 + [Tags] ${USERS.users['${tender_owner}'].broker}: Процес кваліфікації
  633 + ... tender_owner
  634 + ... ${USERS.users['${tender_owner}'].broker}
  635 + ... qualification_approve_second_participant
  636 + ... critical
  637 + Run As ${tender_owner} Підтвердити постачальника ${TENDER['TENDER_UAID']} ${second_approve_index}
  638 +
  639 +
  640 +Можливість вдруге скасувати рішення кваліфікації
  641 + [Tags] ${USERS.users['${tender_owner}'].broker}: Процес кваліфікації
  642 + ... tender_owner
  643 + ... ${USERS.users['${tender_owner}'].broker}
  644 + ... qualification_cancel_second_time
  645 + ... critical
  646 + Run As ${tender_owner} Скасування рішення кваліфікаційної комісії ${TENDER['TENDER_UAID']} ${second_cancel_index}
  647 +
  648 +
  649 +Можливість вдруге відхилити постачальника
  650 + [Tags] ${USERS.users['${tender_owner}'].broker}: Процес кваліфікації
  651 + ... tender_owner
  652 + ... ${USERS.users['${tender_owner}'].broker}
  653 + ... qualification_reject_second_time
  654 + ... critical
  655 + Run As ${tender_owner} Дискваліфікувати постачальника ${TENDER['TENDER_UAID']} ${second_reject_index}
  656 +
  657 +
  658 +Можливість підтвердити третього постачальника
  659 + [Tags] ${USERS.users['${tender_owner}'].broker}: Процес кваліфікації
  660 + ... tender_owner
  661 + ... ${USERS.users['${tender_owner}'].broker}
  662 + ... qualification_approve_third_participant
  663 + ... critical
  664 + Run As ${tender_owner} Підтвердити постачальника ${TENDER['TENDER_UAID']} ${third_approve_index}
  665 +
  666 +
  667 +Можливість втретє скасувати рішення кваліфікації
  668 + [Tags] ${USERS.users['${tender_owner}'].broker}: Процес кваліфікації
  669 + ... tender_owner
  670 + ... ${USERS.users['${tender_owner}'].broker}
  671 + ... qualification_cancel_third_time
  672 + ... critical
  673 + Run As ${tender_owner} Скасування рішення кваліфікаційної комісії ${TENDER['TENDER_UAID']} ${third_cancel_index}
  674 +
  675 +
  676 +Можливість втретє відхилити постачальника
  677 + [Tags] ${USERS.users['${tender_owner}'].broker}: Процес кваліфікації
  678 + ... tender_owner
  679 + ... ${USERS.users['${tender_owner}'].broker}
  680 + ... qualification_reject_third_time
  681 + ... critical
  682 + Run As ${tender_owner} Дискваліфікувати постачальника ${TENDER['TENDER_UAID']} ${third_reject_index}
  683 +
  684 +
601 Можливість створити чернетку скарги про виправлення визначення переможця 685 Можливість створити чернетку скарги про виправлення визначення переможця
602 [Tags] ${USERS.users['${provider}'].broker}: Процес оскарження визначення переможця 686 [Tags] ${USERS.users['${provider}'].broker}: Процес оскарження визначення переможця
603 ... provider 687 ... provider
@@ -618,6 +702,28 @@ ${ARTICLE_17} ${False} @@ -618,6 +702,28 @@ ${ARTICLE_17} ${False}
618 Звірити відображення поля status скарги ${award_index} із draft об'єкта awards для користувача ${provider} 702 Звірити відображення поля status скарги ${award_index} із draft об'єкта awards для користувача ${provider}
619 703
620 704
  705 +Неможливість створити скаргу спрощена процедура для оборони
  706 + [Tags] ${USERS.users['${provider}'].broker}: Процес оскарження визначення переможця
  707 + ... provider
  708 + ... ${USERS.users['${provider}'].broker}
  709 + ... defense_award_complaint_error
  710 + ... critical
  711 + [Setup] Дочекатись синхронізації з майданчиком ${provider}
  712 + [Teardown] Оновити LAST_MODIFICATION_DATE
  713 + run keyword and expect error * Можливість створити чернетку скарги про виправлення визначення ${award_index} переможця
  714 +
  715 +
  716 +Можливість створити чернетку скарги про виправлення визначення переможця
  717 + [Tags] ${USERS.users['${provider}'].broker}: Процес оскарження визначення переможця
  718 + ... provider
  719 + ... ${USERS.users['${provider}'].broker}
  720 + ... second_award_complaint_draft
  721 + ... critical
  722 + [Setup] Дочекатись синхронізації з майданчиком ${provider}
  723 + [Teardown] Оновити LAST_MODIFICATION_DATE
  724 + Можливість створити чернетку скарги про виправлення визначення 1 переможця
  725 +
  726 +
621 Можливість додати документ до скарги про виправлення визначення переможця 727 Можливість додати документ до скарги про виправлення визначення переможця
622 [Tags] ${USERS.users['${provider}'].broker}: Процес оскарження визначення переможця 728 [Tags] ${USERS.users['${provider}'].broker}: Процес оскарження визначення переможця
623 ... provider 729 ... provider
@@ -530,19 +530,40 @@ proztorg: @@ -530,19 +530,40 @@ proztorg:
530 uub: 530 uub:
531 intervals: 531 intervals:
532 default: 532 default:
533 - enquiry: [0, 8] 533 + accelerator: 14400
534 tender: [0, 10] 534 tender: [0, 10]
535 - openua:  
536 - accelerator: 1440  
537 - tender: [0, 15]  
538 - openeu:  
539 - tender: [0, 30] 535 + open_competitive_dialogue:
  536 + accelerator: 14400
  537 + tender: [0, 10]
  538 + open_esco:
  539 + accelerator: 14400
  540 + tender: [0, 10]
  541 + belowThreshold:
  542 + accelerator: 3000
  543 + enquiry: [0, 8]
  544 + tender: [0, 8]
  545 + negotiation:
  546 + accelerator: 7440
  547 + enquiry: [0, 8]
  548 + tender: [0, 8]
  549 + open_framework:
  550 + accelerator: 14400
  551 + tender: [0, 10]
  552 + openua_defense:
540 accelerator: 1440 553 accelerator: 1440
  554 + tender: [0, 12]
  555 + open_simple_defense:
  556 + accelerator: 1440
  557 + tender: [0, 10]
541 keywords_file: uub 558 keywords_file: uub
  559 + login_page: 'https://prozorrotest.uub.com.ua/Login.aspx'
  560 + tenders_page: 'https://prozorrotest.uub.com.ua/PositionList.aspx'
  561 + plans_page: 'https://prozorrotest.uub.com.ua/PlanList.aspx'
542 roles: 562 roles:
543 tender_owner: uub_Owner 563 tender_owner: uub_Owner
544 provider: uub_Provider 564 provider: uub_Provider
545 provider1: uub_Provider1 565 provider1: uub_Provider1
  566 + provider2: uub_Provider2
546 viewer: uub_Viewer 567 viewer: uub_Viewer
547 timeout_on_wait: 15 568 timeout_on_wait: 15
548 APStender: 569 APStender:
@@ -794,4 +815,4 @@ avi: @@ -794,4 +815,4 @@ avi:
794 provider2: avi_Provider3 815 provider2: avi_Provider3
795 tender_owner: avi_Owner 816 tender_owner: avi_Owner
796 viewer: avi_Viewer 817 viewer: avi_Viewer
797 - timeout_on_wait: 120  
  818 + timeout_on_wait: 120
@@ -341,26 +341,26 @@ users: @@ -341,26 +341,26 @@ users:
341 size: [1366, 800] 341 size: [1366, 800]
342 Newtend_Owner: 342 Newtend_Owner:
343 broker: Newtend 343 broker: Newtend
344 - homepage: "http://dev23.newtend.com/opc/tenders"  
345 - login: ten2312@mailinator.com  
346 - password: 123123 344 + homepage: "https://dev23.newtend.com/"
  345 + login: test.gov.comp.1@gmail.com
  346 + password: test.gov.comp.1
347 browser: chrome 347 browser: chrome
348 position: [0, 0] 348 position: [0, 0]
349 size: [1200, 1200] 349 size: [1200, 1200]
350 Newtend_Provider1: 350 Newtend_Provider1:
351 broker: Newtend 351 broker: Newtend
352 - homepage: "http://dev23.newtend.com/opc/tenders"  
353 - login: ten2316@mailinator.com  
354 - password: 123123 352 + homepage: "https://dev23.newtend.com/"
  353 + login: test.priv.comp.1@gmail.com
  354 + password: test.priv.comp.1
355 browser: chrome 355 browser: chrome
356 - position: [700, 0]  
357 - size: [800, 700] 356 + position: [0, 0]
  357 + size: [1200, 1200]
358 Newtend_Viewer: 358 Newtend_Viewer:
359 broker: Newtend 359 broker: Newtend
360 - homepage: "http://dev23.newtend.com/opc" 360 + homepage: "https://dev23.newtend.com/"
361 browser: chrome 361 browser: chrome
362 - position: [800, 400]  
363 - size: [800, 700] 362 + position: [0, 0]
  363 + size: [1200, 1200]
364 PrivatMarket_Viewer: 364 PrivatMarket_Viewer:
365 broker: PrivatMarket 365 broker: PrivatMarket
366 homepage: "https://zakupivli24.pb.ua/prz-at/tender" 366 homepage: "https://zakupivli24.pb.ua/prz-at/tender"
@@ -699,34 +699,42 @@ users: @@ -699,34 +699,42 @@ users:
699 size: [1000, 500] 699 size: [1000, 500]
700 uub_Owner: 700 uub_Owner:
701 broker: uub 701 broker: uub
702 - homepage: "https://prozorro.uub.com.ua/Registration.aspx?CN=-1"  
703 - default_page: "https://prozorro.uub.com.ua/PositionList.aspx?CN=-1" 702 + homepage: "https://prozorrotest.uub.com.ua/Login.aspx"
  703 + default_page: "https://prozorrotest.uub.com.ua/PositionList.aspx"
704 login: UUB_Owner@1.ua 704 login: UUB_Owner@1.ua
705 - browser: firefox 705 + browser: chrome
706 position: [0, 0] 706 position: [0, 0]
707 size: [1366, 800] 707 size: [1366, 800]
708 uub_Provider: 708 uub_Provider:
709 broker: uub 709 broker: uub
710 - homepage: "https://prozorro.uub.com.ua/Registration.aspx?CN=-2"  
711 - default_page: "https://prozorro.uub.com.ua/PositionList.aspx?CN=-2" 710 + homepage: "https://prozorrotest.uub.com.ua/Login.aspx"
  711 + default_page: "https://prozorrotest.uub.com.ua/PositionList.aspx"
712 login: UUB_Provider@1.ua 712 login: UUB_Provider@1.ua
713 - browser: firefox 713 + browser: chrome
714 position: [0, 0] 714 position: [0, 0]
715 size: [1366, 800] 715 size: [1366, 800]
716 uub_Provider1: 716 uub_Provider1:
717 broker: uub 717 broker: uub
718 - homepage: "https://prozorro.uub.com.ua/Registration.aspx?CN=-3"  
719 - default_page: "https://prozorro.uub.com.ua/PositionList.aspx?CN=-3" 718 + homepage: "https://prozorrotest.uub.com.ua/Login.aspx"
  719 + default_page: "https://prozorrotest.uub.com.ua/PositionList.aspx"
720 login: UUB_Provider1@1.ua 720 login: UUB_Provider1@1.ua
721 - browser: firefox 721 + browser: chrome
  722 + position: [0, 0]
  723 + size: [1366, 800]
  724 + uub_Provider2:
  725 + broker: uub
  726 + homepage: "https://prozorrotest.uub.com.ua/Login.aspx"
  727 + default_page: "https://prozorrotest.uub.com.ua/PositionList.aspx"
  728 + login: UUB_Provider2@1.ua
  729 + browser: chrome
722 position: [0, 0] 730 position: [0, 0]
723 size: [1366, 800] 731 size: [1366, 800]
724 uub_Viewer: 732 uub_Viewer:
725 broker: uub 733 broker: uub
726 - homepage: "https://prozorro.uub.com.ua/Registration.aspx?CN=-4"  
727 - default_page: "https://prozorro.uub.com.ua/PositionList.aspx?CN=-4" 734 + homepage: "https://prozorrotest.uub.com.ua/Login.aspx"
  735 + default_page: "https://prozorrotest.uub.com.ua/PositionList.aspx"
728 login: UUB_Viewer@1.ua 736 login: UUB_Viewer@1.ua
729 - browser: firefox 737 + browser: chrome
730 position: [0, 0] 738 position: [0, 0]
731 size: [1366, 800] 739 size: [1366, 800]
732 aps_Owner: 740 aps_Owner:
@@ -1036,4 +1044,4 @@ users: @@ -1036,4 +1044,4 @@ users:
1036 homepage: "https://test.avi.net.ua/prozorro/tender" 1044 homepage: "https://test.avi.net.ua/prozorro/tender"
1037 browser: chrome 1045 browser: chrome
1038 position: [0, 500] 1046 position: [0, 500]
1039 - size: [1280, 1000]  
  1047 + size: [1280, 1000]
@@ -197,6 +197,8 @@ def test_tender_data(params, @@ -197,6 +197,8 @@ def test_tender_data(params,
197 "items": [], 197 "items": [],
198 "features": [] 198 "features": []
199 } 199 }
  200 + if params.get("mode") in ["belowThreshold", "openua", "openeu", "esco"]:
  201 + data["guarantee"] = test_data_guarantee(value_amount)
200 if params.get("mode") == "open_framework": 202 if params.get("mode") == "open_framework":
201 data["mainProcurementCategory"] = random.choice(['goods', 'services']) 203 data["mainProcurementCategory"] = random.choice(['goods', 'services'])
202 elif params.get("mode") == "open_competitive_dialogue": 204 elif params.get("mode") == "open_competitive_dialogue":
@@ -1266,6 +1268,20 @@ def test_article_17_data(): @@ -1266,6 +1268,20 @@ def test_article_17_data():
1266 }) 1268 })
1267 1269
1268 1270
  1271 +def test_criteria_guarantee_data():
  1272 + criteria = fake.criteria_bid_contract_guarantee()
  1273 + return munchify({
  1274 + "data": criteria
  1275 + })
  1276 +
  1277 +
  1278 +def test_data_guarantee(value_amount):
  1279 + return munchify({
  1280 + "amount": value_amount * 0.75,
  1281 + "currency": u"UAH"
  1282 + })
  1283 +
  1284 +
1269 def test_data_bid_criteria(): 1285 def test_data_bid_criteria():
1270 bid = munchify({ 1286 bid = munchify({
1271 "data": [] 1287 "data": []
@@ -1298,15 +1314,21 @@ def test_bid_criteria(tender_data, criteria_len, bid_data, bid_document): @@ -1298,15 +1314,21 @@ def test_bid_criteria(tender_data, criteria_len, bid_data, bid_document):
1298 for criteria in tender_data["data"]['criteria']: 1314 for criteria in tender_data["data"]['criteria']:
1299 if criteria.get('source') == 'tenderer': 1315 if criteria.get('source') == 'tenderer':
1300 for requirement in criteria['requirementGroups'][0]['requirements']: 1316 for requirement in criteria['requirementGroups'][0]['requirements']:
  1317 + mock_tenderer = deepcopy(mock)
  1318 + mock_tenderer["requirement"]["id"] = requirement["id"]
  1319 + mock_tenderer["requirement"]["title"] = requirement["title"]
  1320 + mock_tenderer["evidences"][0]["relatedDocument"]["id"] = bid_document["data"]["id"]
  1321 + mock_tenderer["evidences"][0]["relatedDocument"]["title"] = bid_document["data"]["title"]
  1322 + if criteria.get('title') == u'Мова (мови), якою (якими) повинні готуватися тендерні пропозиції':
  1323 + del mock_tenderer["evidences"][0]
  1324 + bid.data.append(mock_tenderer)
  1325 + elif criteria.get('source') == 'winner':
  1326 + for requirement in criteria['requirementGroups'][0]['requirements']:
1301 mock = deepcopy(mock) 1327 mock = deepcopy(mock)
1302 mock["requirement"]["id"] = requirement["id"] 1328 mock["requirement"]["id"] = requirement["id"]
1303 mock["requirement"]["title"] = requirement["title"] 1329 mock["requirement"]["title"] = requirement["title"]
1304 - if criteria.get('title') == u'Мова (мови), якою (якими) повинні готуватися тендерні пропозиції':  
1305 - del mock["evidences"][0]  
1306 - else:  
1307 - mock["evidences"][0]["relatedDocument"]["id"] = bid_document["data"]["id"]  
1308 - mock["evidences"][0]["relatedDocument"]["title"] = bid_document["data"]["title"]  
1309 - bid.data.append(mock) 1330 + del mock["evidences"][0]
  1331 + bid.data.append(mock)
1310 else: 1332 else:
1311 pass 1333 pass
1312 return bid 1334 return bid
@@ -1370,3 +1392,31 @@ def test_awards_criteria(tender_data, award_document): @@ -1370,3 +1392,31 @@ def test_awards_criteria(tender_data, award_document):
1370 else: 1392 else:
1371 pass 1393 pass
1372 return bid 1394 return bid
  1395 +
  1396 +
  1397 +def test_data_contract_criteria_response():
  1398 + return munchify({
  1399 + "data": {
  1400 + "title": "виконання умог договору",
  1401 + "description": "документ, що підтверджує забезпечення виконання умов договору",
  1402 + "type": "document",
  1403 + "relatedDocument": {
  1404 + "id": "",
  1405 + "title": ""
  1406 + }
  1407 + }
  1408 + })
  1409 +
  1410 +
  1411 +def test_contract_criteria_response_data(bid_doc_id, bid_doc_title):
  1412 + return munchify({
  1413 + "data": {
  1414 + "title": "виконання умог договору",
  1415 + "description": "документ, що підтверджує забезпечення виконання умов договору",
  1416 + "type": "document",
  1417 + "relatedDocument": {
  1418 + "id": bid_doc_id,
  1419 + "title": bid_doc_title
  1420 + }
  1421 + }
  1422 + })
@@ -182,10 +182,10 @@ Get Broker Property By Username @@ -182,10 +182,10 @@ Get Broker Property By Username
182 Run Keyword And Ignore Error Set To Dictionary ${artifact} tender_owner_access_token=${USERS.users['${tender_owner}'].access_token} 182 Run Keyword And Ignore Error Set To Dictionary ${artifact} tender_owner_access_token=${USERS.users['${tender_owner}'].access_token}
183 Run Keyword And Ignore Error Set To Dictionary ${artifact} provider_access_token=${USERS.users['${provider}'].access_token} 183 Run Keyword And Ignore Error Set To Dictionary ${artifact} provider_access_token=${USERS.users['${provider}'].access_token}
184 Run Keyword And Ignore Error Set To Dictionary ${artifact} provider1_access_token=${USERS.users['${provider1}'].access_token} 184 Run Keyword And Ignore Error Set To Dictionary ${artifact} provider1_access_token=${USERS.users['${provider1}'].access_token}
185 - Run Keyword And Ignore Error Set To Dictionary ${artifact} provider2_access_token=${USERS.users['${provider1}'].access_token} 185 + Run Keyword And Ignore Error Set To Dictionary ${artifact} provider2_access_token=${USERS.users['${provider2}'].access_token}
186 Run Keyword And Ignore Error Set To Dictionary ${artifact} provider_bid_id=${USERS.users['${provider}'].bid_id} 186 Run Keyword And Ignore Error Set To Dictionary ${artifact} provider_bid_id=${USERS.users['${provider}'].bid_id}
187 Run Keyword And Ignore Error Set To Dictionary ${artifact} provider1_bid_id=${USERS.users['${provider1}'].bid_id} 187 Run Keyword And Ignore Error Set To Dictionary ${artifact} provider1_bid_id=${USERS.users['${provider1}'].bid_id}
188 - Run Keyword And Ignore Error Set To Dictionary ${artifact} provider2_bid_id=${USERS.users['${provider1}'].bid_id} 188 + Run Keyword And Ignore Error Set To Dictionary ${artifact} provider2_bid_id=${USERS.users['${provider2}'].bid_id}
189 Run Keyword And Ignore Error Set To Dictionary ${artifact} 189 Run Keyword And Ignore Error Set To Dictionary ${artifact}
190 ... tender_file_properties=${USERS.users['${tender_owner}'].tender_document.file_properties} 190 ... tender_file_properties=${USERS.users['${tender_owner}'].tender_document.file_properties}
191 ... lot_file_properties=${USERS.users['${tender_owner}'].lots_documents[0].file_properties} 191 ... lot_file_properties=${USERS.users['${tender_owner}'].lots_documents[0].file_properties}
@@ -237,6 +237,8 @@ Get Broker Property By Username @@ -237,6 +237,8 @@ Get Broker Property By Username
237 Run Keyword And Ignore Error Set To Dictionary ${USERS.users['${provider1}']} access_token=${ARTIFACT.provider1_access_token} 237 Run Keyword And Ignore Error Set To Dictionary ${USERS.users['${provider1}']} access_token=${ARTIFACT.provider1_access_token}
238 Run Keyword And Ignore Error Set To Dictionary ${USERS.users['${provider}']} bid_id=${ARTIFACT.provider_bid_id} 238 Run Keyword And Ignore Error Set To Dictionary ${USERS.users['${provider}']} bid_id=${ARTIFACT.provider_bid_id}
239 Run Keyword And Ignore Error Set To Dictionary ${USERS.users['${provider1}']} bid_id=${ARTIFACT.provider1_bid_id} 239 Run Keyword And Ignore Error Set To Dictionary ${USERS.users['${provider1}']} bid_id=${ARTIFACT.provider1_bid_id}
  240 + Run Keyword And Ignore Error Set To Dictionary ${USERS.users['${provider2}']} access_token=${ARTIFACT.provider2_access_token}
  241 + Run Keyword And Ignore Error Set To Dictionary ${USERS.users['${provider2}']} bid_id=${ARTIFACT.provider2_bid_id}
240 Set Suite Variable ${MODE} 242 Set Suite Variable ${MODE}
241 Set Suite Variable ${lot_index} 243 Set Suite Variable ${lot_index}
242 Set Suite Variable ${TENDER} 244 Set Suite Variable ${TENDER}
@@ -470,6 +472,12 @@ Get Broker Property By Username @@ -470,6 +472,12 @@ Get Broker Property By Username
470 [Return] ${article_17_data} 472 [Return] ${article_17_data}
471 473
472 474
  475 +Підготувати дані по критеріям гарантії
  476 + ${criteria_guarantee_data}= test_criteria_guarantee_data
  477 + Log ${criteria_guarantee_data}
  478 + [Return] ${criteria_guarantee_data}
  479 +
  480 +
473 Підготувати дані для відповіді на критерії в пропозиції 481 Підготувати дані для відповіді на критерії в пропозиції
474 [Arguments] ${username} ${tender_data} ${bid_data} ${bid_data_document} 482 [Arguments] ${username} ${tender_data} ${bid_data} ${bid_data_document}
475 @{criteria}= get_from_object ${tender_data.data} criteria 483 @{criteria}= get_from_object ${tender_data.data} criteria
@@ -502,6 +510,13 @@ Get Broker Property By Username @@ -502,6 +510,13 @@ Get Broker Property By Username
502 [Return] ${award_criteria} 510 [Return] ${award_criteria}
503 511
504 512
  513 +Підготувати дані по гарантії виконання контракту
  514 + [Arguments] ${bid_doc_id} ${bid_doc_title}
  515 + ${contract_response}= test_contract_criteria_response_data ${bid_doc_id} ${bid_doc_title}
  516 + Log ${contract_response}
  517 + [Return] ${contract_response}
  518 +
  519 +
505 Адаптувати дані для оголошення тендера 520 Адаптувати дані для оголошення тендера
506 [Arguments] ${tender_data} 521 [Arguments] ${tender_data}
507 # munchify is used to make deep copy of ${tender_data} 522 # munchify is used to make deep copy of ${tender_data}
@@ -21,6 +21,7 @@ ${ROAD_INDEX} ${False} @@ -21,6 +21,7 @@ ${ROAD_INDEX} ${False}
21 ${GMDN_INDEX} ${False} 21 ${GMDN_INDEX} ${False}
22 ${PLAN_TENDER} ${True} 22 ${PLAN_TENDER} ${True}
23 ${ARTICLE_17} ${False} 23 ${ARTICLE_17} ${False}
  24 +${CRITERIA_GUARANTEE} ${False}
24 25
25 *** Test Cases *** 26 *** Test Cases ***
26 Можливість оголосити тендер 27 Можливість оголосити тендер
@@ -20,6 +20,7 @@ ${ROAD_INDEX} ${False} @@ -20,6 +20,7 @@ ${ROAD_INDEX} ${False}
20 ${GMDN_INDEX} ${False} 20 ${GMDN_INDEX} ${False}
21 ${PLAN_TENDER} ${True} 21 ${PLAN_TENDER} ${True}
22 ${ARTICLE_17} ${False} 22 ${ARTICLE_17} ${False}
  23 +${CRITERIA_GUARANTEE} ${False}
23 24
24 *** Test Cases *** 25 *** Test Cases ***
25 ############################################################################################## 26 ##############################################################################################
@@ -20,6 +20,7 @@ ${ROAD_INDEX} ${False} @@ -20,6 +20,7 @@ ${ROAD_INDEX} ${False}
20 ${GMDN_INDEX} ${False} 20 ${GMDN_INDEX} ${False}
21 ${PLAN_TENDER} ${True} 21 ${PLAN_TENDER} ${True}
22 ${ARTICLE_17} ${False} 22 ${ARTICLE_17} ${False}
  23 +${CRITERIA_GUARANTEE} ${False}
23 24
24 *** Test Cases *** 25 *** Test Cases ***
25 ############################################################################################## 26 ##############################################################################################
@@ -40,6 +40,7 @@ class OP_Provider(BaseProvider): @@ -40,6 +40,7 @@ class OP_Provider(BaseProvider):
40 profiles_shortlistedfirms_empty = _fake_data.profiles_shortlistedfirms_empty 40 profiles_shortlistedfirms_empty = _fake_data.profiles_shortlistedfirms_empty
41 unknown_profile = _fake_data.unknown_profiles 41 unknown_profile = _fake_data.unknown_profiles
42 criteria = _fake_data.criteria 42 criteria = _fake_data.criteria
  43 + criteria_guarant = _fake_data.criteria_guarantee
43 44
44 @classmethod 45 @classmethod
45 def randomize_nb_elements(self, number=10, le=60, ge=140): 46 def randomize_nb_elements(self, number=10, le=60, ge=140):
@@ -259,3 +260,7 @@ class OP_Provider(BaseProvider): @@ -259,3 +260,7 @@ class OP_Provider(BaseProvider):
259 @classmethod 260 @classmethod
260 def criteria_article_17(self): 261 def criteria_article_17(self):
261 return deepcopy(self.criteria) 262 return deepcopy(self.criteria)
  263 +
  264 + @classmethod
  265 + def criteria_bid_contract_guarantee(self):
  266 + return deepcopy(self.criteria_guarant)
@@ -8184,7 +8184,7 @@ @@ -8184,7 +8184,7 @@
8184 ], 8184 ],
8185 8185
8186 "criteria": [ 8186 "criteria": [
8187 - { 8187 + {
8188 "title": "Вчинення злочинів, учинених з корисливих мотивів", 8188 "title": "Вчинення злочинів, учинених з корисливих мотивів",
8189 "description": "Службова (посадова) особа учасника процедури закупівлі, яка підписала тендерну пропозицію (або уповноважена на підписання договору в разі переговорної процедури закупівлі) або фізична особа, яка є учасником процедури закупівлі, не була засуджена за злочин, учинений з корисливих мотивів (зокрема, пов'язаний з хабарництвом та відмиванням коштів), судимість з якої знято або погашено у встановленому законом порядку", 8189 "description": "Службова (посадова) особа учасника процедури закупівлі, яка підписала тендерну пропозицію (або уповноважена на підписання договору в разі переговорної процедури закупівлі) або фізична особа, яка є учасником процедури закупівлі, не була засуджена за злочин, учинений з корисливих мотивів (зокрема, пов'язаний з хабарництвом та відмиванням коштів), судимість з якої знято або погашено у встановленому законом порядку",
8190 "source": "tenderer", 8190 "source": "tenderer",
@@ -8252,7 +8252,7 @@ @@ -8252,7 +8252,7 @@
8252 } 8252 }
8253 ] 8253 ]
8254 }, 8254 },
8255 - { 8255 + {
8256 "title": "Вчинення економічних правопорушень", 8256 "title": "Вчинення економічних правопорушень",
8257 "description": "Суб'єкт господарювання (учасник) протягом останніх трьох років не притягувався до відповідальності за порушення, передбачене пунктом 4 частини другої статті 6, пунктом 1 статті 50 Закону України \"Про захист економічної конкуренції\", у вигляді вчинення антиконкурентних узгоджених дій, що стосуються спотворення результатів тендерів", 8257 "description": "Суб'єкт господарювання (учасник) протягом останніх трьох років не притягувався до відповідальності за порушення, передбачене пунктом 4 частини другої статті 6, пунктом 1 статті 50 Закону України \"Про захист економічної конкуренції\", у вигляді вчинення антиконкурентних узгоджених дій, що стосуються спотворення результатів тендерів",
8258 "source": "tenderer", 8258 "source": "tenderer",
@@ -8313,7 +8313,7 @@ @@ -8313,7 +8313,7 @@
8313 } 8313 }
8314 ] 8314 ]
8315 }, 8315 },
8316 - { 8316 + {
8317 "title": "Вчинення корупційних правопорушень", 8317 "title": "Вчинення корупційних правопорушень",
8318 "description": "Відомості про юридичну особу, яка є учасником процедури закупівлі, не внесено до Єдиного державного реєстру осіб, які вчинили корупційні або пов'язані з корупцією правопорушення. Службову (посадову) особу учасника процедури закупівлі, яку уповноважено учасником представляти його інтереси під час проведення процедури закупівлі, фізичну особу, яка є учасником, не було притягнуто згідно із законом до відповідальності за вчинення корупційного правопорушення або правопорушення, пов'язаного з корупцією", 8318 "description": "Відомості про юридичну особу, яка є учасником процедури закупівлі, не внесено до Єдиного державного реєстру осіб, які вчинили корупційні або пов'язані з корупцією правопорушення. Службову (посадову) особу учасника процедури закупівлі, яку уповноважено учасником представляти його інтереси під час проведення процедури закупівлі, фізичну особу, яка є учасником, не було притягнуто згідно із законом до відповідальності за вчинення корупційного правопорушення або правопорушення, пов'язаного з корупцією",
8319 "source": "tenderer", 8319 "source": "tenderer",
@@ -8376,7 +8376,7 @@ @@ -8376,7 +8376,7 @@
8376 } 8376 }
8377 ] 8377 ]
8378 }, 8378 },
8379 - { 8379 + {
8380 "title": "Вчинення правопорушень, пов'язаних з використанням дитячої праці чи будь-якими формами торгівлі людьми", 8380 "title": "Вчинення правопорушень, пов'язаних з використанням дитячої праці чи будь-якими формами торгівлі людьми",
8381 "description": "Службова (посадова) особа учасника процедури закупівлі, яку уповноважено учасником представляти його інтереси під час проведення процедури закупівлі, фізичну особу, яка є учасником, не було притягнуто згідно із законом до відповідальності за вчинення правопорушення, пов'язаного з використанням дитячої праці чи будь-якими формами торгівлі людьми", 8381 "description": "Службова (посадова) особа учасника процедури закупівлі, яку уповноважено учасником представляти його інтереси під час проведення процедури закупівлі, фізичну особу, яка є учасником, не було притягнуто згідно із законом до відповідальності за вчинення правопорушення, пов'язаного з використанням дитячої праці чи будь-якими формами торгівлі людьми",
8382 "source": "tenderer", 8382 "source": "tenderer",
@@ -8417,7 +8417,7 @@ @@ -8417,7 +8417,7 @@
8417 } 8417 }
8418 ] 8418 ]
8419 }, 8419 },
8420 - { 8420 + {
8421 "title": "Заборгованість зі сплати податків і зборів (обов'язкових платежів)", 8421 "title": "Заборгованість зі сплати податків і зборів (обов'язкових платежів)",
8422 "description": "Учасник процедури закупівлі не має заборгованості зі сплати податків і зборів (обов'язкових платежів)", 8422 "description": "Учасник процедури закупівлі не має заборгованості зі сплати податків і зборів (обов'язкових платежів)",
8423 "source": "tenderer", 8423 "source": "tenderer",
@@ -8520,7 +8520,7 @@ @@ -8520,7 +8520,7 @@
8520 } 8520 }
8521 ] 8521 ]
8522 }, 8522 },
8523 - { 8523 + {
8524 "title": "Порушення справ про банкрутство", 8524 "title": "Порушення справ про банкрутство",
8525 "description": "Учасник процедури закупівлі не визнаний у встановленому законом порядку банкрутом та стосовно нього не відкрита ліквідаційна процедура", 8525 "description": "Учасник процедури закупівлі не визнаний у встановленому законом порядку банкрутом та стосовно нього не відкрита ліквідаційна процедура",
8526 "source": "tenderer", 8526 "source": "tenderer",
@@ -8561,7 +8561,7 @@ @@ -8561,7 +8561,7 @@
8561 } 8561 }
8562 ] 8562 ]
8563 }, 8563 },
8564 - { 8564 + {
8565 "title": "Виявлення факту зв'язку учасника з іншими учасниками процедури або замовником", 8565 "title": "Виявлення факту зв'язку учасника з іншими учасниками процедури або замовником",
8566 "description": "Тендерна пропозиція подана учасником конкурентної процедури закупівлі або участь у переговорній процедурі бере учасник, який є пов'язаною особою з іншими учасниками процедури закупівлі та/або з уповноваженою особою (особами), та/або з керівником замовника", 8566 "description": "Тендерна пропозиція подана учасником конкурентної процедури закупівлі або участь у переговорній процедурі бере учасник, який є пов'язаною особою з іншими учасниками процедури закупівлі та/або з уповноваженою особою (особами), та/або з керівником замовника",
8567 "source": "procuringEntity", 8567 "source": "procuringEntity",
@@ -8601,7 +8601,7 @@ @@ -8601,7 +8601,7 @@
8601 } 8601 }
8602 ] 8602 ]
8603 }, 8603 },
8604 - { 8604 + {
8605 "title": "Виявлення факту наміру впливу на прийняття рішення замовника", 8605 "title": "Виявлення факту наміру впливу на прийняття рішення замовника",
8606 "description": "Замовник має незаперечні докази того, що учасник процедури закупівлі пропонує, дає або погоджується дати прямо чи опосередковано будь-якій службовій (посадовій) особі замовника, іншого державного органу винагороду в будь-якій формі (пропозиція щодо найму на роботу, цінна річ, послуга тощо) з метою вплинути на прийняття рішення щодо визначення переможця процедури закупівлі або застосування замовником певної процедури закупівлі", 8606 "description": "Замовник має незаперечні докази того, що учасник процедури закупівлі пропонує, дає або погоджується дати прямо чи опосередковано будь-якій службовій (посадовій) особі замовника, іншого державного органу винагороду в будь-якій формі (пропозиція щодо найму на роботу, цінна річ, послуга тощо) з метою вплинути на прийняття рішення щодо визначення переможця процедури закупівлі або застосування замовником певної процедури закупівлі",
8607 "source": "procuringEntity", 8607 "source": "procuringEntity",
@@ -8641,7 +8641,7 @@ @@ -8641,7 +8641,7 @@
8641 } 8641 }
8642 ] 8642 ]
8643 }, 8643 },
8644 - { 8644 + {
8645 "title": "Наявність інших підстав для відмови в участі у процедурі закупівлі", 8645 "title": "Наявність інших підстав для відмови в участі у процедурі закупівлі",
8646 "description": "У Єдиному державному реєстрі юридичних осіб, фізичних осіб - підприємців та громадських формувань присутня інформація, передбачена пунктом 9 частини другої статті 9 Закону України \"Про державну реєстрацію юридичних осіб, фізичних осіб - підприємців та громадських формувань\" (крім нерезидентів)", 8646 "description": "У Єдиному державному реєстрі юридичних осіб, фізичних осіб - підприємців та громадських формувань присутня інформація, передбачена пунктом 9 частини другої статті 9 Закону України \"Про державну реєстрацію юридичних осіб, фізичних осіб - підприємців та громадських формувань\" (крім нерезидентів)",
8647 "source": "tenderer", 8647 "source": "tenderer",
@@ -8745,7 +8745,7 @@ @@ -8745,7 +8745,7 @@
8745 } 8745 }
8746 ] 8746 ]
8747 }, 8747 },
8748 - { 8748 + {
8749 "title": "Мова (мови), якою (якими) повинні готуватися тендерні пропозиції", 8749 "title": "Мова (мови), якою (якими) повинні готуватися тендерні пропозиції",
8750 "source": "tenderer", 8750 "source": "tenderer",
8751 "classification": { 8751 "classification": {
@@ -8764,7 +8764,7 @@ @@ -8764,7 +8764,7 @@
8764 "type": "NATIONAL_LEGISLATION" 8764 "type": "NATIONAL_LEGISLATION"
8765 } 8765 }
8766 ], 8766 ],
8767 - "requirementGroups": [ 8767 + "requirementGroups": [
8768 { 8768 {
8769 "description": "Учасник підтверджує, що", 8769 "description": "Учасник підтверджує, що",
8770 "requirements": [ 8770 "requirements": [
@@ -8778,5 +8778,91 @@ @@ -8778,5 +8778,91 @@
8778 } 8778 }
8779 ] 8779 ]
8780 } 8780 }
8781 -] 8781 + ],
  8782 +
  8783 + "criteria_guarantee": [
  8784 + {
  8785 + "title": "Вид та умови надання забезпечення тендерних пропозицій",
  8786 + "source": "tenderer",
  8787 + "classification": {
  8788 + "scheme": "ESPD211",
  8789 + "id": "CRITERION.OTHER.BID.GUARANTEE"
  8790 + },
  8791 + "relatesTo": "tender",
  8792 + "legislation": [
  8793 + {
  8794 + "version": "2020-04-19",
  8795 + "identifier": {
  8796 + "id": "922-VIII",
  8797 + "legalName": "Закон України \"Про публічні закупівлі\"",
  8798 + "uri": "https://zakon.rada.gov.ua/laws/show/922-19"
  8799 + },
  8800 + "type": "NATIONAL_LEGISLATION"
  8801 + }
  8802 + ],
  8803 + "requirementGroups": [
  8804 + {
  8805 + "description": "Учасник підтверджує, що",
  8806 + "requirements": [
  8807 + {
  8808 + "title": "Вид та умови надання забезпечення тендерних пропозицій",
  8809 + "description": "Умови забезпечення тендерної пропозиції: строк дії забезпечення тендерної пропозиції повинен бути протягом строку дії тендерної пропозиції, не менше ніж 90 днів з дати розкриття тендерних пропозицій електронною системою закупівель (відповідно до ст. 253 Цивільного кодексу України розраховується з наступного дня після розкриття тендерних пропозицій електронною системою закупівель), вид банківська гарантія",
  8810 + "dataType": "boolean",
  8811 + "expectedValue": "true",
  8812 + "eligibleEvidences": [
  8813 + {
  8814 + "type": "document",
  8815 + "description": "документ що підтверджує банківську гарантію",
  8816 + "title": "Підтвердження банківської гарантії"
  8817 + }
  8818 + ]
  8819 + }
  8820 + ]
  8821 +
  8822 + }
  8823 + ]
  8824 + },
  8825 + {
  8826 + "title": "Розмір та умови надання забезпечення виконання договору",
  8827 + "source": "winner",
  8828 + "classification": {
  8829 + "scheme": "ESPD211",
  8830 + "id": "CRITERION.OTHER.CONTRACT.GUARANTEE"
  8831 + },
  8832 + "relatesTo": "tender",
  8833 + "legislation": [
  8834 + {
  8835 + "article": "14.2.12",
  8836 + "version": "2020-04-19",
  8837 + "identifier": {
  8838 + "id": "922-VIII",
  8839 + "legalName": "Закон України \"Про публічні закупівлі\"",
  8840 + "uri": "https://zakon.rada.gov.ua/laws/show/922-19"
  8841 + },
  8842 + "type": "NATIONAL_LEGISLATION"
  8843 + }
  8844 + ],
  8845 + "requirementGroups": [
  8846 + {
  8847 + "description": "Учасник підтверджує, що",
  8848 + "requirements": [
  8849 + {
  8850 + "title": "розмір та умови надання забезпечення виконання договору про закупівлю",
  8851 + "description": "Умови забезпечення виконання умов договору: строк дії забезпечення тендерної пропозиції повинен бути протягом строку дії тендерної пропозиції, не менше ніж 90 днів з дати розкриття тендерних пропозицій електронною системою закупівель (відповідно до ст. 253 Цивільного кодексу України розраховується з наступного дня після розкриття тендерних пропозицій електронною системою закупівель), вид забезпечення банківська гарантія, розмір забезпечення 5% від вартості договору",
  8852 + "dataType": "boolean",
  8853 + "expectedValue": "true",
  8854 + "eligibleEvidences": [
  8855 + {
  8856 + "description": "Різнокольоровий скан у форматі pdf",
  8857 + "type": "document",
  8858 + "title": "Підтвердження банківської гарантії"
  8859 + }
  8860 + ]
  8861 + }
  8862 + ]
  8863 +
  8864 + }
  8865 + ]
  8866 + }
  8867 + ]
8782 } 8868 }
@@ -25,6 +25,7 @@ ${BID_AMOUNT_1} ${500} @@ -25,6 +25,7 @@ ${BID_AMOUNT_1} ${500}
25 ${BID_AMOUNT_2} ${1000} 25 ${BID_AMOUNT_2} ${1000}
26 ${BID_AMOUNT_3} ${1100} 26 ${BID_AMOUNT_3} ${1100}
27 ${ARTICLE_17} ${False} 27 ${ARTICLE_17} ${False}
  28 +${CRITERIA_GUARANTEE} ${False}
28 29
29 *** Test Cases *** 30 *** Test Cases ***
30 Можливість оголосити тендер 31 Можливість оголосити тендер
@@ -22,6 +22,7 @@ ${ROAD_INDEX} ${False} @@ -22,6 +22,7 @@ ${ROAD_INDEX} ${False}
22 ${GMDN_INDEX} ${False} 22 ${GMDN_INDEX} ${False}
23 ${PLAN_TENDER} ${True} 23 ${PLAN_TENDER} ${True}
24 ${ARTICLE_17} ${False} 24 ${ARTICLE_17} ${False}
  25 +${CRITERIA_GUARANTEE} ${False}
25 26
26 *** Test Cases *** 27 *** Test Cases ***
27 Неможливість оголосити тендер з tenderPeriod:endDate < 2 робочих дні 28 Неможливість оголосити тендер з tenderPeriod:endDate < 2 робочих дні
@@ -4,7 +4,7 @@ Suite Setup Test Suite Setup @@ -4,7 +4,7 @@ Suite Setup Test Suite Setup
4 Suite Teardown Test Suite Teardown 4 Suite Teardown Test Suite Teardown
5 5
6 *** Variables *** 6 *** Variables ***
7 -@{USED_ROLES} tender_owner viewer provider 7 +@{USED_ROLES} tender_owner viewer provider provider1 provider2
8 8
9 ${award_index} ${0} 9 ${award_index} ${0}
10 10
@@ -454,3 +454,23 @@ ${award_index} ${0} @@ -454,3 +454,23 @@ ${award_index} ${0}
454 [Setup] Дочекатись синхронізації з майданчиком ${tender_owner} 454 [Setup] Дочекатись синхронізації з майданчиком ${tender_owner}
455 [Teardown] Оновити LAST_MODIFICATION_DATE 455 [Teardown] Оновити LAST_MODIFICATION_DATE
456 Дочекатися перевірки кваліфікацій ДФС ${tender_owner} ${TENDER['TENDER_UAID']} 456 Дочекатися перевірки кваліфікацій ДФС ${tender_owner} ${TENDER['TENDER_UAID']}
  457 +
  458 +##############################################################################################
  459 +# AWARDING
  460 +##############################################################################################
  461 +
  462 +Дочекатись початку періоду підписання угоди
  463 + [Tags] ${USERS.users['${tender_owner}'].broker}: Очікування початку періоду підписання угоди
  464 + ... tender_owner
  465 + ... ${USERS.users['${tender_owner}'].broker}
  466 + ... wait_active_awarding_start
  467 + Дочекатись дати початку періоду підписання угоди ${tender_owner} ${TENDER['TENDER_UAID']}
  468 +
  469 +
  470 +Можливість додати підтверждення гарантії контракту
  471 + [Tags] Процес кваліфікації
  472 + ... qualification_add_contract_guarantee_document
  473 + ... critical
  474 + [Teardown] Оновити LAST_MODIFICATION_DATE
  475 + ${username}= Отримати поточного Переможця тендера
  476 + Можливість завантажити підтвердження виконання контракту в пропозицію учасника ${username} ${TENDER['TENDER_UAID']}
@@ -20,6 +20,7 @@ ${ROAD_INDEX} ${False} @@ -20,6 +20,7 @@ ${ROAD_INDEX} ${False}
20 ${GMDN_INDEX} ${False} 20 ${GMDN_INDEX} ${False}
21 ${PLAN_TENDER} ${True} 21 ${PLAN_TENDER} ${True}
22 ${ARTICLE_17} ${False} 22 ${ARTICLE_17} ${False}
  23 +${CRITERIA_GUARANTEE} ${False}
23 24
24 *** Test Cases *** 25 *** Test Cases ***
25 ############################################################################################## 26 ##############################################################################################
@@ -95,7 +95,9 @@ from .initial_data import ( @@ -95,7 +95,9 @@ from .initial_data import (
95 test_bid_criteria, 95 test_bid_criteria,
96 test_qualification_criteria, 96 test_qualification_criteria,
97 test_awards_criteria, 97 test_awards_criteria,
98 - test_tender_data_simple_defense 98 + test_tender_data_simple_defense,
  99 + test_contract_criteria_response_data,
  100 + test_criteria_guarantee_data
99 ) 101 )
100 from barbecue import chef 102 from barbecue import chef
101 from restkit import request 103 from restkit import request
@@ -7,6 +7,7 @@ @@ -7,6 +7,7 @@
7 -v ITEM_MEAT:True 7 -v ITEM_MEAT:True
8 -v LOT_MEAT:True 8 -v LOT_MEAT:True
9 9
  10 +-v CRITERIA_GUARANTEE:True
10 11
11 -i create_tender 12 -i create_tender
12 -i plan_status_complete_view 13 -i plan_status_complete_view
@@ -52,10 +53,10 @@ @@ -52,10 +53,10 @@
52 -i make_bid_before_tendering_period 53 -i make_bid_before_tendering_period
53 -i make_bid_without_related_lot 54 -i make_bid_without_related_lot
54 -i make_bid_without_parameters 55 -i make_bid_without_parameters
55 --i make_bid_by_provider 56 +-i make_bid_with_criteria_by_provider
56 -i modify_bid_by_provider 57 -i modify_bid_by_provider
57 -i add_doc_to_bid_by_provider 58 -i add_doc_to_bid_by_provider
58 --i make_bid_by_provider1 59 +-i make_bid_with_criteria_by_provider1
59 -i bid_view_in_tendering_period 60 -i bid_view_in_tendering_period
60 61
61 -i add_bid_doc_after_tendering_period_by_provider 62 -i add_bid_doc_after_tendering_period_by_provider
@@ -75,6 +76,9 @@ @@ -75,6 +76,9 @@
75 -i qualification_add_doc_to_second_award 76 -i qualification_add_doc_to_second_award
76 -i qualification_approve_second_award 77 -i qualification_approve_second_award
77 78
  79 +-i wait_active_awarding_start
  80 +-i qualification_add_contract_guarantee_document
  81 +
78 -i contract_stand_still 82 -i contract_stand_still
79 -i contract_view 83 -i contract_view
80 84
  1 +-v MODE:open_simple_defense
  2 +
  3 +-v NUMBER_OF_ITEMS:1
  4 +-v NUMBER_OF_LOTS:1
  5 +
  6 +-v TENDER_MEAT:True
  7 +-v ITEM_MEAT:False
  8 +-v LOT_MEAT:False
  9 +
  10 +-v AWARD_INDEX:1
  11 +-v first_cancel_index:0
  12 +
  13 +-i create_tender
  14 +-i find_tender
  15 +
  16 +-i make_bid_by_provider
  17 +-i make_bid_by_provider1
  18 +
  19 +-i open_confirm_first_bid
  20 +-i open_confirm_second_bid
  21 +
  22 +-i awardPeriod_startDate
  23 +-i qualification_approve_first_award
  24 +-i qualification_cancel_first_time
  25 +-i defense_award_complaint_error
  1 +-v MODE:open_simple_defense
  2 +
  3 +-v NUMBER_OF_ITEMS:1
  4 +-v NUMBER_OF_LOTS:1
  5 +
  6 +-v TENDER_MEAT:True
  7 +-v ITEM_MEAT:False
  8 +-v LOT_MEAT:False
  9 +
  10 +-v AWARD_INDEX:3
  11 +-v first_cancel_index:0
  12 +-v first_reject_index:1
  13 +-v second_approve_index:2
  14 +-v second_cancel_index:2
  15 +
  16 +-i create_tender
  17 +-i find_tender
  18 +
  19 +-i make_bid_by_provider
  20 +-i make_bid_by_provider1
  21 +
  22 +-i awardPeriod_startDate
  23 +-i qualification_approve_first_award
  24 +-i qualification_cancel_first_time
  25 +-i qualification_reject_first_time
  26 +-i qualification_approve_second_participant
  27 +-i qualification_cancel_second_time
  28 +-i defense_award_complaint_error
  1 +-v MODE:open_simple_defense
  2 +
  3 +-v NUMBER_OF_ITEMS:1
  4 +-v NUMBER_OF_LOTS:1
  5 +
  6 +-v TENDER_MEAT:True
  7 +-v ITEM_MEAT:False
  8 +-v LOT_MEAT:False
  9 +
  10 +-v AWARD_INDEX:5
  11 +-v first_cancel_index:0
  12 +-v first_reject_index:1
  13 +-v second_approve_index:2
  14 +-v second_cancel_index:2
  15 +-v second_reject_index:3
  16 +-v third_approve_index:4
  17 +-v third_cancel_index:4
  18 +
  19 +
  20 +-i create_tender
  21 +-i find_tender
  22 +
  23 +-i make_bid_by_provider
  24 +-i make_bid_by_provider1
  25 +-i make_bid_by_provider2
  26 +
  27 +-i awardPeriod_startDate
  28 +-i qualification_approve_first_award
  29 +-i qualification_cancel_first_time
  30 +-i qualification_reject_first_time
  31 +-i qualification_approve_second_participant
  32 +-i qualification_cancel_second_time
  33 +-i qualification_reject_second_time
  34 +-i qualification_approve_third_participant
  35 +-i qualification_cancel_third_time
  36 +-i defense_award_complaint_error
  1 +-v MODE:open_simple_defense
  2 +
  3 +-v NUMBER_OF_ITEMS:1
  4 +-v NUMBER_OF_LOTS:1
  5 +
  6 +-v TENDER_MEAT:True
  7 +-v ITEM_MEAT:False
  8 +-v LOT_MEAT:False
  9 +
  10 +-v AWARD_INDEX:5
  11 +-v first_cancel_index:0
  12 +-v first_reject_index:1
  13 +-v second_approve_index:2
  14 +-v second_cancel_index:2
  15 +-v second_reject_index:3
  16 +-v third_approve_index:4
  17 +-v third_cancel_index:4
  18 +-v third_reject_index:5
  19 +
  20 +
  21 +-i create_tender
  22 +-i find_tender
  23 +
  24 +-i make_bid_by_provider
  25 +-i make_bid_by_provider1
  26 +-i make_bid_by_provider2
  27 +
  28 +-i awardPeriod_startDate
  29 +-i qualification_approve_first_award
  30 +-i qualification_cancel_first_time
  31 +-i qualification_reject_first_time
  32 +-i qualification_approve_second_participant
  33 +-i qualification_cancel_second_time
  34 +-i qualification_reject_second_time
  35 +-i qualification_approve_third_participant
  36 +-i qualification_cancel_third_time
  37 +-i qualification_reject_third_time
  38 +-i defense_award_complaint_error
  1 +-v MODE:open_simple_defense
  2 +
  3 +-v NUMBER_OF_ITEMS:1
  4 +-v NUMBER_OF_LOTS:1
  5 +
  6 +-v TENDER_MEAT:True
  7 +-v ITEM_MEAT:False
  8 +-v LOT_MEAT:False
  9 +
  10 +-v AWARD_INDEX:4
  11 +-v first_cancel_index:0
  12 +-v first_reject_index:1
  13 +-v second_approve_index:2
  14 +-v second_cancel_index:2
  15 +-v second_reject_index:3
  16 +
  17 +-i create_tender
  18 +-i find_tender
  19 +
  20 +-i make_bid_by_provider
  21 +-i make_bid_by_provider1
  22 +-i make_bid_by_provider2
  23 +
  24 +-i awardPeriod_startDate
  25 +-i qualification_approve_first_award
  26 +-i qualification_cancel_first_time
  27 +-i qualification_reject_first_time
  28 +-i qualification_approve_second_participant
  29 +-i qualification_cancel_second_time
  30 +-i qualification_reject_second_time
  31 +-i defense_award_complaint_error
  1 +-v MODE:open_simple_defense
  2 +
  3 +-v NUMBER_OF_ITEMS:1
  4 +-v NUMBER_OF_LOTS:1
  5 +
  6 +-v TENDER_MEAT:True
  7 +-v ITEM_MEAT:False
  8 +-v LOT_MEAT:False
  9 +
  10 +-v AWARD_INDEX:2
  11 +-v first_cancel_index:0
  12 +-v first_reject_index:1
  13 +
  14 +-i create_tender
  15 +-i find_tender
  16 +
  17 +-i make_bid_by_provider
  18 +-i make_bid_by_provider1
  19 +
  20 +-i open_confirm_first_bid
  21 +-i open_confirm_second_bid
  22 +
  23 +-i awardPeriod_startDate
  24 +-i qualification_approve_first_award
  25 +-i qualification_cancel_first_time
  26 +-i qualification_reject_first_time
  27 +-i defense_award_complaint_error
@@ -11,6 +11,8 @@ @@ -11,6 +11,8 @@
11 11
12 -v ARTICLE_17:True 12 -v ARTICLE_17:True
13 13
  14 +-v CRITERIA_GUARANTEE:True
  15 +
14 -i create_tender 16 -i create_tender
15 -i find_tender 17 -i find_tender
16 -i tender_view 18 -i tender_view
@@ -59,6 +61,9 @@ @@ -59,6 +61,9 @@
59 -i qualification_add_doc_to_second_award 61 -i qualification_add_doc_to_second_award
60 -i qualification_approve_second_award 62 -i qualification_approve_second_award
61 63
  64 +-i wait_active_awarding_start
  65 +-i qualification_add_contract_guarantee_document
  66 +
62 -i contract_stand_still 67 -i contract_stand_still
63 -i contract_view 68 -i contract_view
64 -i contract_view_dateSigned 69 -i contract_view_dateSigned
@@ -9,6 +9,8 @@ @@ -9,6 +9,8 @@
9 9
10 -v ARTICLE_17:True 10 -v ARTICLE_17:True
11 11
  12 +-v CRITERIA_GUARANTEE:True
  13 +
12 14
13 -i create_tender 15 -i create_tender
14 -i find_tender 16 -i find_tender
@@ -96,10 +98,12 @@ @@ -96,10 +98,12 @@
96 -i qualification_add_doc_to_first_award 98 -i qualification_add_doc_to_first_award
97 -i qualification_add_criteria_response_first_award 99 -i qualification_add_criteria_response_first_award
98 -i qualification_reject_first_award 100 -i qualification_reject_first_award
99 -  
100 -i qualification_add_doc_to_second_award 101 -i qualification_add_doc_to_second_award
101 -i qualification_approve_second_award 102 -i qualification_approve_second_award
102 103
  104 +-i wait_active_awarding_start
  105 +-i qualification_add_contract_guarantee_document
  106 +
103 -i contract_stand_still 107 -i contract_stand_still
104 -i contract_view 108 -i contract_view
105 -i modify_contract_invalid_amount 109 -i modify_contract_invalid_amount
@@ -9,6 +9,8 @@ @@ -9,6 +9,8 @@
9 9
10 -v ARTICLE_17:True 10 -v ARTICLE_17:True
11 11
  12 +-v CRITERIA_GUARANTEE:True
  13 +
12 14
13 -i create_tender 15 -i create_tender
14 -i find_tender 16 -i find_tender
@@ -80,6 +82,9 @@ @@ -80,6 +82,9 @@
80 -i qualification_add_doc_to_second_award 82 -i qualification_add_doc_to_second_award
81 -i qualification_approve_second_award 83 -i qualification_approve_second_award
82 84
  85 +-i wait_active_awarding_start
  86 +-i qualification_add_contract_guarantee_document
  87 +
83 -i contract_stand_still 88 -i contract_stand_still
84 -i contract_view 89 -i contract_view
85 -i modify_contract_invalid_amount 90 -i modify_contract_invalid_amount
Please register or login to post a comment