Commit ea70f3964f973e0a8b6929ecc8ce5619e2a73813
Merge pull request #664 from Viktoriia-Kokuienko/master
New below_funders scenario
Showing
10 changed files
with
536 additions
and
5 deletions
| @@ -73,6 +73,17 @@ Resource resource.robot | @@ -73,6 +73,17 @@ Resource resource.robot | ||
| 73 | Run as ${username} Пошук плану по ідентифікатору ${TENDER['TENDER_UAID']} | 73 | Run as ${username} Пошук плану по ідентифікатору ${TENDER['TENDER_UAID']} |
| 74 | 74 | ||
| 75 | 75 | ||
| 76 | +Можливість знайти тендер за кошти донора для усіх користувачів | ||
| 77 | + :FOR ${username} IN ${tender_owner} ${provider} ${provider1} ${viewer} | ||
| 78 | + \ Можливість знайти тендер за кошти донора для користувача ${username} | ||
| 79 | + | ||
| 80 | + | ||
| 81 | +Можливість знайти тендер за кошти донора для користувача ${username} | ||
| 82 | + Дочекатись синхронізації з майданчиком ${username} | ||
| 83 | + ${funder_id}= Set Variable ${USERS.users['${tender_owner}'].initial_data.data['funders'][0]['identifier']['id']} | ||
| 84 | + Run as ${username} Пошук тендера за кошти донора ${funder_id} | ||
| 85 | + | ||
| 86 | + | ||
| 76 | Можливість знайти тендер по ідентифікатору ${tender_id} та зберегти його в ${save_location} для користувача ${username} | 87 | Можливість знайти тендер по ідентифікатору ${tender_id} та зберегти його в ${save_location} для користувача ${username} |
| 77 | Дочекатись синхронізації з майданчиком ${username} | 88 | Дочекатись синхронізації з майданчиком ${username} |
| 78 | Run as ${username} Пошук тендера по ідентифікатору ${tender_id} ${save_location} | 89 | Run as ${username} Пошук тендера по ідентифікатору ${tender_id} ${save_location} |
| @@ -82,6 +93,9 @@ Resource resource.robot | @@ -82,6 +93,9 @@ Resource resource.robot | ||
| 82 | Run As ${tender_owner} Внести зміни в тендер ${TENDER['TENDER_UAID']} ${field_name} ${field_value} | 93 | Run As ${tender_owner} Внести зміни в тендер ${TENDER['TENDER_UAID']} ${field_name} ${field_value} |
| 83 | 94 | ||
| 84 | 95 | ||
| 96 | +Перевірити неможливість зміни поля ${field_name} тендера на значення ${field_value} для користувача ${username} | ||
| 97 | + Require Failure ${username} Внести зміни в тендер ${TENDER['TENDER_UAID']} ${field_name} ${field_value} | ||
| 98 | + | ||
| 85 | Можливість змінити поле ${field_name} плану на ${field_value} | 99 | Можливість змінити поле ${field_name} плану на ${field_value} |
| 86 | Run As ${tender_owner} Внести зміни в план ${TENDER['TENDER_UAID']} ${field_name} ${field_value} | 100 | Run As ${tender_owner} Внести зміни в план ${TENDER['TENDER_UAID']} ${field_name} ${field_value} |
| 87 | 101 | ||
| @@ -128,6 +142,19 @@ Resource resource.robot | @@ -128,6 +142,19 @@ Resource resource.robot | ||
| 128 | Run As ${tender_owner} Видалити предмет закупівлі плану ${TENDER['TENDER_UAID']} ${USERS.users['${tender_owner}'].item_data.item_id} | 142 | Run As ${tender_owner} Видалити предмет закупівлі плану ${TENDER['TENDER_UAID']} ${USERS.users['${tender_owner}'].item_data.item_id} |
| 129 | 143 | ||
| 130 | 144 | ||
| 145 | +Можливість видалити поле ${field_name} з донора ${funders_index} | ||
| 146 | + Run As ${tender_owner} Видалити поле з донора ${TENDER['TENDER_UAID']} ${funders_index} ${field_name} | ||
| 147 | + | ||
| 148 | + | ||
| 149 | +Можливість видалити донора ${funders_index} | ||
| 150 | + Run As ${tender_owner} Видалити донора ${TENDER['TENDER_UAID']} ${funders_index} | ||
| 151 | + | ||
| 152 | + | ||
| 153 | +Можливість додати донора | ||
| 154 | + ${funders_data}= create_fake_funder | ||
| 155 | + Run As ${tender_owner} Додати донора ${TENDER['TENDER_UAID']} ${funders_data} | ||
| 156 | + | ||
| 157 | + | ||
| 131 | Звірити відображення поля ${field} документа ${doc_id} із ${left} для користувача ${username} | 158 | Звірити відображення поля ${field} документа ${doc_id} із ${left} для користувача ${username} |
| 132 | ${right}= Run As ${username} Отримати інформацію із документа ${TENDER['TENDER_UAID']} ${doc_id} ${field} | 159 | ${right}= Run As ${username} Отримати інформацію із документа ${TENDER['TENDER_UAID']} ${doc_id} ${field} |
| 133 | Порівняти об'єкти ${left} ${right} | 160 | Порівняти об'єкти ${left} ${right} |
| @@ -250,6 +277,20 @@ Resource resource.robot | @@ -250,6 +277,20 @@ Resource resource.robot | ||
| 250 | Звірити координати доставки тендера ${viewer} ${TENDER['TENDER_UAID']} ${USERS.users['${tender_owner}'].initial_data} ${item_id} | 277 | Звірити координати доставки тендера ${viewer} ${TENDER['TENDER_UAID']} ${USERS.users['${tender_owner}'].initial_data} ${item_id} |
| 251 | 278 | ||
| 252 | 279 | ||
| 280 | +Звірити відображення поля ${field} усіх донорів для усіх користувачів | ||
| 281 | + :FOR ${username} IN ${viewer} ${tender_owner} ${provider} ${provider1} | ||
| 282 | + \ Звірити відображення поля ${field} усіх донорів для користувача ${username} | ||
| 283 | + | ||
| 284 | + | ||
| 285 | +Звірити відображення поля ${field} усіх донорів для користувача ${username} | ||
| 286 | + :FOR ${funders_index} IN RANGE ${FUNDERS} | ||
| 287 | + \ Звірити відображення поля ${field} ${funders_index} донора для користувача ${username} | ||
| 288 | + | ||
| 289 | + | ||
| 290 | +Звірити відображення поля ${field} ${funders_index} донора для користувача ${username} | ||
| 291 | + Звірити поле донора ${username} ${TENDER['TENDER_UAID']} ${USERS.users['${tender_owner}'].initial_data} ${field} ${funders_index} | ||
| 292 | + | ||
| 293 | + | ||
| 253 | Отримати дані із поля ${field} тендера для усіх користувачів | 294 | Отримати дані із поля ${field} тендера для усіх користувачів |
| 254 | :FOR ${username} IN ${viewer} ${provider} ${provider1} ${tender_owner} | 295 | :FOR ${username} IN ${viewer} ${provider} ${provider1} ${tender_owner} |
| 255 | \ Отримати дані із поля ${field} тендера для користувача ${username} | 296 | \ Отримати дані із поля ${field} тендера для користувача ${username} |
| @@ -196,6 +196,14 @@ Library openprocurement_client.utils | @@ -196,6 +196,14 @@ Library openprocurement_client.utils | ||
| 196 | [return] ${tender} | 196 | [return] ${tender} |
| 197 | 197 | ||
| 198 | 198 | ||
| 199 | +Пошук тендера за кошти донора | ||
| 200 | + [Arguments] ${username} ${funder_id}=${None} ${save_key}=tenders_with_funder | ||
| 201 | + ${tenders}= get_tenders_by_funder_id ${USERS.users['${username}'].client} ${funder_id} | ||
| 202 | + Set To Dictionary ${USERS.users['${username}']} ${save_key}=${tender} | ||
| 203 | + Log ${tenders} | ||
| 204 | + [return] ${tenders.keys()} | ||
| 205 | + | ||
| 206 | + | ||
| 199 | Отримати тендер другого етапу та зберегти його | 207 | Отримати тендер другого етапу та зберегти його |
| 200 | [Arguments] ${username} ${tender_id} | 208 | [Arguments] ${username} ${tender_id} |
| 201 | ${response}= Call Method ${USERS.users['${username}'].client} patch_credentials ${tender_id} ${USERS.users['${username}'].access_token} | 209 | ${response}= Call Method ${USERS.users['${username}'].client} patch_credentials ${tender_id} ${USERS.users['${username}'].access_token} |
| @@ -248,12 +256,14 @@ Library openprocurement_client.utils | @@ -248,12 +256,14 @@ Library openprocurement_client.utils | ||
| 248 | Внести зміни в тендер | 256 | Внести зміни в тендер |
| 249 | [Arguments] ${username} ${tender_uaid} ${fieldname} ${fieldvalue} | 257 | [Arguments] ${username} ${tender_uaid} ${fieldname} ${fieldvalue} |
| 250 | ${tender}= openprocurement_client.Пошук тендера по ідентифікатору ${username} ${tender_uaid} | 258 | ${tender}= openprocurement_client.Пошук тендера по ідентифікатору ${username} ${tender_uaid} |
| 259 | + ${prev_value}= Отримати дані із тендера ${username} ${tender_uaid} ${fieldname} | ||
| 251 | Set_To_Object ${tender.data} ${fieldname} ${fieldvalue} | 260 | Set_To_Object ${tender.data} ${fieldname} ${fieldvalue} |
| 252 | ${procurementMethodType}= Get From Object ${tender.data} procurementMethodType | 261 | ${procurementMethodType}= Get From Object ${tender.data} procurementMethodType |
| 253 | Run Keyword If '${procurementMethodType}' == 'aboveThresholdUA' or '${procurementMethodType}' == 'aboveThresholdEU' | 262 | Run Keyword If '${procurementMethodType}' == 'aboveThresholdUA' or '${procurementMethodType}' == 'aboveThresholdEU' |
| 254 | ... Remove From Dictionary ${tender.data} enquiryPeriod | 263 | ... Remove From Dictionary ${tender.data} enquiryPeriod |
| 255 | ${tender}= set_access_key ${tender} ${USERS.users['${username}'].access_token} | 264 | ${tender}= set_access_key ${tender} ${USERS.users['${username}'].access_token} |
| 256 | ${tender}= Call Method ${USERS.users['${username}'].client} patch_tender ${tender} | 265 | ${tender}= Call Method ${USERS.users['${username}'].client} patch_tender ${tender} |
| 266 | + Run Keyword And Expect Error * Порівняти об'єкти ${prev_value} ${tender.data.${fieldname}} | ||
| 257 | Set_To_Object ${USERS.users['${username}'].tender_data} ${fieldname} ${fieldvalue} | 267 | Set_To_Object ${USERS.users['${username}'].tender_data} ${fieldname} ${fieldvalue} |
| 258 | 268 | ||
| 259 | 269 | ||
| @@ -265,7 +275,6 @@ Library openprocurement_client.utils | @@ -265,7 +275,6 @@ Library openprocurement_client.utils | ||
| 265 | ${tender}= Call Method ${USERS.users['${username}'].client} patch_plan ${tender} | 275 | ${tender}= Call Method ${USERS.users['${username}'].client} patch_plan ${tender} |
| 266 | Set_To_Object ${USERS.users['${username}'].tender_data} ${fieldname} ${fieldvalue} | 276 | Set_To_Object ${USERS.users['${username}'].tender_data} ${fieldname} ${fieldvalue} |
| 267 | 277 | ||
| 268 | - | ||
| 269 | ############################################################################## | 278 | ############################################################################## |
| 270 | # Item operations | 279 | # Item operations |
| 271 | ############################################################################## | 280 | ############################################################################## |
| @@ -297,6 +306,7 @@ Library openprocurement_client.utils | @@ -297,6 +306,7 @@ Library openprocurement_client.utils | ||
| 297 | Remove From List ${tender.data['items']} ${item_index} | 306 | Remove From List ${tender.data['items']} ${item_index} |
| 298 | Call Method ${USERS.users['${username}'].client} patch_tender ${tender} | 307 | Call Method ${USERS.users['${username}'].client} patch_tender ${tender} |
| 299 | 308 | ||
| 309 | + | ||
| 300 | Видалити предмет закупівлі плану | 310 | Видалити предмет закупівлі плану |
| 301 | [Arguments] ${username} ${tender_uaid} ${item_id} ${lot_id}=${Empty} | 311 | [Arguments] ${username} ${tender_uaid} ${item_id} ${lot_id}=${Empty} |
| 302 | ${tender}= openprocurement_client.Пошук плану по ідентифікатору ${username} ${tender_uaid} | 312 | ${tender}= openprocurement_client.Пошук плану по ідентифікатору ${username} ${tender_uaid} |
| @@ -304,6 +314,33 @@ Library openprocurement_client.utils | @@ -304,6 +314,33 @@ Library openprocurement_client.utils | ||
| 304 | Remove From List ${tender.data['items']} ${item_index} | 314 | Remove From List ${tender.data['items']} ${item_index} |
| 305 | Call Method ${USERS.users['${username}'].client} patch_plan ${tender} | 315 | Call Method ${USERS.users['${username}'].client} patch_plan ${tender} |
| 306 | 316 | ||
| 317 | + | ||
| 318 | +Видалити поле з донора | ||
| 319 | + [Arguments] ${username} ${tender_uaid} ${funders_index} ${field_name} | ||
| 320 | + ${tender}= openprocurement_client.Пошук тендера по ідентифікатору ${username} ${tender_uaid} | ||
| 321 | + Delete From Dictionary ${tender.data['funders'][${funders_index}]} ${field_name} | ||
| 322 | + Log ${tender.data['funders'][${funders_index}]} | ||
| 323 | + ${reply}= Call Method ${USERS.users['${username}'].client} patch_tender ${tender} | ||
| 324 | + Dictionary Should Not Contain Path ${reply.data['funders'][${funders_index}]} ${field_name} | ||
| 325 | + | ||
| 326 | + | ||
| 327 | +Видалити донора | ||
| 328 | + [Arguments] ${username} ${tender_uaid} ${funders_index} | ||
| 329 | + ${tender}= openprocurement_client.Пошук тендера по ідентифікатору ${username} ${tender_uaid} | ||
| 330 | + Remove From List ${tender.data.funders} ${funders_index} | ||
| 331 | + Log ${tender} | ||
| 332 | + ${reply}= Call Method ${USERS.users['${username}'].client} patch_tender ${tender} | ||
| 333 | + Log ${reply} | ||
| 334 | + | ||
| 335 | + | ||
| 336 | +Додати донора | ||
| 337 | + [Arguments] ${username} ${tender_uaid} ${funders_data} | ||
| 338 | + ${tender}= openprocurement_client.Пошук тендера по ідентифікатору ${username} ${tender_uaid} | ||
| 339 | + Set To Dictionary ${tender.data} funders=@{EMPTY} | ||
| 340 | + Append To List ${tender.data.funders} ${funders_data} | ||
| 341 | + Log ${tender} | ||
| 342 | + ${reply}= Call Method ${USERS.users['${username}'].client} patch_tender ${tender} | ||
| 343 | + | ||
| 307 | ############################################################################## | 344 | ############################################################################## |
| 308 | # Lot operations | 345 | # Lot operations |
| 309 | ############################################################################## | 346 | ############################################################################## |
| @@ -118,6 +118,31 @@ def get_document_by_id(data, doc_id): | @@ -118,6 +118,31 @@ def get_document_by_id(data, doc_id): | ||
| 118 | raise Exception('Document with id {} not found'.format(doc_id)) | 118 | raise Exception('Document with id {} not found'.format(doc_id)) |
| 119 | 119 | ||
| 120 | 120 | ||
| 121 | +def get_tenders_by_funder_id(client, | ||
| 122 | + funder_id=None, | ||
| 123 | + descending=True, | ||
| 124 | + tender_id_field='tenderID', | ||
| 125 | + opt_fields=('funders',)): | ||
| 126 | + params = {'offset': '', | ||
| 127 | + 'opt_fields': ','.join((tender_id_field,) + opt_fields), | ||
| 128 | + 'descending': descending} | ||
| 129 | + tender_list = True | ||
| 130 | + client._update_params(params) | ||
| 131 | + tenders_with_funder = {} | ||
| 132 | + while tender_list and not tenders_with_funder: | ||
| 133 | + tender_list = client.get_tenders() | ||
| 134 | + for tender in tender_list: | ||
| 135 | + if 'funders' in tender: | ||
| 136 | + tenders_with_funder[tender[tender_id_field]] = [el['identifier']['id'] for el in tender['funders']] | ||
| 137 | + # In case we are looking for a specific funder | ||
| 138 | + if funder_id: | ||
| 139 | + tenders_with_funder = {k: v for k, v in tenders_with_funder.items() if funder_id in v} | ||
| 140 | + if not tenders_with_funder: | ||
| 141 | + raise IdNotFound | ||
| 142 | + else: | ||
| 143 | + return tenders_with_funder | ||
| 144 | + | ||
| 145 | + | ||
| 121 | def download_file_from_url(url, path_to_save_file): | 146 | def download_file_from_url(url, path_to_save_file): |
| 122 | f = open(path_to_save_file, 'wb') | 147 | f = open(path_to_save_file, 'wb') |
| 123 | f.write(urllib.urlopen(url).read()) | 148 | f.write(urllib.urlopen(url).read()) |
| @@ -33,10 +33,22 @@ def create_fake_sentence(): | @@ -33,10 +33,22 @@ def create_fake_sentence(): | ||
| 33 | return fake.sentence(nb_words=10, variable_nb_words=True) | 33 | return fake.sentence(nb_words=10, variable_nb_words=True) |
| 34 | 34 | ||
| 35 | 35 | ||
| 36 | +def create_fake_funder(): | ||
| 37 | + return fake.funders_data() | ||
| 38 | + | ||
| 39 | + | ||
| 40 | +def get_fake_funder_scheme(): | ||
| 41 | + return fake.funder_scheme() | ||
| 42 | + | ||
| 43 | + | ||
| 36 | def create_fake_amount(award_amount): | 44 | def create_fake_amount(award_amount): |
| 37 | return round(random.uniform(1, award_amount), 2) | 45 | return round(random.uniform(1, award_amount), 2) |
| 38 | 46 | ||
| 39 | 47 | ||
| 48 | +def create_fake_number(min_number, max_number): | ||
| 49 | + return random.randint(int(min_number), int(max_number)) | ||
| 50 | + | ||
| 51 | + | ||
| 40 | def create_fake_title(): | 52 | def create_fake_title(): |
| 41 | return u"[ТЕСТУВАННЯ] {}".format(fake.title()) | 53 | return u"[ТЕСТУВАННЯ] {}".format(fake.title()) |
| 42 | 54 | ||
| @@ -93,6 +105,7 @@ def create_fake_doc(): | @@ -93,6 +105,7 @@ def create_fake_doc(): | ||
| 93 | def test_tender_data(params, | 105 | def test_tender_data(params, |
| 94 | periods=("enquiry", "tender"), | 106 | periods=("enquiry", "tender"), |
| 95 | submissionMethodDetails=None, | 107 | submissionMethodDetails=None, |
| 108 | + funders=None, | ||
| 96 | accelerator=None): | 109 | accelerator=None): |
| 97 | submissionMethodDetails = submissionMethodDetails \ | 110 | submissionMethodDetails = submissionMethodDetails \ |
| 98 | if submissionMethodDetails else "quick" | 111 | if submissionMethodDetails else "quick" |
| @@ -175,6 +188,8 @@ def test_tender_data(params, | @@ -175,6 +188,8 @@ def test_tender_data(params, | ||
| 175 | data['features'].append(new_feature) | 188 | data['features'].append(new_feature) |
| 176 | if not data['features']: | 189 | if not data['features']: |
| 177 | del data['features'] | 190 | del data['features'] |
| 191 | + if funders is not None: | ||
| 192 | + data['funders'] = [fake.funders_data() for _ in range(int(funders))] | ||
| 178 | data['status'] = 'draft' | 193 | data['status'] = 'draft' |
| 179 | return munchify(data) | 194 | return munchify(data) |
| 180 | 195 |
| @@ -215,7 +215,8 @@ Get Broker Property By Username | @@ -215,7 +215,8 @@ Get Broker Property By Username | ||
| 215 | ${period_intervals}= compute_intrs ${BROKERS} ${used_brokers} | 215 | ${period_intervals}= compute_intrs ${BROKERS} ${used_brokers} |
| 216 | ${submissionMethodDetails}= Get Variable Value ${submissionMethodDetails} | 216 | ${submissionMethodDetails}= Get Variable Value ${submissionMethodDetails} |
| 217 | ${accelerator}= Get Variable Value ${accelerator} | 217 | ${accelerator}= Get Variable Value ${accelerator} |
| 218 | - ${tender_data}= prepare_test_tender_data ${period_intervals} ${tender_parameters} ${submissionMethodDetails} ${accelerator} | 218 | + ${funders}= Get Variable Value ${FUNDERS} |
| 219 | + ${tender_data}= prepare_test_tender_data ${period_intervals} ${tender_parameters} ${submissionMethodDetails} ${accelerator} ${funders} | ||
| 219 | ${TENDER}= Create Dictionary | 220 | ${TENDER}= Create Dictionary |
| 220 | Set Global Variable ${TENDER} | 221 | Set Global Variable ${TENDER} |
| 221 | Log ${tender_data} | 222 | Log ${tender_data} |
| @@ -502,6 +503,19 @@ Log differences between dicts | @@ -502,6 +503,19 @@ Log differences between dicts | ||
| 502 | Порівняти об'єкти ${left} ${right} | 503 | Порівняти об'єкти ${left} ${right} |
| 503 | 504 | ||
| 504 | 505 | ||
| 506 | +Звірити поле донора | ||
| 507 | + [Arguments] ${username} ${tender_uaid} ${tender_data} ${field} ${funders_index} | ||
| 508 | + ${left}= get_from_object ${tender_data.data.funders[${funders_index}]} ${field} | ||
| 509 | + Log ${left} | ||
| 510 | + Звірити поле донора із значенням ${username} ${tender_uaid} ${left} ${field} ${funders_index} | ||
| 511 | + | ||
| 512 | + | ||
| 513 | +Звірити поле донора із значенням | ||
| 514 | + [Arguments] ${username} ${tender_uaid} ${left} ${field} ${funders_index} ${object_id}=${Empty} | ||
| 515 | + ${right}= Отримати дані із тендера ${username} ${tender_uaid} funders[${funders_index}].${field} ${object_id} | ||
| 516 | + Порівняти об'єкти ${left} ${right} | ||
| 517 | + | ||
| 518 | + | ||
| 505 | Звірити відображення типу запланованого тендера для ${username} | 519 | Звірити відображення типу запланованого тендера для ${username} |
| 506 | ${type}= Отримати дані із плану ${username} ${TENDER['TENDER_UAID']} tender.procurementMethodType | 520 | ${type}= Отримати дані із плану ${username} ${TENDER['TENDER_UAID']} tender.procurementMethodType |
| 507 | Звірити відображення поля tender.procurementMethodType плану для користувача ${username} | 521 | Звірити відображення поля tender.procurementMethodType плану для користувача ${username} |
| @@ -786,10 +800,17 @@ Require Failure | @@ -786,10 +800,17 @@ Require Failure | ||
| 786 | 800 | ||
| 787 | 801 | ||
| 788 | Дочекатись дати закінчення періоду уточнень | 802 | Дочекатись дати закінчення періоду уточнень |
| 789 | - [Arguments] ${username} | 803 | + [Arguments] ${username} ${tender_uaid} |
| 790 | Дочекатись дати ${USERS.users['${username}'].tender_data.data.enquiryPeriod.endDate} | 804 | Дочекатись дати ${USERS.users['${username}'].tender_data.data.enquiryPeriod.endDate} |
| 791 | Оновити LAST_MODIFICATION_DATE | 805 | Оновити LAST_MODIFICATION_DATE |
| 792 | Дочекатись синхронізації з майданчиком ${username} | 806 | Дочекатись синхронізації з майданчиком ${username} |
| 807 | + Wait until keyword succeeds | ||
| 808 | + ... 10 min 15 sec | ||
| 809 | + ... 15 sec | ||
| 810 | + ... Звірити статус тендера | ||
| 811 | + ... ${username} | ||
| 812 | + ... ${tender_uaid} | ||
| 813 | + ... active.tendering | ||
| 793 | 814 | ||
| 794 | 815 | ||
| 795 | Дочекатись дати закінчення періоду відповідей на запитання | 816 | Дочекатись дати закінчення періоду відповідей на запитання |
| @@ -21,6 +21,8 @@ class OP_Provider(BaseProvider): | @@ -21,6 +21,8 @@ class OP_Provider(BaseProvider): | ||
| 21 | _fake_data = load_data_from_file("op_faker_data.json") | 21 | _fake_data = load_data_from_file("op_faker_data.json") |
| 22 | word_list = _fake_data.words | 22 | word_list = _fake_data.words |
| 23 | procuringEntities = _fake_data.procuringEntities | 23 | procuringEntities = _fake_data.procuringEntities |
| 24 | + funders = _fake_data.funders | ||
| 25 | + funders_scheme_list = _fake_data.funders_scheme | ||
| 24 | addresses = _fake_data.addresses | 26 | addresses = _fake_data.addresses |
| 25 | classifications = _fake_data.classifications | 27 | classifications = _fake_data.classifications |
| 26 | cpvs = _fake_data.cpvs | 28 | cpvs = _fake_data.cpvs |
| @@ -91,6 +93,14 @@ class OP_Provider(BaseProvider): | @@ -91,6 +93,14 @@ class OP_Provider(BaseProvider): | ||
| 91 | return deepcopy(self.random_element(self.procuringEntities)) | 93 | return deepcopy(self.random_element(self.procuringEntities)) |
| 92 | 94 | ||
| 93 | @classmethod | 95 | @classmethod |
| 96 | + def funders_data(self): | ||
| 97 | + return self.random_element(self.funders) | ||
| 98 | + | ||
| 99 | + @classmethod | ||
| 100 | + def funder_scheme(self): | ||
| 101 | + return self.random_element(self.funders_scheme_list) | ||
| 102 | + | ||
| 103 | + @classmethod | ||
| 94 | def cpv(self): | 104 | def cpv(self): |
| 95 | return self.random_element(self.cpvs) | 105 | return self.random_element(self.cpvs) |
| 96 | 106 |
| @@ -507,6 +507,155 @@ | @@ -507,6 +507,155 @@ | ||
| 507 | "спускати", | 507 | "спускати", |
| 508 | "весілчанин" | 508 | "весілчанин" |
| 509 | ], | 509 | ], |
| 510 | + "funders": [ | ||
| 511 | + { | ||
| 512 | + "additionalIdentifiers": [ ], | ||
| 513 | + "contactPoint": { | ||
| 514 | + "telephone": "+380444906671", | ||
| 515 | + "url": "http://www.worldbank.org/uk/country/ukraine", | ||
| 516 | + "faxNumber": "+380444906670", | ||
| 517 | + "name": "Darya Gulei", | ||
| 518 | + "email": "ukraine@worldbank.org" | ||
| 519 | + }, | ||
| 520 | + "identifier": { | ||
| 521 | + "scheme": "XM-DAC", | ||
| 522 | + "id": "44000", | ||
| 523 | + "legalName": "International Bank for Reconstruction and Development (IBRD)" | ||
| 524 | + }, | ||
| 525 | + "name": "World Bank", | ||
| 526 | + "address": { | ||
| 527 | + "postalCode": "20433", | ||
| 528 | + "countryName": "USA", | ||
| 529 | + "streetAddress": "1818 H Street, NW", | ||
| 530 | + "region": "DC", | ||
| 531 | + "locality": "Washington" | ||
| 532 | + } | ||
| 533 | + } | ||
| 534 | + ], | ||
| 535 | + "funders_scheme": [ | ||
| 536 | + "AE-ACCI", | ||
| 537 | + "AE-ADCD", | ||
| 538 | + "AE-AFZ", | ||
| 539 | + "AE-DCCI", | ||
| 540 | + "AE-DFSA", | ||
| 541 | + "AE-DIFC", | ||
| 542 | + "AE-FFZ", | ||
| 543 | + "AT-FN", | ||
| 544 | + "AE-FUJCCI", | ||
| 545 | + "AE-HFZA", | ||
| 546 | + "AE-RAKIA", | ||
| 547 | + "AE-SAIF", | ||
| 548 | + "AE-SCCI", | ||
| 549 | + "AE-UAQCCI", | ||
| 550 | + "AF-CBR", | ||
| 551 | + "AF-MOE", | ||
| 552 | + "AU-ABN", | ||
| 553 | + "AU-ACNC", | ||
| 554 | + "BD-NAB", | ||
| 555 | + "BE-BCE_KBO", | ||
| 556 | + "BE-GTCF", | ||
| 557 | + "BG-EIK", | ||
| 558 | + "BY-UNP", | ||
| 559 | + "CA-CRA_ACR", | ||
| 560 | + "CH-ZEFIX", | ||
| 561 | + "CN-SAIC", | ||
| 562 | + "CO-CCB", | ||
| 563 | + "CY-DRCOR", | ||
| 564 | + "CZ-ICO", | ||
| 565 | + "DE-CRP", | ||
| 566 | + "DK-CVR", | ||
| 567 | + "EE-RIK", | ||
| 568 | + "ES-DIR3", | ||
| 569 | + "ES-RMS", | ||
| 570 | + "ET-MFA", | ||
| 571 | + "FI-PRO", | ||
| 572 | + "FR-INSEE", | ||
| 573 | + "FR-RCS", | ||
| 574 | + "GB-CHC", | ||
| 575 | + "GB-COH", | ||
| 576 | + "GB-EDU", | ||
| 577 | + "GB-GOV", | ||
| 578 | + "GB-GOVUK", | ||
| 579 | + "GB-NIC", | ||
| 580 | + "GB-REV", | ||
| 581 | + "GB-SC", | ||
| 582 | + "GB-UKPRN", | ||
| 583 | + "GG-RCE", | ||
| 584 | + "GH-DSW", | ||
| 585 | + "HU-VAT", | ||
| 586 | + "ID-KDN", | ||
| 587 | + "ID-KHH", | ||
| 588 | + "ID-KLN", | ||
| 589 | + "ID-PRO", | ||
| 590 | + "IE-CHY", | ||
| 591 | + "IE-CRO", | ||
| 592 | + "IL-ROC", | ||
| 593 | + "IM-CR", | ||
| 594 | + "IM-GR", | ||
| 595 | + "IN-MCA", | ||
| 596 | + "IT-RI", | ||
| 597 | + "JE-CR", | ||
| 598 | + "JE-OAC", | ||
| 599 | + "JP-JCN", | ||
| 600 | + "KE-NCB", | ||
| 601 | + "KE-RCO", | ||
| 602 | + "KE-RSO", | ||
| 603 | + "KZ-BIN", | ||
| 604 | + "LS-LCN", | ||
| 605 | + "LT-PVM", | ||
| 606 | + "LT-RC", | ||
| 607 | + "LV-RE", | ||
| 608 | + "MD-IDNO", | ||
| 609 | + "MM-MHA", | ||
| 610 | + "MW-CNM", | ||
| 611 | + "MW-MRA", | ||
| 612 | + "MW-NBM", | ||
| 613 | + "MW-RG", | ||
| 614 | + "MY-SSM", | ||
| 615 | + "MZ-MOJ", | ||
| 616 | + "NG-CAC", | ||
| 617 | + "NL-KVK", | ||
| 618 | + "NO-BRC", | ||
| 619 | + "NP-CRO", | ||
| 620 | + "NP-SWC", | ||
| 621 | + "PK-PCP", | ||
| 622 | + "PK-VSWA", | ||
| 623 | + "PL-REGON", | ||
| 624 | + "PL-NIP", | ||
| 625 | + "PL-KRS", | ||
| 626 | + "PT-NIPPC", | ||
| 627 | + "RO-CUI", | ||
| 628 | + "RS-APR", | ||
| 629 | + "RU-INN", | ||
| 630 | + "RU-OGRN", | ||
| 631 | + "SE-BLV", | ||
| 632 | + "SG-ACRA", | ||
| 633 | + "SI-PRS", | ||
| 634 | + "SI-TIN", | ||
| 635 | + "SK-ZRSR", | ||
| 636 | + "TR-MERSIS", | ||
| 637 | + "TR-VAT", | ||
| 638 | + "TZ-BRLA", | ||
| 639 | + "UA-EDR", | ||
| 640 | + "UG-NGB", | ||
| 641 | + "UG-RSB", | ||
| 642 | + "US-DOS", | ||
| 643 | + "US-EIN", | ||
| 644 | + "US-USAGOV", | ||
| 645 | + "UZ-KTUT", | ||
| 646 | + "XI-IATI", | ||
| 647 | + "XI-PB", | ||
| 648 | + "XM-DAC", | ||
| 649 | + "XM-EORI", | ||
| 650 | + "XM-OCHA", | ||
| 651 | + "ZA-CIP", | ||
| 652 | + "ZA-NPO", | ||
| 653 | + "ZA-PBO", | ||
| 654 | + "ZM-NRB", | ||
| 655 | + "ZM-PCR", | ||
| 656 | + "ZW-PVO", | ||
| 657 | + "ZW-ROD" | ||
| 658 | + ], | ||
| 510 | "procuringEntities": [ | 659 | "procuringEntities": [ |
| 511 | { | 660 | { |
| 512 | "contactPoint": { | 661 | "contactPoint": { |
| @@ -37,6 +37,15 @@ ${ITEM_MEAT} ${True} | @@ -37,6 +37,15 @@ ${ITEM_MEAT} ${True} | ||
| 37 | ... critical | 37 | ... critical |
| 38 | Можливість знайти тендер по ідентифікатору для усіх користувачів | 38 | Можливість знайти тендер по ідентифікатору для усіх користувачів |
| 39 | 39 | ||
| 40 | + | ||
| 41 | +Можливість знайти тендер за кошти донора по ідентифікатору донора | ||
| 42 | + [Tags] ${USERS.users['${viewer}'].broker}: Пошук тендера | ||
| 43 | + ... viewer tender_owner provider provider1 | ||
| 44 | + ... ${USERS.users['${viewer}'].broker} ${USERS.users['${tender_owner}'].broker} | ||
| 45 | + ... ${USERS.users['${provider}'].broker} ${USERS.users['${provider1}'].broker} | ||
| 46 | + ... find_tender_by_funder_id | ||
| 47 | + Можливість знайти тендер за кошти донора для усіх користувачів | ||
| 48 | + | ||
| 40 | ############################################################################################## | 49 | ############################################################################################## |
| 41 | # Відображення основних даних тендера | 50 | # Відображення основних даних тендера |
| 42 | ############################################################################################## | 51 | ############################################################################################## |
| @@ -421,6 +430,99 @@ ${ITEM_MEAT} ${True} | @@ -421,6 +430,99 @@ ${ITEM_MEAT} ${True} | ||
| 421 | Звірити відображення поля featureOf усіх нецінових показників для користувача ${viewer} | 430 | Звірити відображення поля featureOf усіх нецінових показників для користувача ${viewer} |
| 422 | 431 | ||
| 423 | ############################################################################################## | 432 | ############################################################################################## |
| 433 | +# Відображення основних даних донора | ||
| 434 | +############################################################################################## | ||
| 435 | + | ||
| 436 | +Відображення назви донора | ||
| 437 | + [Tags] ${USERS.users['${viewer}'].broker}: Відображення донора тендера | ||
| 438 | + ... viewer tender_owner provider provider1 | ||
| 439 | + ... ${USERS.users['${viewer}'].broker} ${USERS.users['${tender_owner}'].broker} | ||
| 440 | + ... ${USERS.users['${provider}'].broker} ${USERS.users['${provider1}'].broker} | ||
| 441 | + ... funders_view | ||
| 442 | + Звірити відображення поля name усіх донорів для усіх користувачів | ||
| 443 | + | ||
| 444 | + | ||
| 445 | +Відображення назви країни донора | ||
| 446 | + [Tags] ${USERS.users['${viewer}'].broker}: Відображення донора тендера | ||
| 447 | + ... viewer tender_owner provider provider1 | ||
| 448 | + ... ${USERS.users['${viewer}'].broker} ${USERS.users['${tender_owner}'].broker} | ||
| 449 | + ... ${USERS.users['${provider}'].broker} ${USERS.users['${provider1}'].broker} | ||
| 450 | + ... funders_view | ||
| 451 | + Звірити відображення поля address.countryName усіх донорів для усіх користувачів | ||
| 452 | + | ||
| 453 | + | ||
| 454 | +Відображення назви міста донора | ||
| 455 | + [Tags] ${USERS.users['${viewer}'].broker}: Відображення донора тендера | ||
| 456 | + ... viewer tender_owner provider provider1 | ||
| 457 | + ... ${USERS.users['${viewer}'].broker} ${USERS.users['${tender_owner}'].broker} | ||
| 458 | + ... ${USERS.users['${provider}'].broker} ${USERS.users['${provider1}'].broker} | ||
| 459 | + ... funders_view | ||
| 460 | + Звірити відображення поля address.locality усіх донорів для усіх користувачів | ||
| 461 | + | ||
| 462 | + | ||
| 463 | +Відображення поштового коду адреси донора | ||
| 464 | + [Tags] ${USERS.users['${viewer}'].broker}: Відображення донора тендера | ||
| 465 | + ... viewer tender_owner provider provider1 | ||
| 466 | + ... ${USERS.users['${viewer}'].broker} ${USERS.users['${tender_owner}'].broker} | ||
| 467 | + ... ${USERS.users['${provider}'].broker} ${USERS.users['${provider1}'].broker} | ||
| 468 | + ... funders_view | ||
| 469 | + Звірити відображення поля address.postalCode усіх донорів для усіх користувачів | ||
| 470 | + | ||
| 471 | + | ||
| 472 | +Відображення регіону адреси донора | ||
| 473 | + [Tags] ${USERS.users['${viewer}'].broker}: Відображення донора тендера | ||
| 474 | + ... viewer tender_owner provider provider1 | ||
| 475 | + ... ${USERS.users['${viewer}'].broker} ${USERS.users['${tender_owner}'].broker} | ||
| 476 | + ... ${USERS.users['${provider}'].broker} ${USERS.users['${provider1}'].broker} | ||
| 477 | + ... funders_view | ||
| 478 | + Звірити відображення поля address.region усіх донорів для усіх користувачів | ||
| 479 | + | ||
| 480 | + | ||
| 481 | +Відображення вулиці адреси донора | ||
| 482 | + [Tags] ${USERS.users['${viewer}'].broker}: Відображення донора тендера | ||
| 483 | + ... viewer tender_owner provider provider1 | ||
| 484 | + ... ${USERS.users['${viewer}'].broker} ${USERS.users['${tender_owner}'].broker} | ||
| 485 | + ... ${USERS.users['${provider}'].broker} ${USERS.users['${provider1}'].broker} | ||
| 486 | + ... funders_view | ||
| 487 | + Звірити відображення поля address.streetAddress усіх донорів для усіх користувачів | ||
| 488 | + | ||
| 489 | + | ||
| 490 | +Відображення url веб-сторінки контактної особи | ||
| 491 | + [Tags] ${USERS.users['${viewer}'].broker}: Відображення донора тендера | ||
| 492 | + ... viewer tender_owner provider provider1 | ||
| 493 | + ... ${USERS.users['${viewer}'].broker} ${USERS.users['${tender_owner}'].broker} | ||
| 494 | + ... ${USERS.users['${provider}'].broker} ${USERS.users['${provider1}'].broker} | ||
| 495 | + ... funders_view | ||
| 496 | + Звірити відображення поля contactPoint.url усіх донорів для усіх користувачів | ||
| 497 | + | ||
| 498 | + | ||
| 499 | +Відображення id ідентифікатора | ||
| 500 | + [Tags] ${USERS.users['${viewer}'].broker}: Відображення донора тендера | ||
| 501 | + ... viewer tender_owner provider provider1 | ||
| 502 | + ... ${USERS.users['${viewer}'].broker} ${USERS.users['${tender_owner}'].broker} | ||
| 503 | + ... ${USERS.users['${provider}'].broker} ${USERS.users['${provider1}'].broker} | ||
| 504 | + ... funders_view | ||
| 505 | + Звірити відображення поля identifier.id усіх донорів для усіх користувачів | ||
| 506 | + | ||
| 507 | + | ||
| 508 | +Відображення юридичної назви ідентифікатора | ||
| 509 | + [Tags] ${USERS.users['${viewer}'].broker}: Відображення донора тендера | ||
| 510 | + ... viewer tender_owner provider provider1 | ||
| 511 | + ... ${USERS.users['${viewer}'].broker} ${USERS.users['${tender_owner}'].broker} | ||
| 512 | + ... ${USERS.users['${provider}'].broker} ${USERS.users['${provider1}'].broker} | ||
| 513 | + ... funders_view | ||
| 514 | + Звірити відображення поля identifier.legalName усіх донорів для усіх користувачів | ||
| 515 | + | ||
| 516 | + | ||
| 517 | +Відображення схеми ідентифікатора | ||
| 518 | + [Tags] ${USERS.users['${viewer}'].broker}: Відображення донора тендера | ||
| 519 | + ... viewer tender_owner provider provider1 | ||
| 520 | + ... ${USERS.users['${viewer}'].broker} ${USERS.users['${tender_owner}'].broker} | ||
| 521 | + ... ${USERS.users['${provider}'].broker} ${USERS.users['${provider1}'].broker} | ||
| 522 | + ... funders_view | ||
| 523 | + Звірити відображення поля identifier.scheme усіх донорів для усіх користувачів | ||
| 524 | + | ||
| 525 | +############################################################################################## | ||
| 424 | # Редагування тендера | 526 | # Редагування тендера |
| 425 | ############################################################################################## | 527 | ############################################################################################## |
| 426 | 528 | ||
| @@ -777,6 +879,72 @@ ${ITEM_MEAT} ${True} | @@ -777,6 +879,72 @@ ${ITEM_MEAT} ${True} | ||
| 777 | ... critical | 879 | ... critical |
| 778 | Можливість видалити -1 неціновий показник | 880 | Можливість видалити -1 неціновий показник |
| 779 | 881 | ||
| 882 | + | ||
| 883 | +Можливість видалити донора | ||
| 884 | + [Tags] ${USERS.users['${tender_owner}'].broker}: Можливість редагувати тендер | ||
| 885 | + ... tender_owner | ||
| 886 | + ... ${USERS.users['${tender_owner}'].broker} | ||
| 887 | + ... delete_funder | ||
| 888 | + [Teardown] Оновити LAST_MODIFICATION_DATE | ||
| 889 | + Можливість видалити донора 0 | ||
| 890 | + | ||
| 891 | + | ||
| 892 | +Можливість додати донора | ||
| 893 | + [Tags] ${USERS.users['${tender_owner}'].broker}: Можливість редагувати тендер | ||
| 894 | + ... tender_owner | ||
| 895 | + ... ${USERS.users['${tender_owner}'].broker} | ||
| 896 | + ... add_funder | ||
| 897 | + [Setup] Дочекатись синхронізації з майданчиком ${tender_owner} | ||
| 898 | + [Teardown] Оновити LAST_MODIFICATION_DATE | ||
| 899 | + Можливість додати донора | ||
| 900 | + | ||
| 901 | + | ||
| 902 | +Неможливість видалити ім'я донора | ||
| 903 | + [Tags] ${USERS.users['${tender_owner}'].broker}: Можливість редагувати тендер | ||
| 904 | + ... tender_owner | ||
| 905 | + ... ${USERS.users['${tender_owner}'].broker} | ||
| 906 | + ... delete_funder_field | ||
| 907 | + [Teardown] Оновити LAST_MODIFICATION_DATE | ||
| 908 | + Run Keyword And Expect Error * Можливість видалити поле name з донора 0 | ||
| 909 | + | ||
| 910 | + | ||
| 911 | +Неможливість видалити ім'я контактної особи донора | ||
| 912 | + [Tags] ${USERS.users['${tender_owner}'].broker}: Можливість редагувати тендер | ||
| 913 | + ... tender_owner | ||
| 914 | + ... ${USERS.users['${tender_owner}'].broker} | ||
| 915 | + ... delete_funder_field | ||
| 916 | + [Teardown] Оновити LAST_MODIFICATION_DATE | ||
| 917 | + Run Keyword And Expect Error * Можливість видалити поле contactPoint.name з донора 0 | ||
| 918 | + | ||
| 919 | + | ||
| 920 | +Неможливість видалити назву країни з адреси донора | ||
| 921 | + [Tags] ${USERS.users['${tender_owner}'].broker}: Можливість редагувати тендер | ||
| 922 | + ... tender_owner | ||
| 923 | + ... ${USERS.users['${tender_owner}'].broker} | ||
| 924 | + ... delete_funder_field | ||
| 925 | + [Teardown] Оновити LAST_MODIFICATION_DATE | ||
| 926 | + Run Keyword And Expect Error * Можливість видалити поле address.countryName з донора 0 | ||
| 927 | + | ||
| 928 | + | ||
| 929 | +Неможливість змінити id ідентифікатора донора | ||
| 930 | + [Tags] ${USERS.users['${tender_owner}'].broker}: Можливість редагувати тендер | ||
| 931 | + ... tender_owner | ||
| 932 | + ... ${USERS.users['${tender_owner}'].broker} | ||
| 933 | + ... change_funder_during_enquiry_period | ||
| 934 | + [Teardown] Оновити LAST_MODIFICATION_DATE | ||
| 935 | + ${new_id}= create_fake_number 10000 99999 | ||
| 936 | + Перевірити неможливість зміни поля funders[0].identifier.id тендера на значення ${new_id} для користувача ${tender_owner} | ||
| 937 | + | ||
| 938 | + | ||
| 939 | +Неможливість змінити схему ідентифікатора донора | ||
| 940 | + [Tags] ${USERS.users['${tender_owner}'].broker}: Можливість редагувати тендер | ||
| 941 | + ... tender_owner | ||
| 942 | + ... ${USERS.users['${tender_owner}'].broker} | ||
| 943 | + ... change_funder_during_enquiry_period | ||
| 944 | + [Teardown] Оновити LAST_MODIFICATION_DATE | ||
| 945 | + ${new_scheme}= get_fake_funder_scheme | ||
| 946 | + Перевірити неможливість зміни поля funders[0].identifier.scheme тендера на значення ${new_scheme} для користувача ${tender_owner} | ||
| 947 | + | ||
| 780 | ############################################################################################## | 948 | ############################################################################################## |
| 781 | # QUESTIONS | 949 | # QUESTIONS |
| 782 | ############################################################################################## | 950 | ############################################################################################## |
| @@ -969,6 +1137,17 @@ ${ITEM_MEAT} ${True} | @@ -969,6 +1137,17 @@ ${ITEM_MEAT} ${True} | ||
| 969 | Можливість змінити поле description 0 лоту на ${new_description} | 1137 | Можливість змінити поле description 0 лоту на ${new_description} |
| 970 | Remove From Dictionary ${USERS.users['${tender_owner}'].tender_data.data.lots[0]} description | 1138 | Remove From Dictionary ${USERS.users['${tender_owner}'].tender_data.data.lots[0]} description |
| 971 | 1139 | ||
| 1140 | + | ||
| 1141 | +Неможливість змінити дані про донора після завершення періоду уточнень | ||
| 1142 | + [Tags] ${USERS.users['${tender_owner}'].broker}: Редагування тендера | ||
| 1143 | + ... tender_owner | ||
| 1144 | + ... ${USERS.users['${tender_owner}'].broker} | ||
| 1145 | + ... change_funder_after_enquiry_period | ||
| 1146 | + [Setup] Дочекатись дати закінчення періоду уточнень ${tender_owner} ${TENDER['TENDER_UAID']} | ||
| 1147 | + ${new_legalName}= create_fake_title | ||
| 1148 | + Перевірити неможливість зміни поля funders[0].identifier.legalName тендера на значення ${new_legalName} для користувача ${tender_owner} | ||
| 1149 | + Remove From Dictionary ${USERS.users['${tender_owner}'].tender_data.data.funders[0].identifier} legalName | ||
| 1150 | + | ||
| 972 | ############################################################################################## | 1151 | ############################################################################################## |
| 973 | # TENDER COMPLAINTS | 1152 | # TENDER COMPLAINTS |
| 974 | ############################################################################################## | 1153 | ############################################################################################## |
| @@ -4,7 +4,7 @@ from .local_time import get_now, TZ | @@ -4,7 +4,7 @@ from .local_time import get_now, TZ | ||
| 4 | from copy import deepcopy | 4 | from copy import deepcopy |
| 5 | from datetime import timedelta | 5 | from datetime import timedelta |
| 6 | from dateutil.parser import parse | 6 | from dateutil.parser import parse |
| 7 | -from dpath.util import new as xpathnew | 7 | +from dpath.util import delete as xpathdelete, get as xpathget, new as xpathnew |
| 8 | from haversine import haversine | 8 | from haversine import haversine |
| 9 | from json import load, loads | 9 | from json import load, loads |
| 10 | from jsonpath_rw import parse as parse_path | 10 | from jsonpath_rw import parse as parse_path |
| @@ -20,7 +20,10 @@ from .initial_data import ( | @@ -20,7 +20,10 @@ from .initial_data import ( | ||
| 20 | create_fake_doc, | 20 | create_fake_doc, |
| 21 | create_fake_sentence, | 21 | create_fake_sentence, |
| 22 | create_fake_amount, | 22 | create_fake_amount, |
| 23 | + create_fake_number, | ||
| 23 | create_fake_date, | 24 | create_fake_date, |
| 25 | + create_fake_funder, | ||
| 26 | + get_fake_funder_scheme, | ||
| 24 | fake, | 27 | fake, |
| 25 | subtraction, | 28 | subtraction, |
| 26 | field_with_id, | 29 | field_with_id, |
| @@ -62,7 +65,9 @@ from restkit import request | @@ -62,7 +65,9 @@ from restkit import request | ||
| 62 | import os | 65 | import os |
| 63 | import re | 66 | import re |
| 64 | 67 | ||
| 68 | + | ||
| 65 | NUM_TYPES = (int, long, float) | 69 | NUM_TYPES = (int, long, float) |
| 70 | +STR_TYPES = (str, unicode) | ||
| 66 | 71 | ||
| 67 | 72 | ||
| 68 | def get_current_tzdate(): | 73 | def get_current_tzdate(): |
| @@ -294,7 +299,8 @@ def compute_intrs(brokers_data, used_brokers): | @@ -294,7 +299,8 @@ def compute_intrs(brokers_data, used_brokers): | ||
| 294 | def prepare_test_tender_data(procedure_intervals, | 299 | def prepare_test_tender_data(procedure_intervals, |
| 295 | tender_parameters, | 300 | tender_parameters, |
| 296 | submissionMethodDetails, | 301 | submissionMethodDetails, |
| 297 | - accelerator): | 302 | + accelerator, |
| 303 | + funders): | ||
| 298 | # Get actual intervals by mode name | 304 | # Get actual intervals by mode name |
| 299 | mode = tender_parameters['mode'] | 305 | mode = tender_parameters['mode'] |
| 300 | if mode in procedure_intervals: | 306 | if mode in procedure_intervals: |
| @@ -332,6 +338,7 @@ def prepare_test_tender_data(procedure_intervals, | @@ -332,6 +338,7 @@ def prepare_test_tender_data(procedure_intervals, | ||
| 332 | return munchify({'data': test_tender_data( | 338 | return munchify({'data': test_tender_data( |
| 333 | tender_parameters, | 339 | tender_parameters, |
| 334 | submissionMethodDetails=submissionMethodDetails, | 340 | submissionMethodDetails=submissionMethodDetails, |
| 341 | + funders=funders, | ||
| 335 | accelerator=accelerator)}) | 342 | accelerator=accelerator)}) |
| 336 | # The previous line needs an explicit keyword argument because, | 343 | # The previous line needs an explicit keyword argument because, |
| 337 | # unlike previous functions, this one has three arguments. | 344 | # unlike previous functions, this one has three arguments. |
| @@ -584,3 +591,17 @@ def convert_amount_string_to_float(amount_string): | @@ -584,3 +591,17 @@ def convert_amount_string_to_float(amount_string): | ||
| 584 | def compare_rationale_types(type1, type2): | 591 | def compare_rationale_types(type1, type2): |
| 585 | return set(type1) == set(type2) | 592 | return set(type1) == set(type2) |
| 586 | 593 | ||
| 594 | + | ||
| 595 | +def delete_from_dictionary(variable, path): | ||
| 596 | + if not type(path) in STR_TYPES: | ||
| 597 | + raise TypeError('path must be one of: ' + | ||
| 598 | + str([x.__name__ for x in STR_TYPES])) | ||
| 599 | + return xpathdelete(variable, path, separator='.') | ||
| 600 | + | ||
| 601 | + | ||
| 602 | +def dictionary_should_not_contain_path(dictionary, path): | ||
| 603 | + try: | ||
| 604 | + xpathget(dictionary, path, separator='.') | ||
| 605 | + except KeyError: | ||
| 606 | + return | ||
| 607 | + raise RuntimeError("Dictionary contains path '%s'." % path) |
robot_tests_arguments/below_funders.txt
0 → 100644
| 1 | +-v MODE:belowThreshold | ||
| 2 | + | ||
| 3 | +-v NUMBER_OF_ITEMS:1 | ||
| 4 | +-v NUMBER_OF_LOTS:1 | ||
| 5 | +-v FUNDERS:1 | ||
| 6 | + | ||
| 7 | +-v TENDER_MEAT:False | ||
| 8 | +-v ITEM_MEAT:False | ||
| 9 | +-v LOT_MEAT:False | ||
| 10 | + | ||
| 11 | + | ||
| 12 | +-i create_tender | ||
| 13 | +-i find_tender | ||
| 14 | +-i find_tender_by_funder_id | ||
| 15 | +-i tender_view | ||
| 16 | +-i lot_view | ||
| 17 | +-i funders_view | ||
| 18 | + | ||
| 19 | +-i delete_funder_field | ||
| 20 | +-i delete_funder | ||
| 21 | +-i add_funder | ||
| 22 | +-i change_funder_during_enquiry_period | ||
| 23 | +-i change_funder_after_enquiry_period | ||
| 24 | + | ||
| 25 | +-i make_bid_by_provider | ||
| 26 | +-i make_bid_by_provider1 | ||
| 27 | +-i modify_bid_by_provider1 | ||
| 28 | + | ||
| 29 | +-i auction | ||
| 30 | + | ||
| 31 | +-i qualification_approve_first_award | ||
| 32 | + | ||
| 33 | +-i contract_sign |
Please
register
or
login
to post a comment