Commit a804248261e18bfddc95ebec163ef157ed242d55

Authored by Myroslav Opyr
2 parents 542f1e7a 0ab000e3

Merge pull request #66 from Leits/openeu

Add openEU procedure test
... ... @@ -81,7 +81,7 @@ Library openprocurement_client_helper.py
81 81 ${tender}= openprocurement_client.Пошук тендера по ідентифікатору ${username} ${tender_uaid}
82 82 Set_To_Object ${tender.data} ${fieldname} ${fieldvalue}
83 83 ${procurementMethodType}= Get From Object ${tender.data} procurementMethodType
84   - Run Keyword If '${procurementMethodType}' == 'aboveThresholdUA'
  84 + Run Keyword If '${procurementMethodType}' == 'aboveThresholdUA' or '${procurementMethodType}' == 'aboveThresholdEU'
85 85 ... Remove From Dictionary ${tender.data} enquiryPeriod
86 86 ${tender}= set_access_key ${tender} ${USERS.users['${username}'].access_token}
87 87 ${tender}= Call Method ${USERS.users['${username}'].client} patch_tender ${tender}
... ... @@ -218,11 +218,11 @@ Library openprocurement_client_helper.py
218 218
219 219
220 220 Завантажити документ в ставку
221   - [Arguments] ${username} ${path} ${tender_uaid}
  221 + [Arguments] ${username} ${path} ${tender_uaid} ${doc_type}=documents
222 222 ${bid_id}= Get Variable Value ${USERS.users['${username}'].bidresponses['resp'].data.id}
223 223 ${tender}= openprocurement_client.Пошук тендера по ідентифікатору ${username} ${tender_uaid}
224 224 ${tender}= set_access_key ${tender} ${USERS.users['${username}'].bidresponses['resp'].access.token}
225   - ${response}= Call Method ${USERS.users['${username}'].client} upload_bid_document ${path} ${tender} ${bid_id}
  225 + ${response}= Call Method ${USERS.users['${username}'].client} upload_bid_document ${path} ${tender} ${bid_id} ${doc_type}
226 226 ${uploaded_file} = Create Dictionary filepath ${path} upload_response ${response}
227 227 Log ${response}
228 228 Log object data ${uploaded_file}
... ... @@ -239,6 +239,13 @@ Library openprocurement_client_helper.py
239 239 Log object data ${uploaded_file}
240 240 [return] ${uploaded_file}
241 241
  242 +Змінити документацію в ставці
  243 + [Arguments] ${username} ${doc_data} ${bidid} ${docid}
  244 + ${tender}= openprocurement_client.Пошук тендера по ідентифікатору ${username} ${TENDER['TENDER_UAID']}
  245 + ${tender}= set_access_key ${tender} ${USERS.users['${username}'].bidresponses['resp'].access.token}
  246 + ${response}= Call Method ${USERS.users['${username}'].client} patch_bid_document ${tender} ${doc_data} ${bidid} ${docid}
  247 + Log ${response}
  248 + [return] ${response}
