Commit 75a5f65251656e51083ae5542dbee7a16db857fd
Committed by
GitHub
Merge pull request #259 from mykhaly/devel
Remake document's display checking test cases
Showing
9 changed files
with
170 additions
and
121 deletions
| ... | ... | @@ -50,17 +50,19 @@ Resource base_keywords.robot |
| 50 | 50 | |
| 51 | 51 | |
| 52 | 52 | Можливість завантажити ${doc_type} документ до пропозиції учасником ${username} |
| 53 | - ${filepath}= create_fake_doc | |
| 54 | - ${bid_doc_upload}= Run As ${username} Завантажити документ в ставку ${filepath} ${TENDER['TENDER_UAID']} ${doc_type} | |
| 53 | + ${file_path} ${file_name} ${file_content}= create_fake_doc | |
| 54 | + ${bid_doc_upload}= Run As ${username} Завантажити документ в ставку ${file_path} ${TENDER['TENDER_UAID']} ${doc_type} | |
| 55 | 55 | Set To Dictionary ${USERS.users['${username}'].bidresponses} bid_doc_upload=${bid_doc_upload} |
| 56 | + Remove File ${file_path} | |
| 56 | 57 | |
| 57 | 58 | ############################################################################################## |
| 58 | 59 | # OPENEU Pre-Qualification |
| 59 | 60 | ############################################################################################## |
| 60 | 61 | |
| 61 | 62 | Можливість завантажити документ у кваліфікацію ${bid_index} пропозиції |
| 62 | - ${filepath}= create_fake_doc | |
| 63 | - Run As ${tender_owner} Завантажити документ у кваліфікацію ${filepath} ${TENDER['TENDER_UAID']} ${bid_index} | |
| 63 | + ${file_path} ${file_name} ${file_content}= create_fake_doc | |
| 64 | + Run As ${tender_owner} Завантажити документ у кваліфікацію ${file_path} ${TENDER['TENDER_UAID']} ${bid_index} | |
| 65 | + Remove File ${file_path} | |
| 64 | 66 | |
| 65 | 67 | |
| 66 | 68 | Можливість відхилити ${bid_index} пропозиції кваліфікації |
| ... | ... |
| ... | ... | @@ -40,10 +40,12 @@ Resource resource.robot |
| 40 | 40 | |
| 41 | 41 | |
| 42 | 42 | Можливість додати документацію до тендера |
| 43 | - ${filepath}= create_fake_doc | |
| 44 | - Run As ${tender_owner} Завантажити документ ${filepath} ${TENDER['TENDER_UAID']} | |
| 45 | - ${documents}= Create Dictionary filepath=${filepath} | |
| 46 | - Set To Dictionary ${USERS.users['${tender_owner}']} documents=${documents} | |
| 43 | + ${file_path} ${file_name} ${file_content}= create_fake_doc | |
| 44 | + Run As ${tender_owner} Завантажити документ ${file_path} ${TENDER['TENDER_UAID']} | |
| 45 | + ${doc_id}= get_id_from_doc_name ${file_name} | |
| 46 | + ${tender_document}= Create Dictionary doc_name=${file_name} doc_id=${doc_id} doc_content=${file_content} | |
| 47 | + Set To Dictionary ${USERS.users['${tender_owner}']} tender_document=${tender_document} | |
| 48 | + Remove File ${file_path} | |
| 47 | 49 | |
| 48 | 50 | |
| 49 | 51 | Можливість додати предмет закупівлі в тендер |
| ... | ... | @@ -59,6 +61,11 @@ Resource resource.robot |
| 59 | 61 | Run As ${tender_owner} Видалити предмет закупівлі ${TENDER['TENDER_UAID']} ${USERS.users['${tender_owner}'].item_data.item_id} |
| 60 | 62 | |
| 61 | 63 | |
| 64 | +Звірити відображення поля ${field} документа ${doc_id} із ${left} для користувача ${username} | |
| 65 | + ${right}= Run As ${username} Отримати інформацію із документа ${TENDER['TENDER_UAID']} ${doc_id} ${field} | |
| 66 | + Порівняти об'єкти ${left} ${right} | |
| 67 | + | |
| 68 | + | |
| 62 | 69 | Звірити відображення поля ${field} тендера для усіх користувачів |
| 63 | 70 | :FOR ${username} IN ${viewer} ${tender_owner} ${provider} ${provider1} |
| 64 | 71 | \ Звірити відображення поля ${field} тендера для користувача ${username} |
| ... | ... | @@ -72,12 +79,10 @@ Resource resource.robot |
| 72 | 79 | Звірити поле тендера ${username} ${TENDER['TENDER_UAID']} ${USERS.users['${tender_owner}'].initial_data} ${field} |
| 73 | 80 | |
| 74 | 81 | |
| 75 | -Звірити відображення вмісту документації до тендера для користувача ${username} | |
| 76 | - ${file_content_loaded} ${file_name_loaded}= Run as ${viewer} Отримати документ ${TENDER['TENDER_UAID']} ${USERS.users['${username}'].tender_data.data.documents[0].url} | |
| 77 | - ${file_name_uploaded}= Set variable ${USERS.users['${tender_owner}'].documents.filepath} | |
| 78 | - ${document_content_uploaded}= get_file_contents ${file_name_uploaded} | |
| 79 | - Порівняти об'єкти ${file_content_loaded} ${document_content_uploaded} | |
| 80 | - Порівняти об'єкти ${file_name_loaded} ${file_name_uploaded} | |
| 82 | +Звірити відображення вмісту документа ${doc_id} з ${left} для користувача ${username} | |
| 83 | + ${file_name}= Run as ${username} Отримати документ ${TENDER['TENDER_UAID']} ${doc_id} | |
| 84 | + ${right}= Get File ${OUTPUT_DIR}${/}${file_name} | |
| 85 | + Порівняти об'єкти ${left} ${right} | |
| 81 | 86 | |
| 82 | 87 | |
| 83 | 88 | Звірити відображення дати ${date} тендера для усіх користувачів |
| ... | ... | @@ -153,16 +158,19 @@ Resource resource.robot |
| 153 | 158 | |
| 154 | 159 | Можливість додати документацію до ${lot_index} лоту |
| 155 | 160 | ${lot_id}= get_id_from_object ${USERS.users['${tender_owner}'].tender_data.data.lots[${lot_index}]} |
| 156 | - ${filepath}= create_fake_doc | |
| 157 | - Run As ${tender_owner} Завантажити документ в лот ${filepath} ${TENDER['TENDER_UAID']} ${lot_id} | |
| 161 | + ${file_path} ${file_name} ${file_content}= create_fake_doc | |
| 162 | + Run As ${tender_owner} Завантажити документ в лот ${file_path} ${TENDER['TENDER_UAID']} ${lot_id} | |
| 163 | + ${doc_id}= get_id_from_doc_name ${file_name} | |
| 164 | + ${data}= Create Dictionary doc_name=${file_name} doc_id=${doc_id} doc_content=${file_content} | |
| 158 | 165 | ${empty_list}= Create List |
| 159 | 166 | ${lots_documents}= Get variable value ${USERS.users['${tender_owner}'].lots_documents} ${empty_list} |
| 160 | - Append to list ${lots_documents} ${filepath} | |
| 167 | + Append to list ${lots_documents} ${data} | |
| 161 | 168 | Set to dictionary ${USERS.users['${tender_owner}']} lots_documents=${lots_documents} |
| 162 | 169 | Log ${USERS.users['${tender_owner}'].lots_documents} |
| 170 | + Remove File ${file_path} | |
| 171 | + | |
| 163 | 172 | |
| 164 | 173 | Можливість додати документацію до всіх лотів |
| 165 | - ${number_of_lots}= Get Length ${USERS.users['${tender_owner}'].initial_data.data.lots} | |
| 166 | 174 | :FOR ${lot_index} IN RANGE ${number_of_lots} |
| 167 | 175 | \ Можливість додати документацію до ${lot_index} лоту |
| 168 | 176 | |
| ... | ... | @@ -177,6 +185,16 @@ Resource resource.robot |
| 177 | 185 | Set To Dictionary ${USERS.users['${tender_owner}']} item_data=${item_data} |
| 178 | 186 | |
| 179 | 187 | |
| 188 | +Звірити відображення заголовку документації до всіх лотів для користувача ${username} | |
| 189 | + :FOR ${lot_index} IN RANGE ${number_of_lots} | |
| 190 | + \ Звірити відображення поля title документа ${USERS.users['${tender_owner}'].lots_documents[${lot_index}].doc_id} із ${USERS.users['${tender_owner}'].lots_documents[${lot_index}].doc_name} для користувача ${username} | |
| 191 | + | |
| 192 | + | |
| 193 | +Звірити відображення вмісту документації до всіх лотів для користувача ${username} | |
| 194 | + :FOR ${lot_index} IN RANGE ${number_of_lots} | |
| 195 | + \ Звірити відображення вмісту документа ${USERS.users['${tender_owner}'].lots_documents[${lot_index}].doc_id} з ${USERS.users['${tender_owner}'].lots_documents[${lot_index}].doc_content} для користувача ${username} | |
| 196 | + | |
| 197 | + | |
| 180 | 198 | Можливість видалити предмет закупівлі з ${lot_index} лоту |
| 181 | 199 | ${lot_id}= get_id_from_object ${USERS.users['${tender_owner}'].tender_data.data.lots[${lot_index}]} |
| 182 | 200 | Run As ${tender_owner} Видалити предмет закупівлі ${TENDER['TENDER_UAID']} ${USERS.users['${tender_owner}'].item_data.item_id} ${lot_id} |
| ... | ... | @@ -226,38 +244,6 @@ Resource resource.robot |
| 226 | 244 | Звірити поле тендера із значенням ${username} ${TENDER['TENDER_UAID']} ${data} ${field} ${lot_id} |
| 227 | 245 | |
| 228 | 246 | |
| 229 | -Звірити відображення заголовку документації до всіх лотів для користувача ${username} | |
| 230 | - ${number_of_lots}= Get Length ${USERS.users['${tender_owner}'].initial_data.data.lots} | |
| 231 | - :FOR ${lot_index} IN RANGE ${number_of_lots} | |
| 232 | - \ ${lot_index}= Convert to integer ${lot_index} | |
| 233 | - \ ${doc_index}= get_document_index_by_id ${USERS.users['${username}'].tender_data.data.documents} ${USERS.users['${tender_owner}'].lots_documents[${lot_index}]} | |
| 234 | - \ Звірити відображення поля documents[${doc_index}].title тендера із ${USERS.users['${tender_owner}'].lots_documents[${lot_index}]} для користувача ${username} | |
| 235 | - | |
| 236 | - | |
| 237 | -Отримати посилання на документацію до всіх лотів для користувача ${username} | |
| 238 | - ${number_of_lots}= Get Length ${USERS.users['${tender_owner}'].initial_data.data.lots} | |
| 239 | - :FOR ${lot_index} IN RANGE ${number_of_lots} | |
| 240 | - \ ${lot_index}= Convert to integer ${lot_index} | |
| 241 | - \ ${doc_index}= get_document_index_by_id ${USERS.users['${username}'].tender_data.data.documents} ${USERS.users['${tender_owner}'].lots_documents[${lot_index}]} | |
| 242 | - \ Отримати дані із тендера ${username} ${TENDER['TENDER_UAID']} documents[${doc_index}].url | |
| 243 | - | |
| 244 | - | |
| 245 | -Звірити відображення вмісту ${doc_index} документа до ${lot_index} лоту для користувача ${username} | |
| 246 | - ${file_content_loaded} ${file_name_loaded}= Run as ${username} Отримати документ ${TENDER['TENDER_UAID']} ${USERS.users['${username}'].tender_data.data.documents[${doc_index}].url} | |
| 247 | - ${doc_title}= Set variable ${USERS.users['${tender_owner}'].lots_documents[${lot_index}]} | |
| 248 | - ${document_content_uploaded}= get_file_contents ${doc_title} | |
| 249 | - Порівняти об'єкти ${file_content_loaded} ${document_content_uploaded} | |
| 250 | - Порівняти об'єкти ${file_name_loaded} ${doc_title} | |
| 251 | - | |
| 252 | - | |
| 253 | -Звірити відображення вмісту документації до всіх лотів для користувача ${username} | |
| 254 | - ${number_of_lots}= Get Length ${USERS.users['${tender_owner}'].initial_data.data.lots} | |
| 255 | - :FOR ${lot_index} IN RANGE ${number_of_lots} | |
| 256 | - \ ${lot_index}= Convert to integer ${lot_index} | |
| 257 | - \ ${doc_index}= get_document_index_by_id ${USERS.users['${username}'].tender_data.data.documents} ${USERS.users['${tender_owner}'].lots_documents[${lot_index}]} | |
| 258 | - \ Звірити відображення вмісту ${doc_index} документа до ${lot_index} лоту для користувача ${username} | |
| 259 | - | |
| 260 | - | |
| 261 | 247 | Звірити відображення поля ${field} у новоствореному лоті для усіх користувачів |
| 262 | 248 | :FOR ${username} IN ${viewer} ${tender_owner} ${provider} ${provider1} |
| 263 | 249 | \ Звірити відображення поля ${field} у новоствореному лоті для користувача ${username} |
| ... | ... | @@ -455,44 +441,50 @@ Resource resource.robot |
| 455 | 441 | |
| 456 | 442 | Можливість створити вимогу про виправлення умов закупівлі із документацією |
| 457 | 443 | ${claim}= Підготувати дані для подання вимоги |
| 458 | - ${document}= create_fake_doc | |
| 444 | + ${file_path} ${file_name} ${file_content}= create_fake_doc | |
| 459 | 445 | ${complaintID}= Run As ${provider} |
| 460 | 446 | ... Створити вимогу про виправлення умов закупівлі |
| 461 | 447 | ... ${TENDER['TENDER_UAID']} |
| 462 | 448 | ... ${claim} |
| 463 | - ... ${document} | |
| 464 | - ${claim_data}= Create Dictionary claim=${claim} complaintID=${complaintID} document=${document} | |
| 449 | + ... ${file_path} | |
| 450 | + ${doc_id}= get_id_from_doc_name ${file_name} | |
| 451 | + ${claim_data}= Create Dictionary claim=${claim} complaintID=${complaintID} doc_name=${file_name} doc_id=${doc_id} doc_content=${file_content} | |
| 465 | 452 | ${claim_data}= munch_dict arg=${claim_data} |
| 466 | 453 | Set To Dictionary ${USERS.users['${provider}']} claim_data ${claim_data} |
| 454 | + Remove File ${file_path} | |
| 467 | 455 | |
| 468 | 456 | |
| 469 | 457 | Можливість створити вимогу про виправлення умов ${lot_index} лоту із документацією |
| 470 | 458 | ${claim}= Підготувати дані для подання вимоги |
| 471 | 459 | ${lot_id}= get_id_from_object ${USERS.users['${provider}'].tender_data.data.lots[${lot_index}]} |
| 472 | - ${document}= create_fake_doc | |
| 460 | + ${file_path} ${file_name} ${file_content}= create_fake_doc | |
| 473 | 461 | ${complaintID}= Run As ${provider} |
| 474 | 462 | ... Створити вимогу про виправлення умов лоту |
| 475 | 463 | ... ${TENDER['TENDER_UAID']} |
| 476 | 464 | ... ${claim} |
| 477 | 465 | ... ${lot_id} |
| 478 | - ... ${document} | |
| 479 | - ${claim_data}= Create Dictionary claim=${claim} complaintID=${complaintID} document=${document} | |
| 466 | + ... ${file_path} | |
| 467 | + ${doc_id}= get_id_from_doc_name ${file_name} | |
| 468 | + ${claim_data}= Create Dictionary claim=${claim} complaintID=${complaintID} doc_name=${file_name} doc_id=${doc_id} doc_content=${file_content} | |
| 480 | 469 | ${claim_data}= munch_dict arg=${claim_data} |
| 481 | 470 | Set To Dictionary ${USERS.users['${provider}']} claim_data ${claim_data} |
| 471 | + Remove File ${file_path} | |
| 482 | 472 | |
| 483 | 473 | |
| 484 | 474 | Можливість створити вимогу про виправлення визначення ${award_index} переможця із документацією |
| 485 | 475 | ${claim}= Підготувати дані для подання вимоги |
| 486 | - ${document}= create_fake_doc | |
| 476 | + ${file_path} ${file_name} ${file_content}= create_fake_doc | |
| 487 | 477 | ${complaintID}= Run As ${provider} |
| 488 | 478 | ... Створити вимогу про виправлення визначення переможця |
| 489 | 479 | ... ${TENDER['TENDER_UAID']} |
| 490 | 480 | ... ${claim} |
| 491 | 481 | ... ${award_index} |
| 492 | - ... ${document} | |
| 493 | - ${claim_data}= Create Dictionary claim=${claim} complaintID=${complaintID} document=${document} | |
| 482 | + ... ${file_path} | |
| 483 | + ${doc_id}= get_id_from_doc_name ${file_name} | |
| 484 | + ${claim_data}= Create Dictionary claim=${claim} complaintID=${complaintID} doc_name=${file_name} doc_id=${doc_id} doc_content=${file_content} | |
| 494 | 485 | ${claim_data}= munch_dict arg=${claim_data} |
| 495 | 486 | Set To Dictionary ${USERS.users['${provider}']} claim_data ${claim_data} |
| 487 | + Remove File ${file_path} | |
| 496 | 488 | |
| 497 | 489 | |
| 498 | 490 | Можливість скасувати вимогу про виправлення умов закупівлі |
| ... | ... | @@ -812,16 +804,18 @@ Resource resource.robot |
| 812 | 804 | |
| 813 | 805 | |
| 814 | 806 | Можливість завантажити документ в пропозицію користувачем ${username} |
| 815 | - ${filepath}= create_fake_doc | |
| 816 | - ${bid_doc_upload}= Run As ${username} Завантажити документ в ставку ${filepath} ${TENDER['TENDER_UAID']} | |
| 807 | + ${file_path} ${file_name} ${file_content}= create_fake_doc | |
| 808 | + ${bid_doc_upload}= Run As ${username} Завантажити документ в ставку ${file_path} ${TENDER['TENDER_UAID']} | |
| 817 | 809 | Set To Dictionary ${USERS.users['${username}'].bidresponses} bid_doc_upload=${bid_doc_upload} |
| 810 | + Remove File ${file_path} | |
| 818 | 811 | |
| 819 | 812 | |
| 820 | 813 | Можливість змінити документацію цінової пропозиції користувачем ${username} |
| 821 | - ${filepath}= create_fake_doc | |
| 814 | + ${file_path} ${file_name} ${file_content}= create_fake_doc | |
| 822 | 815 | ${docid}= Get Variable Value ${USERS.users['${username}'].bidresponses['bid_doc_upload']['upload_response'].data.id} |
| 823 | - ${bid_doc_modified}= Run As ${username} Змінити документ в ставці ${filepath} ${docid} | |
| 816 | + ${bid_doc_modified}= Run As ${username} Змінити документ в ставці ${file_path} ${docid} | |
| 824 | 817 | Set To Dictionary ${USERS.users['${username}'].bidresponses} bid_doc_modified=${bid_doc_modified} |
| 818 | + Remove File ${file_path} | |
| 825 | 819 | |
| 826 | 820 | ############################################################################################## |
| 827 | 821 | # Cancellations |
| ... | ... | @@ -836,13 +830,15 @@ Resource resource.robot |
| 836 | 830 | |
| 837 | 831 | Можливість зареєструвати, додати документацію і підтвердити постачальника до закупівлі |
| 838 | 832 | ${supplier_data}= Підготувати дані про постачальника ${tender_owner} |
| 839 | - ${filepath}= create_fake_doc | |
| 833 | + ${file_path} ${file_name} ${file_content}= create_fake_doc | |
| 840 | 834 | Run as ${tender_owner} |
| 841 | 835 | ... Створити постачальника, додати документацію і підтвердити його |
| 842 | 836 | ... ${TENDER['TENDER_UAID']} |
| 843 | 837 | ... ${supplier_data} |
| 844 | - ... ${filepath} | |
| 845 | - Set to dictionary ${USERS.users['${tender_owner}']} award_document=${filepath} | |
| 838 | + ... ${file_path} | |
| 839 | + ${doc_id}= get_id_from_doc_name ${file_name} | |
| 840 | + Set to dictionary ${USERS.users['${tender_owner}']} award_doc_name=${file_name} award_doc_id=${doc_id} award_doc_content=${file_content} | |
| 841 | + Remove File ${file_path} | |
| 846 | 842 | |
| 847 | 843 | |
| 848 | 844 | Можливість укласти угоду для закупівлі |
| ... | ... |
| ... | ... | @@ -41,12 +41,20 @@ Library openprocurement_client_helper.py |
| 41 | 41 | [return] ${reply} |
| 42 | 42 | |
| 43 | 43 | |
| 44 | +Отримати інформацію із документа | |
| 45 | + [Arguments] ${username} ${tender_uaid} ${doc_id} ${field} | |
| 46 | + ${tender}= openprocurement_client.Пошук тендера по ідентифікатору ${username} ${tender_uaid} | |
| 47 | + ${document}= get_document_by_id ${tender.data} ${doc_id} | |
| 48 | + Log ${document} | |
| 49 | + [Return] ${document['${field}']} | |
| 50 | + | |
| 51 | + | |
| 44 | 52 | Отримати документ |
| 45 | - [Arguments] ${username} ${tender_uaid} ${url} | |
| 53 | + [Arguments] ${username} ${tender_uaid} ${doc_id} | |
| 46 | 54 | ${tender}= openprocurement_client.Пошук тендера по ідентифікатору ${username} ${tender_uaid} |
| 47 | - ${token}= Get Variable Value ${USERS.users['${username}'].access_token} | |
| 48 | - ${contents} ${filename}= Call Method ${USERS.users['${username}'].client} get_file ${tender} ${url} ${token} | |
| 49 | - [return] ${contents} ${filename} | |
| 55 | + ${document}= get_document_by_id ${tender.data} ${doc_id} | |
| 56 | + ${filename}= download_file_from_url ${document.url} ${OUTPUT_DIR}${/}${document.title} | |
| 57 | + [return] ${filename} | |
| 50 | 58 | |
| 51 | 59 | |
| 52 | 60 | Отримати посилання на аукціон для глядача |
| ... | ... | @@ -646,15 +654,13 @@ Library openprocurement_client_helper.py |
| 646 | 654 | [Return] ${field_value} |
| 647 | 655 | |
| 648 | 656 | |
| 649 | -Отримати поле документації до скарги | |
| 650 | - [Arguments] ${username} ${tender_uaid} ${complaintID} ${document_id} ${field_name} ${award_index}=${None} | |
| 651 | - openprocurement_client.Пошук тендера по ідентифікатору ${username} ${tender_uaid} | |
| 652 | - ${complaints}= Get Variable Value ${USERS.users['${username}'].tender_data.data.awards[${award_index}].complaints} ${USERS.users['${username}'].tender_data.data.complaints} | |
| 653 | - ${complaint_index}= get_complaint_index_by_complaintID ${complaints} ${complaintID} | |
| 654 | - Log ${complaints} | |
| 655 | - ${document_index}= get_document_index_by_id ${complaints[${complaint_index}].documents} ${document_id} | |
| 656 | - ${field_value}= Get Variable Value ${complaints[${complaint_index}].documents[${document_index}]['${field_name}']} | |
| 657 | - [Return] ${field_value} | |
| 657 | +Отримати інформацію із документа до скарги | |
| 658 | + [Arguments] ${username} ${tender_uaid} ${complaintID} ${doc_id} ${field_name} ${award_index}=${None} | |
| 659 | + ${tender}= openprocurement_client.Пошук тендера по ідентифікатору ${username} ${tender_uaid} | |
| 660 | + ${complaints}= Get Variable Value ${tender.data.awards[${award_index}].complaints} ${tender.data.complaints} | |
| 661 | + ${document}= get_document_by_id ${tender.data} ${doc_id} | |
| 662 | + Log ${document} | |
| 663 | + [Return] ${document['${field_name}']} | |
| 658 | 664 | |
| 659 | 665 | ############################################################################## |
| 660 | 666 | # Bid operations |
| ... | ... |
| ... | ... | @@ -3,6 +3,8 @@ from openprocurement_client.utils import get_tender_id_by_uaid |
| 3 | 3 | from openprocurement_client.exceptions import IdNotFound |
| 4 | 4 | from restkit.errors import RequestFailed |
| 5 | 5 | from retrying import retry |
| 6 | +import os | |
| 7 | +import urllib | |
| 6 | 8 | |
| 7 | 9 | |
| 8 | 10 | def retry_if_request_failed(exception): |
| ... | ... | @@ -34,3 +36,25 @@ def get_complaint_internal_id(tender, complaintID): |
| 34 | 36 | except AttributeError: |
| 35 | 37 | pass |
| 36 | 38 | raise IdNotFound |
| 39 | + | |
| 40 | + | |
| 41 | +def get_document_by_id(data, doc_id): | |
| 42 | + for document in data.get('documents', []): | |
| 43 | + if doc_id in document.get('title', ''): | |
| 44 | + return document | |
| 45 | + for complaint in data.get('complaints', []): | |
| 46 | + for document in complaint.get('documents', []): | |
| 47 | + if doc_id in document.get('title', ''): | |
| 48 | + return document | |
| 49 | + for award in data.get('awards', []): | |
| 50 | + for document in award.get('documents', []): | |
| 51 | + if doc_id in document.get('title', ''): | |
| 52 | + return document | |
| 53 | + raise Exception('Document with id {} not found'.format(doc_id)) | |
| 54 | + | |
| 55 | + | |
| 56 | +def download_file_from_url(url, path_to_save_file): | |
| 57 | + f = open(path_to_save_file, 'wb') | |
| 58 | + f.write(urllib.urlopen(url).read()) | |
| 59 | + f.close() | |
| 60 | + return os.path.basename(f.name) | |
| ... | ... |
| ... | ... | @@ -6,6 +6,7 @@ from uuid import uuid4 |
| 6 | 6 | from tempfile import NamedTemporaryFile |
| 7 | 7 | from .local_time import get_now |
| 8 | 8 | from op_faker import OP_Provider |
| 9 | +import os | |
| 9 | 10 | import random |
| 10 | 11 | |
| 11 | 12 | |
| ... | ... | @@ -44,7 +45,7 @@ def create_fake_doc(): |
| 44 | 45 | tf = NamedTemporaryFile(delete=False, suffix=suffix, prefix=prefix) |
| 45 | 46 | tf.write(content) |
| 46 | 47 | tf.close() |
| 47 | - return tf.name | |
| 48 | + return tf.name, os.path.basename(tf.name), content | |
| 48 | 49 | |
| 49 | 50 | |
| 50 | 51 | def test_tender_data(params, periods=("enquiry", "tender")): |
| ... | ... |
| ... | ... | @@ -542,17 +542,7 @@ Log differences between dicts |
| 542 | 542 | |
| 543 | 543 | Звірити поле скарги із значенням |
| 544 | 544 | [Arguments] ${username} ${tender_uaid} ${given_value} ${field_name} ${complaintID} ${award_index}=${None} |
| 545 | - ${status}= Call method ${field_name} startswith document. | |
| 546 | - ${fetched_field_name}= Run keyword if ${status} == ${True} Fetch From Right ${field_name} . | |
| 547 | - ${field_name}= Set variable if ${status} == ${True} ${fetched_field_name} ${field_name} | |
| 548 | - ${received_value}= Run keyword if ${status} == ${True} Run as ${username} Отримати поле документації до скарги | |
| 549 | - ... ${tender_uaid} | |
| 550 | - ... ${complaintID} | |
| 551 | - ... ${given_value} | |
| 552 | - ... ${field_name} | |
| 553 | - ... ${award_index} | |
| 554 | - ... ELSE | |
| 555 | - ... Run as ${username} Отримати інформацію із скарги ${tender_uaid} ${complaintID} ${field_name} ${award_index} | |
| 545 | + ${received_value}= Run as ${username} Отримати інформацію із скарги ${tender_uaid} ${complaintID} ${field_name} ${award_index} | |
| 556 | 546 | Порівняти об'єкти ${given_value} ${received_value} |
| 557 | 547 | |
| 558 | 548 | |
| ... | ... |
| ... | ... | @@ -441,7 +441,7 @@ ${item_meat} ${True} |
| 441 | 441 | ... ${USERS.users['${viewer}'].broker} |
| 442 | 442 | ... add_tender_doc level2 |
| 443 | 443 | [Setup] Дочекатись синхронізації з майданчиком ${viewer} |
| 444 | - Звірити відображення поля documents[0].title тендера із ${USERS.users['${tender_owner}']['documents']['filepath']} для користувача ${viewer} | |
| 444 | + Звірити відображення поля title документа ${USERS.users['${tender_owner}']['tender_document']['doc_id']} із ${USERS.users['${tender_owner}'].tender_document.doc_name} для користувача ${viewer} | |
| 445 | 445 | |
| 446 | 446 | |
| 447 | 447 | Відображення заголовку документації до всіх лотів |
| ... | ... | @@ -457,9 +457,7 @@ ${item_meat} ${True} |
| 457 | 457 | ... viewer |
| 458 | 458 | ... ${USERS.users['${viewer}'].broker} |
| 459 | 459 | ... add_tender_doc level2 |
| 460 | - ${doc_index}= get_document_index_by_id ${USERS.users['${viewer}'].tender_data.data.documents} ${USERS.users['${tender_owner}'].documents.filepath} | |
| 461 | - Отримати дані із тендера ${tender_owner} ${TENDER['TENDER_UAID']} documents[${doc_index}].url | |
| 462 | - Звірити відображення вмісту документації до тендера для користувача ${viewer} | |
| 460 | + Звірити відображення вмісту документа ${USERS.users['${tender_owner}'].tender_document.doc_id} з ${USERS.users['${tender_owner}'].tender_document.doc_content} для користувача ${viewer} | |
| 463 | 461 | |
| 464 | 462 | |
| 465 | 463 | Відображення вмісту документації до всіх лотів |
| ... | ... | @@ -467,7 +465,6 @@ ${item_meat} ${True} |
| 467 | 465 | ... viewer |
| 468 | 466 | ... ${USERS.users['${viewer}'].broker} |
| 469 | 467 | ... add_lot_doc level2 |
| 470 | - Отримати посилання на документацію до всіх лотів для користувача ${viewer} | |
| 471 | 468 | Звірити відображення вмісту документації до всіх лотів для користувача ${viewer} |
| 472 | 469 | |
| 473 | 470 | |
| ... | ... | @@ -862,6 +859,7 @@ ${item_meat} ${True} |
| 862 | 859 | [Teardown] Оновити LAST_MODIFICATION_DATE |
| 863 | 860 | Можливість створити вимогу про виправлення умов закупівлі із документацією |
| 864 | 861 | |
| 862 | + | |
| 865 | 863 | Відображення опису вимоги про виправлення умов закупівлі |
| 866 | 864 | [Tags] ${USERS.users['${viewer}'].broker}: Відображення оскарження |
| 867 | 865 | ... viewer |
| ... | ... | @@ -888,12 +886,25 @@ ${item_meat} ${True} |
| 888 | 886 | Звірити відображення поля title вимоги із ${USERS.users['${provider}'].claim_data.claim.data.title} для користувача ${viewer} |
| 889 | 887 | |
| 890 | 888 | |
| 891 | -Відображення заголовку документації вимоги про виправлення умов закупівлі | |
| 889 | +Відображення заголовку документа до вимоги про виправлення умов закупівлі | |
| 890 | + [Tags] ${USERS.users['${viewer}'].broker}: Відображення оскарження | |
| 891 | + ... viewer | |
| 892 | + ... ${USERS.users['${viewer}'].broker} | |
| 893 | + ... create_tender_claim | |
| 894 | + ${right}= Run As ${viewer} Отримати інформацію із документа до скарги | |
| 895 | + ... ${TENDER['TENDER_UAID']} | |
| 896 | + ... ${USERS.users['${provider}'].claim_data.complaintID} | |
| 897 | + ... ${USERS.users['${provider}'].claim_data.doc_id} | |
| 898 | + ... title | |
| 899 | + Порівняти об'єкти ${USERS.users['${provider}'].claim_data.doc_name} ${right} | |
| 900 | + | |
| 901 | + | |
| 902 | +Відображення вмісту документа до вимоги про виправлення умов закупівлі | |
| 892 | 903 | [Tags] ${USERS.users['${viewer}'].broker}: Відображення оскарження |
| 893 | 904 | ... viewer |
| 894 | 905 | ... ${USERS.users['${viewer}'].broker} |
| 895 | 906 | ... create_tender_claim |
| 896 | - Звірити відображення поля document.title вимоги із ${USERS.users['${provider}'].claim_data.document} для користувача ${viewer} | |
| 907 | + Звірити відображення вмісту документа ${USERS['${provider}'].claim_data.doc_id} з ${USERS['${provider}'].claim_data.doc_content} для користувача ${viewer} | |
| 897 | 908 | |
| 898 | 909 | |
| 899 | 910 | Відображення поданого статусу вимоги про виправлення умов закупівлі |
| ... | ... | @@ -1040,6 +1051,7 @@ ${item_meat} ${True} |
| 1040 | 1051 | [Teardown] Оновити LAST_MODIFICATION_DATE |
| 1041 | 1052 | Можливість створити вимогу про виправлення умов 0 лоту із документацією |
| 1042 | 1053 | |
| 1054 | + | |
| 1043 | 1055 | Відображення опису вимоги про виправлення умов лоту |
| 1044 | 1056 | [Tags] ${USERS.users['${viewer}'].broker}: Відображення оскарження |
| 1045 | 1057 | ... viewer |
| ... | ... | @@ -1066,12 +1078,25 @@ ${item_meat} ${True} |
| 1066 | 1078 | Звірити відображення поля title вимоги із ${USERS.users['${provider}'].claim_data.claim.data.title} для користувача ${viewer} |
| 1067 | 1079 | |
| 1068 | 1080 | |
| 1069 | -Відображення заголовку документації вимоги про виправлення умов лоту | |
| 1081 | +Відображення заголовку документа до вимоги про виправлення умов лоту | |
| 1082 | + [Tags] ${USERS.users['${viewer}'].broker}: Відображення оскарження | |
| 1083 | + ... viewer | |
| 1084 | + ... ${USERS.users['${viewer}'].broker} | |
| 1085 | + ... create_lot_claim | |
| 1086 | + ${right}= Run As ${viewer} Отримати інформацію із документа до скарги | |
| 1087 | + ... ${TENDER['TENDER_UAID']} | |
| 1088 | + ... ${USERS.users['${provider}'].claim_data.complaintID} | |
| 1089 | + ... ${USERS.users['${provider}'].claim_data.doc_id} | |
| 1090 | + ... title | |
| 1091 | + Порівняти об'єкти ${USERS.users['${provider}'].claim_data.doc_name} ${right} | |
| 1092 | + | |
| 1093 | + | |
| 1094 | +Відображення вмісту документа до вимоги про виправлення умов лоту | |
| 1070 | 1095 | [Tags] ${USERS.users['${viewer}'].broker}: Відображення оскарження |
| 1071 | 1096 | ... viewer |
| 1072 | 1097 | ... ${USERS.users['${viewer}'].broker} |
| 1073 | 1098 | ... create_lot_claim |
| 1074 | - Звірити відображення поля document.title вимоги із ${USERS.users['${provider}'].claim_data.document} для користувача ${viewer} | |
| 1099 | + Звірити відображення вмісту документа ${USERS['${provider}'].claim_data.doc_id} з ${USERS['${provider}'].claim_data.doc_content} для користувача ${viewer} | |
| 1075 | 1100 | |
| 1076 | 1101 | |
| 1077 | 1102 | Відображення поданого статусу вимоги про виправлення умов лоту |
| ... | ... |
| ... | ... | @@ -23,6 +23,7 @@ ${award_index} ${0} |
| 23 | 23 | :FOR ${username} IN ${viewer} ${tender_owner} |
| 24 | 24 | \ ${resp}= Run As ${username} Пошук тендера по ідентифікатору ${TENDER['TENDER_UAID']} |
| 25 | 25 | |
| 26 | + | |
| 26 | 27 | Можливість створити вимогу про виправлення визначення переможця, додати до неї документацію і подати її користувачем |
| 27 | 28 | [Tags] ${USERS.users['${provider}'].broker}: Процес оскарження |
| 28 | 29 | ... provider |
| ... | ... | @@ -65,7 +66,21 @@ ${award_index} ${0} |
| 65 | 66 | ... viewer |
| 66 | 67 | ... ${USERS.users['${viewer}'].broker} |
| 67 | 68 | ... create_award_claim |
| 68 | - Звірити відображення поля document.title вимоги про виправлення визначення ${award_index} переможця із ${USERS.users['${provider}'].claim_data.document} для користувача ${viewer} | |
| 69 | + ${right}= Run As ${viewer} Отримати інформацію із документа до скарги | |
| 70 | + ... ${TENDER['TENDER_UAID']} | |
| 71 | + ... ${USERS.users['${provider}'].claim_data.complaintID} | |
| 72 | + ... ${USERS.users['${provider}'].claim_data.doc_id} | |
| 73 | + ... title | |
| 74 | + ... ${award_index} | |
| 75 | + Порівняти об'єкти ${USERS.users['${provider}'].claim_data.doc_name} ${right} | |
| 76 | + | |
| 77 | + | |
| 78 | +Відображення вмісту документа до вимоги про виправлення визначення переможця | |
| 79 | + [Tags] ${USERS.users['${viewer}'].broker}: Відображення оскарження | |
| 80 | + ... viewer | |
| 81 | + ... ${USERS.users['${viewer}'].broker} | |
| 82 | + ... create_award_claim | |
| 83 | + Звірити відображення вмісту документа ${USERS['${provider}'].claim_data.doc_id} з ${USERS['${provider}'].claim_data.doc_content} для користувача ${viewer} | |
| 69 | 84 | |
| 70 | 85 | |
| 71 | 86 | Відображення поданого статусу вимоги про виправлення визначення переможця |
| ... | ... | @@ -201,8 +216,9 @@ ${award_index} ${0} |
| 201 | 216 | ... tender_owner |
| 202 | 217 | ... ${USERS.users['${tender_owner}'].broker} |
| 203 | 218 | ... qualification_add_doc_to_first_award level3 |
| 204 | - ${filepath}= create_fake_doc | |
| 205 | - Run As ${tender_owner} Завантажити документ рішення кваліфікаційної комісії ${filepath} ${TENDER['TENDER_UAID']} 0 | |
| 219 | + ${file_path} ${file_name} ${file_content}= create_fake_doc | |
| 220 | + Run As ${tender_owner} Завантажити документ рішення кваліфікаційної комісії ${file_path} ${TENDER['TENDER_UAID']} 0 | |
| 221 | + Remove File ${file_path} | |
| 206 | 222 | |
| 207 | 223 | |
| 208 | 224 | Можливість підтвердити постачальника |
| ... | ... | @@ -226,8 +242,9 @@ ${award_index} ${0} |
| 226 | 242 | ... tender_owner |
| 227 | 243 | ... ${USERS.users['${tender_owner}'].broker} |
| 228 | 244 | ... qualification_add_doc_to_second_award level3 |
| 229 | - ${filepath}= create_fake_doc | |
| 230 | - Run As ${tender_owner} Завантажити документ рішення кваліфікаційної комісії ${filepath} ${TENDER['TENDER_UAID']} 1 | |
| 245 | + ${file_path} ${file_name} ${file_content}= create_fake_doc | |
| 246 | + Run As ${tender_owner} Завантажити документ рішення кваліфікаційної комісії ${file_path} ${TENDER['TENDER_UAID']} 1 | |
| 247 | + Remove File ${file_path} | |
| 231 | 248 | |
| 232 | 249 | |
| 233 | 250 | Можливість підтвердити нового постачальника |
| ... | ... |
| ... | ... | @@ -59,11 +59,6 @@ def add_minutes_to_date(date, minutes): |
| 59 | 59 | return (parse(date) + timedelta(minutes=float(minutes))).isoformat() |
| 60 | 60 | |
| 61 | 61 | |
| 62 | -def get_file_contents(path): | |
| 63 | - with open(path, 'r') as f: | |
| 64 | - return unicode(f.read()) or u'' | |
| 65 | - | |
| 66 | - | |
| 67 | 62 | def compare_date(left, right, accuracy="minute", absolute_delta=True): |
| 68 | 63 | '''Compares dates with specified accuracy |
| 69 | 64 | |
| ... | ... | @@ -413,6 +408,10 @@ def get_id_from_object(obj): |
| 413 | 408 | return obj_id.group(1) |
| 414 | 409 | |
| 415 | 410 | |
| 411 | +def get_id_from_doc_name(name): | |
| 412 | + return re.match(r'd\-[0-9a-fA-F]{8}', name).group(0) | |
| 413 | + | |
| 414 | + | |
| 416 | 415 | def get_object_type_by_id(object_id): |
| 417 | 416 | prefixes = {'q': 'questions', 'f': 'features', 'i': 'items', 'l': 'lots'} |
| 418 | 417 | return prefixes.get(object_id[0]) |
| ... | ... | @@ -441,17 +440,6 @@ def get_complaint_index_by_complaintID(data, complaintID): |
| 441 | 440 | return index |
| 442 | 441 | |
| 443 | 442 | |
| 444 | -def get_document_index_by_id(data, document_id): | |
| 445 | - if not data: | |
| 446 | - return 0 | |
| 447 | - for index, element in enumerate(data): | |
| 448 | - if element['title'] == document_id: | |
| 449 | - break | |
| 450 | - else: | |
| 451 | - index += 1 | |
| 452 | - return index | |
| 453 | - | |
| 454 | - | |
| 455 | 443 | def generate_test_bid_data(tender_data): |
| 456 | 444 | bid = test_bid_data() |
| 457 | 445 | if 'aboveThreshold' in tender_data.get('procurementMethodType', '') or 'competitiveDialogue' in tender_data.get('procurementMethodType', ''): |
| ... | ... |
Please
register
or
login
to post a comment