242 249
243 250 Завантажити документ
244 251 [Arguments] ${username} ${filepath} ${tender_uaid}
... ... @@ -463,3 +470,57 @@ Library openprocurement_client_helper.py
463 470 Log ${data}
464 471 ${reply}= Call Method ${USERS.users['${username}'].client} patch_contract ${tender} ${data}
465 472 Log ${reply}
  473 +
  474 +##############################################################################
  475 +# OpenUA procedure
  476 +##############################################################################
  477 +
  478 +Підтвердити кваліфікацію
  479 + [Documentation]
  480 + ... [Arguments] Username, tender uaid and qualification number
  481 + ... [Description] Find tender using uaid, create data dict with active status and call patch_qualification
  482 + ... [Return] Reply of API
  483 + [Arguments] ${username} ${tender_uid} ${qualification_num}
  484 + ${tender}= openprocurement_client.Пошук тендера по ідентифікатору ${username} ${tender_uid}
  485 + ${qualification}= create_data_dict data.status active
  486 + Set To Dictionary ${qualification.data} id ${tender.data.qualifications[${qualification_num}].id}
  487 + ${reply}= Call Method ${USERS.users['${username}'].client} patch_qualification ${tender} ${qualification}
  488 + Log ${reply}
  489 + [Return] ${reply}
  490 +
  491 +Відхилити кваліфікацію
  492 + [Documentation]
  493 + ... [Arguments] Username, tender uaid and qualification number
  494 + ... [Description] Find tender using uaid, create data dict with unsuccessful status and call patch_qualification
  495 + ... [Return] Reply of API
  496 + [Arguments] ${username} ${tender_uid} ${qualification_num}
  497 + ${tender}= openprocurement_client.Пошук тендера по ідентифікатору ${username} ${tender_uid}
  498 + ${qualification}= create_data_dict data.status unsuccessful
  499 + Set To Dictionary ${qualification.data} id ${tender.data.qualifications[${qualification_num}].id}
  500 + ${reply}= Call Method ${USERS.users['${username}'].client} patch_qualification ${tender} ${qualification}
  501 + Log ${reply}
  502 + [Return] ${reply}
  503 +
  504 +Завантажити документ у кваліфікацію
  505 + [Documentation]
  506 + ... [Arguments] Username, tender uaid, qualification number and document to upload
  507 + ... [Description] Find tender using uaid, and call upload_qualification_document
  508 + ... [Return] Reply of API
  509 + [Arguments] ${username} ${document} ${tender_uaid} ${qualification_num}
  510 + ${tender}= Пошук тендера по ідентифікатору ${username} ${tender_uaid}
  511 + ${doc_reply}= Call Method ${USERS.users['${username}'].client} upload_qualification_document ${document} ${tender} ${tender.data.qualifications[${qualification_num}].id}
  512 + Log ${doc_reply}
  513 + [Return] ${doc_reply}
  514 +
  515 +Скасувати кваліфікацію
  516 + [Documentation]
  517 + ... [Arguments] Username, tender uaid and qualification number
  518 + ... [Description] Find tender using uaid, create data dict with cancelled status and call patch_qualification
  519 + ... [Return] Reply of API
  520 + [Arguments] ${username} ${tender_uid} ${qualification_num}
  521 + ${tender}= openprocurement_client.Пошук тендера по ідентифікатору ${username} ${tender_uid}
  522 + ${qualification}= create_data_dict data.status cancelled
  523 + Set To Dictionary ${qualification.data} id ${tender.data.qualifications[${qualification_num}].id}
  524 + ${reply}= Call Method ${USERS.users['${username}'].client} patch_qualification ${tender} ${qualification}
  525 + Log ${reply}
  526 + [Return] ${reply}
\ No newline at end of file
... ...
... ... @@ -36,7 +36,7 @@ Default:
36 36 # (it is set automatically)
37 37 openeu:
38 38 accelerator: 1440
39   - tender: [0, 15]
  39 + tender: [0, 30]
40 40 # Synchronization delay, in seconds
41 41 timeout_on_wait: 300
42 42 Quinta:
... ... @@ -49,7 +49,7 @@ Quinta:
49 49 tender: [0, 15]
50 50 openeu:
51 51 accelerator: 1440
52   - tender: [0, 15]
  52 + tender: [0, 30]
53 53 keywords_file: openprocurement_client
54 54 roles:
55 55 provider: Tender_User
... ...
... ... @@ -763,3 +763,33 @@ def test_tender_data_openua(intervals):
763 763 t_data['procurementMethodDetails'] = 'quick, ' \
764 764 'accelerator={}'.format(accelerator)
765 765 return t_data
  766 +
  767 +def test_tender_data_openeu(intervals):
  768 + accelerator = intervals['accelerator']
  769 + # Since `accelerator` field is not really a list containing timings
  770 + # for a period called `acceleratorPeriod`, let's remove it :)
  771 + del intervals['accelerator']
  772 + # We should not provide any values for `enquiryPeriod` when creating
  773 + # an openUA or openEU procedure. That field should not be present at all.
  774 + # Therefore, we pass a nondefault list of periods to `test_tender_data()`.
  775 + t_data = test_tender_data(intervals, periods=('tender',))
  776 + t_data['procurementMethodType'] = 'aboveThresholdEU'
  777 +
  778 + t_data['procurementMethodDetails'] = 'quick, ' \
  779 + 'accelerator={}'.format(accelerator)
  780 +
  781 + # now = get_now()
  782 + # t_data["tenderPeriod"] = {
  783 + # "startDate": (now).isoformat(),
  784 + # "endDate": (now + timedelta(minutes=7, seconds=30)).isoformat()
  785 + # }
  786 + # t_data['procurementMethodDetails'] = 'quick, accelerator=5760'
  787 +
  788 +
  789 + t_data['title_en'] = "[TESTING]"
  790 + for item_number, item in enumerate(t_data['items']):
  791 + item['description_en'] = "Test item #{}".format(item_number)
  792 + t_data['procuringEntity']['contactPoint']['name_en'] = fake_en.name()
  793 + t_data['procuringEntity']['contactPoint']['availableLanguage'] = "en"
  794 + t_data['procuringEntity']['identifier']['legalName_en'] = "Institution \"Vinnytsia City Council primary and secondary general school № 10\""
  795 + return t_data
\ No newline at end of file
... ...
... ... @@ -341,3 +341,8 @@ SwitchState
341 341 [Arguments] ${username}
342 342 Log ${username}
343 343 Дочекатись дати ${USERS.users['${username}'].tender_data.data.auctionPeriod.endDate}
  344 +
  345 +Дочекатись дати закінчення періоду подання скарг
  346 + [Arguments] ${username}
  347 + log ${username}
  348 + Дочекатись дати ${USERS.users['${username}'].tender_data.data.complaintPeriod.endDate}
... ...
  1 +*** Settings ***
  2 +Resource keywords.robot
  3 +Resource resource.robot
  4 +Suite Setup Test Suite Setup
  5 +Suite Teardown Close all browsers
  6 +
  7 +*** Variables ***
  8 +${mode} openeu
  9 +
  10 +${role} viewer
  11 +${broker} Quinta
  12 +
  13 +
  14 +*** Test Cases ***
  15 +Можливість оголосити понадпороговий однопредметний тендер
  16 + [Tags] ${USERS.users['${tender_owner}'].broker}: Можливість оголосити тендер
  17 + ... tender_owner
  18 + ... ${USERS.users['${tender_owner}'].broker}
  19 + ... minimal
  20 + [Documentation] Створення закупівлі замовником, обовязково має повертати UAID закупівлі (номер тендера)
  21 + ${tender_data}= Підготовка даних для створення тендера
  22 + ${TENDER_UAID}= Викликати для учасника ${tender_owner} Створити тендер ${tender_data}
  23 + ${LAST_MODIFICATION_DATE}= Get Current TZdate
  24 + Set To Dictionary ${USERS.users['${tender_owner}']} initial_data ${tender_data}
  25 + Set To Dictionary ${TENDER} TENDER_UAID ${TENDER_UAID}
  26 + Set To Dictionary ${TENDER} LAST_MODIFICATION_DATE ${LAST_MODIFICATION_DATE}
  27 + Log ${TENDER}
  28 +
  29 +Пошук позапорогового однопредметного тендера по ідентифікатору
  30 + [Tags] ${USERS.users['${viewer}'].broker}: Пошук тендера по ідентифікатору
  31 + ... viewer tender_owner provider provider1
  32 + ... ${USERS.users['${viewer}'].broker} ${USERS.users['${tender_owner}'].broker}
  33 + ... ${USERS.users['${provider}'].broker} ${USERS.users['${provider1}'].broker}
  34 + ... minimal
  35 + ${usernames}= Create List ${viewer} ${tender_owner} ${provider} ${provider1}
  36 + :FOR ${username} IN @{usernames}
  37 + \ Дочекатись синхронізації з майданчиком ${username}
  38 + \ Викликати для учасника ${username} Пошук тендера по ідентифікатору ${TENDER['TENDER_UAID']}
  39 +
  40 +Відображення типу закупівлі оголошеного тендер
  41 + [Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних оголошеного тендера
  42 + ... viewer
  43 + ... ${USERS.users['${viewer}'].broker}
  44 + Звірити поле тендера ${viewer} ${USERS.users['${tender_owner}'].initial_data} procurementMethodType
  45 +
  46 +Відображення початку періоду прийому пропозицій оголошеного тендера
  47 + [Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних оголошеного тендера
  48 + ... viewer
  49 + ... ${USERS.users['${viewer}'].broker}
  50 + ... minimal
  51 + ${usernames}= Create List ${viewer} ${provider} ${provider1}
  52 + :FOR ${username} IN @{usernames}
  53 + \ Звірити дату тендера ${username} ${USERS.users['${tender_owner}'].initial_data} tenderPeriod.startDate
  54 +
  55 +Відображення закінчення періоду прийому пропозицій оголошеного тендера
  56 + [Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних оголошеного тендера
  57 + ... viewer
  58 + ... ${USERS.users['${viewer}'].broker}
  59 + ... minimal
  60 + ${usernames}= Create List ${viewer} ${provider} ${provider1}
  61 + :FOR ${username} IN @{usernames}
  62 + \ Звірити дату тендера ${username} ${USERS.users['${tender_owner}'].initial_data} tenderPeriod.endDate
  63 +
  64 +Відображення закінчення періоду подання скарг на оголошений тендер
  65 + [Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних оголошеного тендера
  66 + ... viewer
  67 + ... ${USERS.users['${viewer}'].broker}
  68 + ... minimal
  69 + ${usernames}= Create List ${viewer} ${provider} ${provider1}
  70 + :FOR ${username} IN @{usernames}
  71 + \ Викликати для учасника ${username} Отримати інформацію із тендера complaintPeriod.endDate
  72 +
  73 +Можливість подати вимогу на умови більше ніж за 10 днів до завершення періоду подання пропозицій
  74 + [Tags] ${USERS.users['${provider}'].broker}: Можливість подати вимогу на умови
  75 + ... provider
  76 + ... ${USERS.users['${provider}'].broker}
  77 + [Documentation] Користувач ${USERS.users['${provider}'].broker} намагається подати скаргу на умови оголошеної закупівлі
  78 + ${claim}= Підготовка даних для подання скарги
  79 + Set To Dictionary ${claim.data} status claim
  80 + Викликати для учасника ${provider} Подати скаргу ${TENDER['TENDER_UAID']} ${claim}
  81 + ${complaints}= Create Dictionary
  82 + Set To Dictionary ${complaints} claim0 ${claim}
  83 + Set To Dictionary ${USERS.users['${provider}']} complaints ${complaints}
  84 +
  85 +Можливість скасувати вимогу на умови
  86 + [Tags] ${USERS.users['${provider}'].broker}: Можливість скасувати скаргу на умови
  87 + ... provider
  88 + ... ${USERS.users['${provider}'].broker}
  89 + ${claim}= Get From Dictionary ${USERS.users['${provider}'].complaints} claim0
  90 + Set To Dictionary ${claim.data} status cancelled
  91 + Set To Dictionary ${claim.data} cancellationReason test_draft_cancellation
  92 + Викликати для учасника ${provider} Обробити скаргу ${TENDER['TENDER_UAID']} 0 ${claim}
  93 +
  94 +
  95 +Подати цінову пропозицію першим учасником після оголошення тендеру
  96 + [Tags] ${USERS.users['${provider}'].broker}: Можливість подати цінову пропозицію
  97 + ... provider
  98 + ... ${USERS.users['${provider}'].broker}
  99 + ${bid}= test bid data
  100 + Log ${bid}
  101 + ${bidresponses}= Create Dictionary
  102 + Set To Dictionary ${bidresponses} bid ${bid}
  103 + Set To Dictionary ${USERS.users['${provider}']} bidresponses ${bidresponses}
  104 + ${resp}= Викликати для учасника ${provider} Подати цінову пропозицію ${TENDER['TENDER_UAID']} ${bid}
  105 + Set To Dictionary ${USERS.users['${provider}'].bidresponses} resp ${resp}
  106 + log ${resp}
  107 +
  108 +Можливість завантажити публічний документ до пропозиції першим учасником
  109 + [Tags] ${USERS.users['${provider}'].broker}: Можливість прийняти пропозицію переможця
  110 + ... provider
  111 + ... ${USERS.users['${provider}'].broker}
  112 + log ${USERS.users['${provider}'].broker}
  113 + ${filepath}= create_fake_doc
  114 + ${bid_doc_upload}= Викликати для учасника ${provider} Завантажити документ в ставку ${filepath} ${TENDER['TENDER_UAID']}
  115 + Set To Dictionary ${USERS.users['${provider}'].bidresponses} bid_doc_upload ${bid_doc_upload}
  116 +
  117 +Можливість змінити документацію цінової пропозиції з публічної на приватну
  118 + [Tags] ${USERS.users['${provider}'].broker}: Можливість прийняти пропозицію переможця
  119 + ... provider
  120 + ... ${USERS.users['${provider}'].broker}
  121 + log ${USERS.users['${provider}'].broker}
  122 + ${privat_doc}= create_data_dict data.confidentialityRationale "Only our company sells badgers with pink hair."
  123 + Set To Dictionary ${privat_doc.data} confidentiality buyerOnly
  124 + ${bidid}= Get Variable Value ${USERS.users['${provider}'].bidresponses['resp'].data.id}
  125 + ${docid}= Get Variable Value ${USERS.users['${provider}'].bidresponses['bid_doc_upload']['upload_response'].data.id}
  126 + ${bid_doc_modified}= Викликати для учасника ${provider} Змінити документацію в ставці ${privat_doc} ${bidid} ${docid}
  127 + Set To Dictionary ${USERS.users['${provider}'].bidresponses} bid_doc_modified ${bid_doc_modified}
  128 +
  129 +Можливість завантажити фінансовий документ до пропозиції першим учасником
  130 + [Tags] ${USERS.users['${provider}'].broker}: Можливість прийняти пропозицію переможця
  131 + ... provider
  132 + ... ${USERS.users['${provider}'].broker}
  133 + log ${USERS.users['${provider}'].broker}
  134 + ${filepath}= create_fake_doc
  135 + ${doc_type}= Set variable financial_documents
  136 + ${bid_doc_upload}= Викликати для учасника ${provider} Завантажити документ в ставку ${filepath} ${TENDER['TENDER_UAID']} ${doc_type}
  137 + Set To Dictionary ${USERS.users['${provider}'].bidresponses} bid_doc_upload ${bid_doc_upload}
  138 +
  139 +Можливість завантажити кваліфікаційний документ до пропозиції першим учасником
  140 + [Tags] ${USERS.users['${provider}'].broker}: Можливість прийняти пропозицію переможця
  141 + ... provider
  142 + ... ${USERS.users['${provider}'].broker}
  143 + log ${USERS.users['${provider}'].broker}
  144 + ${filepath}= create_fake_doc
  145 + ${doc_type}= Set variable eligibility_documents
  146 + ${bid_doc_upload}= Викликати для учасника ${provider} Завантажити документ в ставку ${filepath} ${TENDER['TENDER_UAID']} ${doc_type}
  147 + Set To Dictionary ${USERS.users['${provider}'].bidresponses} bid_doc_upload ${bid_doc_upload}
  148 +
  149 +Можливість завантажити документ для критеріїв прийнятності до пропозиції першим учасником
  150 + [Tags] ${USERS.users['${provider}'].broker}: Можливість прийняти пропозицію переможця
  151 + ... provider
  152 + ... ${USERS.users['${provider}'].broker}
  153 + log ${USERS.users['${provider}'].broker}
  154 + ${filepath}= create_fake_doc
  155 + ${doc_type}= Set variable qualification_documents
  156 + ${bid_doc_upload}= Викликати для учасника ${provider} Завантажити документ в ставку ${filepath} ${TENDER['TENDER_UAID']} ${doc_type}
  157 + Set To Dictionary ${USERS.users['${provider}'].bidresponses} bid_doc_upload ${bid_doc_upload}
  158 +
  159 +Подати цінову пропозицію другим учасником
  160 + [Tags] ${USERS.users['${provider1}'].broker}: Можливість подати цінову пропозицію
  161 + ... provider1
  162 + ... ${USERS.users['${provider1}'].broker}
  163 + ${bid}= test bid data
  164 + Log ${bid}
  165 + ${bidresponses}= Create Dictionary
  166 + Set To Dictionary ${bidresponses} bid ${bid}
  167 + Set To Dictionary ${USERS.users['${provider1}']} bidresponses ${bidresponses}
  168 + ${resp}= Викликати для учасника ${provider1} Подати цінову пропозицію ${TENDER['TENDER_UAID']} ${bid}
  169 + Set To Dictionary ${USERS.users['${provider1}'].bidresponses} resp ${resp}
  170 + log ${resp}
  171 +
  172 +Можливість редагувати однопредметний тендер більше ніж за 7 днів до завершення періоду подання пропозицій
  173 + [Tags] ${USERS.users['${tender_owner}'].broker}: Можливість оголосити тендер
  174 + ... tender_owner
  175 + ... ${USERS.users['${tender_owner}'].broker}
  176 + Викликати для учасника ${tender_owner} Внести зміни в тендер ${TENDER['TENDER_UAID']} description description
  177 +
  178 +Перевірити на зміну статус пропозицій після редагування інформації про закупівлю
  179 + [Tags] ${USERS.users['${provider}'].broker}: Можливість змінити цінову пропозицію
  180 + ... provider provider1
  181 + ... ${USERS.users['${provider}'].broker} ${USERS.users['${provider1}'].broker}
  182 + ${usernames}= Create List ${provider} ${provider1}
  183 + :FOR ${username} IN @{usernames}
  184 + \ Дочекатись синхронізації з майданчиком ${username}
  185 + \ Викликати для учасника ${username} Пошук тендера по ідентифікатору ${TENDER['TENDER_UAID']}
  186 + \ ${bid}= Викликати для учасника ${username} Отримати пропозицію ${TENDER['TENDER_UAID']}
  187 + \ Should Be Equal ${bid.data.status} invalid
  188 + \ Log ${bid}
  189 +
  190 +
  191 +Оновити статус цінової пропозиції першого учасника
  192 + [Tags] ${USERS.users['${provider}'].broker}: Можливість змінити цінову пропозицію
  193 + ... provider
  194 + ... ${USERS.users['${provider}'].broker}
  195 + ${activestatusresp}= Викликати для учасника ${provider} Змінити цінову пропозицію ${TENDER['TENDER_UAID']} status pending
  196 + Set To Dictionary ${USERS.users['${provider}'].bidresponses} activestatusresp ${activestatusresp}
  197 + log ${activestatusresp}
  198 +
  199 +Cкасувати цінову пропозицію другого учасника
  200 + [Tags] ${USERS.users['${provider1}'].broker}: Можливість скасувати цінову пропозицію
  201 + ... provider1
  202 + ... ${USERS.users['${provider1}'].broker}
  203 + ${bid}= Get Variable Value ${USERS.users['${provider1}'].bidresponses['resp']}
  204 + ${bidresponses}= Викликати для учасника ${provider1} Скасувати цінову пропозицію ${TENDER['TENDER_UAID']} ${bid}
  205 +
  206 +Повторно подати цінову пропозицію другим учасником після першої зміни
  207 + [Tags] ${USERS.users['${provider1}'].broker}: Можливість подати цінову пропозицію
  208 + ... provider1
  209 + ... ${USERS.users['${provider1}'].broker}
  210 + ${bid}= test bid data
  211 + Log ${bid}
  212 + ${bidresponses}= Create Dictionary
  213 + Set To Dictionary ${bidresponses} bid ${bid}
  214 + Set To Dictionary ${USERS.users['${provider1}']} bidresponses ${bidresponses}
  215 + ${resp}= Викликати для учасника ${provider1} Подати цінову пропозицію ${TENDER['TENDER_UAID']} ${bid}
  216 + Set To Dictionary ${USERS.users['${provider1}'].bidresponses} resp ${resp}
  217 + log ${resp}
  218 +
  219 +Неможливість редагувати однопредметний тендер менше ніж за 7 днів до завершення періоду подання пропозицій
  220 + [Tags] ${USERS.users['${tender_owner}'].broker}: Можливість оголосити тендер
  221 + ... tender_owner
  222 + ... ${USERS.users['${tender_owner}'].broker}
  223 + ${no_edit_time}= add_minutes_to_date ${USERS.users['${tender_owner}'].tender_data.data.tenderPeriod.endDate} -6
  224 + Дочекатись дати ${no_edit_time}
  225 + Викликати для учасника ${tender_owner} Внести зміни в тендер shouldfail ${TENDER['TENDER_UAID']} description description
  226 +
  227 +Неможливість подати вимогу на умови менше ніж за 10 днів до завершення періоду подання пропозицій
  228 + [Tags] ${USERS.users['${provider}'].broker}: Можливість подати вимогу на умови
  229 + ... provider
  230 + ... ${USERS.users['${provider}'].broker}
  231 + [Documentation] Користувач ${USERS.users['${provider}'].broker} намагається подати скаргу на умови оголошеної закупівлі
  232 + ${claim}= Підготовка даних для подання скарги
  233 + Set To Dictionary ${claim.data} status claim
  234 + Викликати для учасника ${provider} Подати скаргу shouldfail ${TENDER['TENDER_UAID']} ${claim}
  235 +
  236 +
  237 +Продовжити період редагування подання пропозиції на 7 днів
  238 + [Tags] ${USERS.users['${tender_owner}'].broker}: Можливість оголосити тендер
  239 + ... tender_owner
  240 + ... ${USERS.users['${tender_owner}'].broker}
  241 + ${endDate}= add_minutes_to_date ${USERS.users['${tender_owner}'].tender_data.data.tenderPeriod.endDate} 7
  242 + Викликати для учасника ${tender_owner} Внести зміни в тендер ${TENDER['TENDER_UAID']} tenderPeriod.endDate ${endDate}
  243 +
  244 +
  245 +Можливість подати скаргу на умови більше ніж за 4 дні до завершення періоду подання пропозицій
  246 + [Tags] ${USERS.users['${provider}'].broker}: Можливість подати скаргу на умови
  247 + ... provider
  248 + ... ${USERS.users['${provider}'].broker}
  249 + [Documentation] Користувач ${USERS.users['${provider}'].broker} намагається подати скаргу на умови оголошеної закупівлі
  250 + Дочекатись синхронізації з майданчиком ${provider}
  251 + ${complaint}= Підготовка даних для подання скарги
  252 + Set To Dictionary ${complaint.data} status pending
  253 + Викликати для учасника ${provider} Подати скаргу ${TENDER['TENDER_UAID']} ${complaint}
  254 + Set To Dictionary ${USERS.users['${provider}'].complaints} complaint ${complaint}
  255 +
  256 +
  257 +Можливість скасувати скаргу на умови
  258 + [Tags] ${USERS.users['${provider}'].broker}: Можливість скасувати скаргу на умови
  259 + ... provider
  260 + ... ${USERS.users['${provider}'].broker}
  261 + ${complaint}= Get From Dictionary ${USERS.users['${provider}'].complaints} complaint
  262 + Set To Dictionary ${complaint.data} status cancelled
  263 + Set To Dictionary ${complaint.data} cancellationReason test_draft_cancellation
  264 + Викликати для учасника ${provider} Обробити скаргу ${TENDER['TENDER_UAID']} 1 ${complaint}
  265 +
  266 +
  267 +
  268 +Можливість редагувати однопредметний тендер після продовження періоду подання пропозицій
  269 + [Tags] ${USERS.users['${tender_owner}'].broker}: Можливість оголосити тендер
  270 + ... tender_owner
  271 + ... ${USERS.users['${tender_owner}'].broker}
  272 + Викликати для учасника ${tender_owner} Внести зміни в тендер ${TENDER['TENDER_UAID']} description description
  273 +
  274 +
  275 +Перевірити на зміну статус пропозицій після редагування інформації про закупівлю після другої зміни
  276 + [Tags] ${USERS.users['${provider}'].broker}: Можливість змінити цінову пропозицію
  277 + ... provider provider1
  278 + ... ${USERS.users['${provider}'].broker} ${USERS.users['${provider1}'].broker}
  279 + ${usernames}= Create List ${provider} ${provider1}
  280 + :FOR ${username} IN @{usernames}
  281 + \ Дочекатись синхронізації з майданчиком ${username}
  282 + \ Викликати для учасника ${username} Пошук тендера по ідентифікатору ${TENDER['TENDER_UAID']}
  283 + \ ${bid}= Викликати для учасника ${username} Отримати пропозицію ${TENDER['TENDER_UAID']}
  284 + \ Should Be Equal ${bid.data.status} invalid
  285 + \ Log ${bid}
  286 +
  287 +
  288 +Можливість оновити статус цінової пропозиції першого учасника після другої зміни
  289 + [Tags] ${USERS.users['${provider}'].broker}: Можливість змінити цінову пропозицію
  290 + ... provider
  291 + ... ${USERS.users['${provider}'].broker}
  292 + ${activestatusresp}= Викликати для учасника ${provider} Змінити цінову пропозицію ${TENDER['TENDER_UAID']} status pending
  293 + Set To Dictionary ${USERS.users['${provider}'].bidresponses} activestatusresp ${activestatusresp}
  294 + log ${activestatusresp}
  295 +
  296 +
  297 +Повторно подати цінову пропозицію другим учасником після другої зміни
  298 + [Tags] ${USERS.users['${provider1}'].broker}: Можливість подати цінову пропозицію
  299 + ... provider1
  300 + ... ${USERS.users['${provider1}'].broker}
  301 + ${bid}= test bid data
  302 + Log ${bid}
  303 + ${bidresponses}= Create Dictionary
  304 + Set To Dictionary ${bidresponses} bid ${bid}
  305 + Set To Dictionary ${USERS.users['${provider1}']} bidresponses ${bidresponses}
  306 + ${resp}= Викликати для учасника ${provider1} Подати цінову пропозицію ${TENDER['TENDER_UAID']} ${bid}
  307 + Set To Dictionary ${USERS.users['${provider1}'].bidresponses} resp ${resp}
  308 + log ${resp}
  309 +
  310 +
  311 +Неможливість подати скаргу на умови менше ніж за 4 дні до завершення періоду подання пропозицій
  312 + [Tags] ${USERS.users['${provider}'].broker}: Можливість подати скаргу на умови
  313 + ... provider
  314 + ... ${USERS.users['${provider}'].broker}
  315 + [Documentation] Користувач ${USERS.users['${provider}'].broker} намагається подати скаргу на умови оголошеної закупівлі
  316 + Дочекатись дати закінчення періоду подання скарг ${provider}
  317 + Дочекатись синхронізації з майданчиком ${provider}
  318 + ${complaint}= Підготовка даних для подання скарги
  319 + Set To Dictionary ${complaint.data} status pending
  320 + Викликати для учасника ${provider} Подати скаргу shouldfail ${TENDER['TENDER_UAID']} ${complaint}
  321 +
  322 +####
  323 +# Qualification
  324 +Відображення статусу першої пропозиції кваліфікації
  325 + [Tags] ${USERS.users['${tender_owner}'].broker}: Відображення основних даних оголошеного тендера
  326 + ... tender_owner
  327 + ... ${USERS.users['${tender_owner}'].broker}
  328 + Дочекатись дати закінчення прийому пропозицій ${tender_owner}
  329 + Дочекатись синхронізації з майданчиком ${tender_owner}
  330 + Звірити поле тендера із значенням ${tender_owner} pending qualifications[0].status
  331 +
  332 +Відображення статусу другої пропозиції кваліфікації
  333 + [Tags] ${USERS.users['${tender_owner}'].broker}: Відображення основних даних оголошеного тендера
  334 + ... tender_owner
  335 + ... ${USERS.users['${tender_owner}'].broker}
  336 + Дочекатись дати закінчення прийому пропозицій ${tender_owner}
  337 + Дочекатись синхронізації з майданчиком ${tender_owner}
  338 + Звірити поле тендера із значенням ${tender_owner} pending qualifications[1].status
  339 +
  340 +Можливість підтвердити першу пропозицію кваліфікації
  341 + [Tags] ${USERS.users['${tender_owner}'].broker}:
  342 + ... tender_owner
  343 + ... ${USERS.users['${tender_owner}'].broker}
  344 + Викликати для учасника ${tender_owner} Підтвердити кваліфікацію ${TENDER['TENDER_UAID']} 0
  345 +
  346 +Можливість завантажити документ у кваліфікацію пропозиції першого учасника
  347 + [Tags] ${USERS.users['${provider}'].broker}:
  348 + ... provider
  349 + ... ${USERS.users['${provider}'].broker}
  350 + log ${USERS.users['${provider}'].broker}
  351 + ${filepath}= create_fake_doc
  352 + Викликати для учасника ${provider} Завантажити документ у кваліфікацію ${filepath} ${TENDER['TENDER_UAID']} 0
  353 +
  354 +Можливість відхилити першу пропозицію кваліфікації
  355 + [Tags] ${USERS.users['${tender_owner}'].broker}:
  356 + ... tender_owner
  357 + ... ${USERS.users['${tender_owner}'].broker}
  358 + Викликати для учасника ${tender_owner} Відхилити кваліфікацію ${TENDER['TENDER_UAID']} 1
  359 +
  360 +Можливість завантажити документ у кваліфікацію пропозиції другого учасника
  361 + [Tags] ${USERS.users['${provider}'].broker}:
  362 + ... provider
  363 + ... ${USERS.users['${provider}'].broker}
  364 + log ${USERS.users['${provider}'].broker}
  365 + ${filepath}= create_fake_doc
  366 + Викликати для учасника ${provider} Завантажити документ у кваліфікацію ${filepath} ${TENDER['TENDER_UAID']} 1
  367 +
  368 +Можливість скасувати рішення кваліфікації для другої пропопозиції
  369 + [Tags] ${USERS.users['${tender_owner}'].broker}:
  370 + ... tender_owner
  371 + ... ${USERS.users['${tender_owner}'].broker}
  372 + Викликати для учасника ${tender_owner} Скасувати кваліфікацію ${TENDER['TENDER_UAID']} 1
  373 +
  374 +Можливість підтвердити другу пропозицію кваліфікації
  375 + [Tags] ${USERS.users['${tender_owner}'].broker}:
  376 + ... tender_owner
  377 + ... ${USERS.users['${tender_owner}'].broker}
  378 + Викликати для учасника ${tender_owner} Підтвердити кваліфікацію ${TENDER['TENDER_UAID']} 2
\ No newline at end of file
... ...
... ... @@ -48,6 +48,7 @@ from .initial_data import (
48 48 test_tender_data_limited,
49 49 test_tender_data_multiple_items,
50 50 test_tender_data_multiple_lots,
  51 + test_tender_data_openeu,
51 52 test_tender_data_openua
52 53 )
53 54 from .local_time import get_now, TZ
... ... @@ -161,6 +162,8 @@ def prepare_test_tender_data(procedure_intervals, mode):
161 162 return munchify({'data': test_tender_data_limited(intervals)})
162 163 elif mode == 'openua':
163 164 return munchify({'data': test_tender_data_openua(intervals)})
  165 + elif mode == 'openeu':
  166 + return munchify({'data': test_tender_data_openeu(intervals)})
164 167 raise ValueError("Invalid mode for prepare_test_tender_data")
165 168
166 169
... ...
Please register or login to post a comment