diff --git a/op_robot_tests/tests_files/aboveThreshold_keywords.robot b/op_robot_tests/tests_files/aboveThreshold_keywords.robot index 20f2bb0f7..e9d5ede33 100644 --- a/op_robot_tests/tests_files/aboveThreshold_keywords.robot +++ b/op_robot_tests/tests_files/aboveThreshold_keywords.robot @@ -50,17 +50,19 @@ Resource base_keywords.robot Можливість завантажити ${doc_type} документ до пропозиції учасником ${username} - ${filepath}= create_fake_doc - ${bid_doc_upload}= Run As ${username} Завантажити документ в ставку ${filepath} ${TENDER['TENDER_UAID']} ${doc_type} + ${file_path} ${file_name} ${file_content}= create_fake_doc + ${bid_doc_upload}= Run As ${username} Завантажити документ в ставку ${file_path} ${TENDER['TENDER_UAID']} ${doc_type} Set To Dictionary ${USERS.users['${username}'].bidresponses} bid_doc_upload=${bid_doc_upload} + Remove File ${file_path} ############################################################################################## # OPENEU Pre-Qualification ############################################################################################## Можливість завантажити документ у кваліфікацію ${bid_index} пропозиції - ${filepath}= create_fake_doc - Run As ${tender_owner} Завантажити документ у кваліфікацію ${filepath} ${TENDER['TENDER_UAID']} ${bid_index} + ${file_path} ${file_name} ${file_content}= create_fake_doc + Run As ${tender_owner} Завантажити документ у кваліфікацію ${file_path} ${TENDER['TENDER_UAID']} ${bid_index} + Remove File ${file_path} Можливість відхилити ${bid_index} пропозиції кваліфікації diff --git a/op_robot_tests/tests_files/base_keywords.robot b/op_robot_tests/tests_files/base_keywords.robot index af4bfb753..11db45c5f 100644 --- a/op_robot_tests/tests_files/base_keywords.robot +++ b/op_robot_tests/tests_files/base_keywords.robot @@ -40,10 +40,12 @@ Resource resource.robot Можливість додати документацію до тендера - ${filepath}= create_fake_doc - Run As ${tender_owner} Завантажити документ ${filepath} ${TENDER['TENDER_UAID']} - ${documents}= Create Dictionary filepath=${filepath} - Set To Dictionary ${USERS.users['${tender_owner}']} documents=${documents} + ${file_path} ${file_name} ${file_content}= create_fake_doc + Run As ${tender_owner} Завантажити документ ${file_path} ${TENDER['TENDER_UAID']} + ${doc_id}= get_id_from_doc_name ${file_name} + ${tender_document}= Create Dictionary doc_name=${file_name} doc_id=${doc_id} doc_content=${file_content} + Set To Dictionary ${USERS.users['${tender_owner}']} tender_document=${tender_document} + Remove File ${file_path} Можливість додати предмет закупівлі в тендер @@ -59,6 +61,11 @@ Resource resource.robot Run As ${tender_owner} Видалити предмет закупівлі ${TENDER['TENDER_UAID']} ${USERS.users['${tender_owner}'].item_data.item_id} +Звірити відображення поля ${field} документа ${doc_id} із ${left} для користувача ${username} + ${right}= Run As ${username} Отримати інформацію із документа ${TENDER['TENDER_UAID']} ${doc_id} ${field} + Порівняти об'єкти ${left} ${right} + + Звірити відображення поля ${field} тендера для усіх користувачів :FOR ${username} IN ${viewer} ${tender_owner} ${provider} ${provider1} \ Звірити відображення поля ${field} тендера для користувача ${username} @@ -72,12 +79,10 @@ Resource resource.robot Звірити поле тендера ${username} ${TENDER['TENDER_UAID']} ${USERS.users['${tender_owner}'].initial_data} ${field} -Звірити відображення вмісту документації до тендера для користувача ${username} - ${file_content_loaded} ${file_name_loaded}= Run as ${viewer} Отримати документ ${TENDER['TENDER_UAID']} ${USERS.users['${username}'].tender_data.data.documents[0].url} - ${file_name_uploaded}= Set variable ${USERS.users['${tender_owner}'].documents.filepath} - ${document_content_uploaded}= get_file_contents ${file_name_uploaded} - Порівняти об'єкти ${file_content_loaded} ${document_content_uploaded} - Порівняти об'єкти ${file_name_loaded} ${file_name_uploaded} +Звірити відображення вмісту документа ${doc_id} з ${left} для користувача ${username} + ${file_name}= Run as ${username} Отримати документ ${TENDER['TENDER_UAID']} ${doc_id} + ${right}= Get File ${OUTPUT_DIR}${/}${file_name} + Порівняти об'єкти ${left} ${right} Звірити відображення дати ${date} тендера для усіх користувачів @@ -153,16 +158,19 @@ Resource resource.robot Можливість додати документацію до ${lot_index} лоту ${lot_id}= get_id_from_object ${USERS.users['${tender_owner}'].tender_data.data.lots[${lot_index}]} - ${filepath}= create_fake_doc - Run As ${tender_owner} Завантажити документ в лот ${filepath} ${TENDER['TENDER_UAID']} ${lot_id} + ${file_path} ${file_name} ${file_content}= create_fake_doc + Run As ${tender_owner} Завантажити документ в лот ${file_path} ${TENDER['TENDER_UAID']} ${lot_id} + ${doc_id}= get_id_from_doc_name ${file_name} + ${data}= Create Dictionary doc_name=${file_name} doc_id=${doc_id} doc_content=${file_content} ${empty_list}= Create List ${lots_documents}= Get variable value ${USERS.users['${tender_owner}'].lots_documents} ${empty_list} - Append to list ${lots_documents} ${filepath} + Append to list ${lots_documents} ${data} Set to dictionary ${USERS.users['${tender_owner}']} lots_documents=${lots_documents} Log ${USERS.users['${tender_owner}'].lots_documents} + Remove File ${file_path} + Можливість додати документацію до всіх лотів - ${number_of_lots}= Get Length ${USERS.users['${tender_owner}'].initial_data.data.lots} :FOR ${lot_index} IN RANGE ${number_of_lots} \ Можливість додати документацію до ${lot_index} лоту @@ -177,6 +185,16 @@ Resource resource.robot Set To Dictionary ${USERS.users['${tender_owner}']} item_data=${item_data} +Звірити відображення заголовку документації до всіх лотів для користувача ${username} + :FOR ${lot_index} IN RANGE ${number_of_lots} + \ Звірити відображення поля title документа ${USERS.users['${tender_owner}'].lots_documents[${lot_index}].doc_id} із ${USERS.users['${tender_owner}'].lots_documents[${lot_index}].doc_name} для користувача ${username} + + +Звірити відображення вмісту документації до всіх лотів для користувача ${username} + :FOR ${lot_index} IN RANGE ${number_of_lots} + \ Звірити відображення вмісту документа ${USERS.users['${tender_owner}'].lots_documents[${lot_index}].doc_id} з ${USERS.users['${tender_owner}'].lots_documents[${lot_index}].doc_content} для користувача ${username} + + Можливість видалити предмет закупівлі з ${lot_index} лоту ${lot_id}= get_id_from_object ${USERS.users['${tender_owner}'].tender_data.data.lots[${lot_index}]} Run As ${tender_owner} Видалити предмет закупівлі ${TENDER['TENDER_UAID']} ${USERS.users['${tender_owner}'].item_data.item_id} ${lot_id} @@ -226,38 +244,6 @@ Resource resource.robot Звірити поле тендера із значенням ${username} ${TENDER['TENDER_UAID']} ${data} ${field} ${lot_id} -Звірити відображення заголовку документації до всіх лотів для користувача ${username} - ${number_of_lots}= Get Length ${USERS.users['${tender_owner}'].initial_data.data.lots} - :FOR ${lot_index} IN RANGE ${number_of_lots} - \ ${lot_index}= Convert to integer ${lot_index} - \ ${doc_index}= get_document_index_by_id ${USERS.users['${username}'].tender_data.data.documents} ${USERS.users['${tender_owner}'].lots_documents[${lot_index}]} - \ Звірити відображення поля documents[${doc_index}].title тендера із ${USERS.users['${tender_owner}'].lots_documents[${lot_index}]} для користувача ${username} - - -Отримати посилання на документацію до всіх лотів для користувача ${username} - ${number_of_lots}= Get Length ${USERS.users['${tender_owner}'].initial_data.data.lots} - :FOR ${lot_index} IN RANGE ${number_of_lots} - \ ${lot_index}= Convert to integer ${lot_index} - \ ${doc_index}= get_document_index_by_id ${USERS.users['${username}'].tender_data.data.documents} ${USERS.users['${tender_owner}'].lots_documents[${lot_index}]} - \ Отримати дані із тендера ${username} ${TENDER['TENDER_UAID']} documents[${doc_index}].url - - -Звірити відображення вмісту ${doc_index} документа до ${lot_index} лоту для користувача ${username} - ${file_content_loaded} ${file_name_loaded}= Run as ${username} Отримати документ ${TENDER['TENDER_UAID']} ${USERS.users['${username}'].tender_data.data.documents[${doc_index}].url} - ${doc_title}= Set variable ${USERS.users['${tender_owner}'].lots_documents[${lot_index}]} - ${document_content_uploaded}= get_file_contents ${doc_title} - Порівняти об'єкти ${file_content_loaded} ${document_content_uploaded} - Порівняти об'єкти ${file_name_loaded} ${doc_title} - - -Звірити відображення вмісту документації до всіх лотів для користувача ${username} - ${number_of_lots}= Get Length ${USERS.users['${tender_owner}'].initial_data.data.lots} - :FOR ${lot_index} IN RANGE ${number_of_lots} - \ ${lot_index}= Convert to integer ${lot_index} - \ ${doc_index}= get_document_index_by_id ${USERS.users['${username}'].tender_data.data.documents} ${USERS.users['${tender_owner}'].lots_documents[${lot_index}]} - \ Звірити відображення вмісту ${doc_index} документа до ${lot_index} лоту для користувача ${username} - - Звірити відображення поля ${field} у новоствореному лоті для усіх користувачів :FOR ${username} IN ${viewer} ${tender_owner} ${provider} ${provider1} \ Звірити відображення поля ${field} у новоствореному лоті для користувача ${username} @@ -455,44 +441,50 @@ Resource resource.robot Можливість створити вимогу про виправлення умов закупівлі із документацією ${claim}= Підготувати дані для подання вимоги - ${document}= create_fake_doc + ${file_path} ${file_name} ${file_content}= create_fake_doc ${complaintID}= Run As ${provider} ... Створити вимогу про виправлення умов закупівлі ... ${TENDER['TENDER_UAID']} ... ${claim} - ... ${document} - ${claim_data}= Create Dictionary claim=${claim} complaintID=${complaintID} document=${document} + ... ${file_path} + ${doc_id}= get_id_from_doc_name ${file_name} + ${claim_data}= Create Dictionary claim=${claim} complaintID=${complaintID} doc_name=${file_name} doc_id=${doc_id} doc_content=${file_content} ${claim_data}= munch_dict arg=${claim_data} Set To Dictionary ${USERS.users['${provider}']} claim_data ${claim_data} + Remove File ${file_path} Можливість створити вимогу про виправлення умов ${lot_index} лоту із документацією ${claim}= Підготувати дані для подання вимоги ${lot_id}= get_id_from_object ${USERS.users['${provider}'].tender_data.data.lots[${lot_index}]} - ${document}= create_fake_doc + ${file_path} ${file_name} ${file_content}= create_fake_doc ${complaintID}= Run As ${provider} ... Створити вимогу про виправлення умов лоту ... ${TENDER['TENDER_UAID']} ... ${claim} ... ${lot_id} - ... ${document} - ${claim_data}= Create Dictionary claim=${claim} complaintID=${complaintID} document=${document} + ... ${file_path} + ${doc_id}= get_id_from_doc_name ${file_name} + ${claim_data}= Create Dictionary claim=${claim} complaintID=${complaintID} doc_name=${file_name} doc_id=${doc_id} doc_content=${file_content} ${claim_data}= munch_dict arg=${claim_data} Set To Dictionary ${USERS.users['${provider}']} claim_data ${claim_data} + Remove File ${file_path} Можливість створити вимогу про виправлення визначення ${award_index} переможця із документацією ${claim}= Підготувати дані для подання вимоги - ${document}= create_fake_doc + ${file_path} ${file_name} ${file_content}= create_fake_doc ${complaintID}= Run As ${provider} ... Створити вимогу про виправлення визначення переможця ... ${TENDER['TENDER_UAID']} ... ${claim} ... ${award_index} - ... ${document} - ${claim_data}= Create Dictionary claim=${claim} complaintID=${complaintID} document=${document} + ... ${file_path} + ${doc_id}= get_id_from_doc_name ${file_name} + ${claim_data}= Create Dictionary claim=${claim} complaintID=${complaintID} doc_name=${file_name} doc_id=${doc_id} doc_content=${file_content} ${claim_data}= munch_dict arg=${claim_data} Set To Dictionary ${USERS.users['${provider}']} claim_data ${claim_data} + Remove File ${file_path} Можливість скасувати вимогу про виправлення умов закупівлі @@ -812,16 +804,18 @@ Resource resource.robot Можливість завантажити документ в пропозицію користувачем ${username} - ${filepath}= create_fake_doc - ${bid_doc_upload}= Run As ${username} Завантажити документ в ставку ${filepath} ${TENDER['TENDER_UAID']} + ${file_path} ${file_name} ${file_content}= create_fake_doc + ${bid_doc_upload}= Run As ${username} Завантажити документ в ставку ${file_path} ${TENDER['TENDER_UAID']} Set To Dictionary ${USERS.users['${username}'].bidresponses} bid_doc_upload=${bid_doc_upload} + Remove File ${file_path} Можливість змінити документацію цінової пропозиції користувачем ${username} - ${filepath}= create_fake_doc + ${file_path} ${file_name} ${file_content}= create_fake_doc ${docid}= Get Variable Value ${USERS.users['${username}'].bidresponses['bid_doc_upload']['upload_response'].data.id} - ${bid_doc_modified}= Run As ${username} Змінити документ в ставці ${filepath} ${docid} + ${bid_doc_modified}= Run As ${username} Змінити документ в ставці ${file_path} ${docid} Set To Dictionary ${USERS.users['${username}'].bidresponses} bid_doc_modified=${bid_doc_modified} + Remove File ${file_path} ############################################################################################## # Cancellations @@ -836,13 +830,15 @@ Resource resource.robot Можливість зареєструвати, додати документацію і підтвердити постачальника до закупівлі ${supplier_data}= Підготувати дані про постачальника ${tender_owner} - ${filepath}= create_fake_doc + ${file_path} ${file_name} ${file_content}= create_fake_doc Run as ${tender_owner} ... Створити постачальника, додати документацію і підтвердити його ... ${TENDER['TENDER_UAID']} ... ${supplier_data} - ... ${filepath} - Set to dictionary ${USERS.users['${tender_owner}']} award_document=${filepath} + ... ${file_path} + ${doc_id}= get_id_from_doc_name ${file_name} + Set to dictionary ${USERS.users['${tender_owner}']} award_doc_name=${file_name} award_doc_id=${doc_id} award_doc_content=${file_content} + Remove File ${file_path} Можливість укласти угоду для закупівлі diff --git a/op_robot_tests/tests_files/brokers/openprocurement_client.robot b/op_robot_tests/tests_files/brokers/openprocurement_client.robot index 35fb95b5a..b39946877 100644 --- a/op_robot_tests/tests_files/brokers/openprocurement_client.robot +++ b/op_robot_tests/tests_files/brokers/openprocurement_client.robot @@ -41,12 +41,20 @@ Library openprocurement_client_helper.py [return] ${reply} +Отримати інформацію із документа + [Arguments] ${username} ${tender_uaid} ${doc_id} ${field} + ${tender}= openprocurement_client.Пошук тендера по ідентифікатору ${username} ${tender_uaid} + ${document}= get_document_by_id ${tender.data} ${doc_id} + Log ${document} + [Return] ${document['${field}']} + + Отримати документ - [Arguments] ${username} ${tender_uaid} ${url} + [Arguments] ${username} ${tender_uaid} ${doc_id} ${tender}= openprocurement_client.Пошук тендера по ідентифікатору ${username} ${tender_uaid} - ${token}= Get Variable Value ${USERS.users['${username}'].access_token} - ${contents} ${filename}= Call Method ${USERS.users['${username}'].client} get_file ${tender} ${url} ${token} - [return] ${contents} ${filename} + ${document}= get_document_by_id ${tender.data} ${doc_id} + ${filename}= download_file_from_url ${document.url} ${OUTPUT_DIR}${/}${document.title} + [return] ${filename} Отримати посилання на аукціон для глядача @@ -646,15 +654,13 @@ Library openprocurement_client_helper.py [Return] ${field_value} -Отримати поле документації до скарги - [Arguments] ${username} ${tender_uaid} ${complaintID} ${document_id} ${field_name} ${award_index}=${None} - openprocurement_client.Пошук тендера по ідентифікатору ${username} ${tender_uaid} - ${complaints}= Get Variable Value ${USERS.users['${username}'].tender_data.data.awards[${award_index}].complaints} ${USERS.users['${username}'].tender_data.data.complaints} - ${complaint_index}= get_complaint_index_by_complaintID ${complaints} ${complaintID} - Log ${complaints} - ${document_index}= get_document_index_by_id ${complaints[${complaint_index}].documents} ${document_id} - ${field_value}= Get Variable Value ${complaints[${complaint_index}].documents[${document_index}]['${field_name}']} - [Return] ${field_value} +Отримати інформацію із документа до скарги + [Arguments] ${username} ${tender_uaid} ${complaintID} ${doc_id} ${field_name} ${award_index}=${None} + ${tender}= openprocurement_client.Пошук тендера по ідентифікатору ${username} ${tender_uaid} + ${complaints}= Get Variable Value ${tender.data.awards[${award_index}].complaints} ${tender.data.complaints} + ${document}= get_document_by_id ${tender.data} ${doc_id} + Log ${document} + [Return] ${document['${field_name}']} ############################################################################## # Bid operations diff --git a/op_robot_tests/tests_files/brokers/openprocurement_client_helper.py b/op_robot_tests/tests_files/brokers/openprocurement_client_helper.py index c9f8e568a..d694897ef 100644 --- a/op_robot_tests/tests_files/brokers/openprocurement_client_helper.py +++ b/op_robot_tests/tests_files/brokers/openprocurement_client_helper.py @@ -3,6 +3,8 @@ from openprocurement_client.exceptions import IdNotFound from restkit.errors import RequestFailed from retrying import retry +import os +import urllib def retry_if_request_failed(exception): @@ -34,3 +36,25 @@ def get_complaint_internal_id(tender, complaintID): except AttributeError: pass raise IdNotFound + + +def get_document_by_id(data, doc_id): + for document in data.get('documents', []): + if doc_id in document.get('title', ''): + return document + for complaint in data.get('complaints', []): + for document in complaint.get('documents', []): + if doc_id in document.get('title', ''): + return document + for award in data.get('awards', []): + for document in award.get('documents', []): + if doc_id in document.get('title', ''): + return document + raise Exception('Document with id {} not found'.format(doc_id)) + + +def download_file_from_url(url, path_to_save_file): + f = open(path_to_save_file, 'wb') + f.write(urllib.urlopen(url).read()) + f.close() + return os.path.basename(f.name) diff --git a/op_robot_tests/tests_files/initial_data.py b/op_robot_tests/tests_files/initial_data.py index 789f2b197..61061843d 100644 --- a/op_robot_tests/tests_files/initial_data.py +++ b/op_robot_tests/tests_files/initial_data.py @@ -6,6 +6,7 @@ from tempfile import NamedTemporaryFile from .local_time import get_now from op_faker import OP_Provider +import os import random @@ -44,7 +45,7 @@ def create_fake_doc(): tf = NamedTemporaryFile(delete=False, suffix=suffix, prefix=prefix) tf.write(content) tf.close() - return tf.name + return tf.name, os.path.basename(tf.name), content def test_tender_data(params, periods=("enquiry", "tender")): diff --git a/op_robot_tests/tests_files/keywords.robot b/op_robot_tests/tests_files/keywords.robot index f4b18e360..bfaf43126 100644 --- a/op_robot_tests/tests_files/keywords.robot +++ b/op_robot_tests/tests_files/keywords.robot @@ -542,17 +542,7 @@ Log differences between dicts Звірити поле скарги із значенням [Arguments] ${username} ${tender_uaid} ${given_value} ${field_name} ${complaintID} ${award_index}=${None} - ${status}= Call method ${field_name} startswith document. - ${fetched_field_name}= Run keyword if ${status} == ${True} Fetch From Right ${field_name} . - ${field_name}= Set variable if ${status} == ${True} ${fetched_field_name} ${field_name} - ${received_value}= Run keyword if ${status} == ${True} Run as ${username} Отримати поле документації до скарги - ... ${tender_uaid} - ... ${complaintID} - ... ${given_value} - ... ${field_name} - ... ${award_index} - ... ELSE - ... Run as ${username} Отримати інформацію із скарги ${tender_uaid} ${complaintID} ${field_name} ${award_index} + ${received_value}= Run as ${username} Отримати інформацію із скарги ${tender_uaid} ${complaintID} ${field_name} ${award_index} Порівняти об'єкти ${given_value} ${received_value} diff --git a/op_robot_tests/tests_files/openProcedure.robot b/op_robot_tests/tests_files/openProcedure.robot index 4b36a44ab..53a0d0316 100644 --- a/op_robot_tests/tests_files/openProcedure.robot +++ b/op_robot_tests/tests_files/openProcedure.robot @@ -441,7 +441,7 @@ ${item_meat} ${True} ... ${USERS.users['${viewer}'].broker} ... add_tender_doc level2 [Setup] Дочекатись синхронізації з майданчиком ${viewer} - Звірити відображення поля documents[0].title тендера із ${USERS.users['${tender_owner}']['documents']['filepath']} для користувача ${viewer} + Звірити відображення поля title документа ${USERS.users['${tender_owner}']['tender_document']['doc_id']} із ${USERS.users['${tender_owner}'].tender_document.doc_name} для користувача ${viewer} Відображення заголовку документації до всіх лотів @@ -457,9 +457,7 @@ ${item_meat} ${True} ... viewer ... ${USERS.users['${viewer}'].broker} ... add_tender_doc level2 - ${doc_index}= get_document_index_by_id ${USERS.users['${viewer}'].tender_data.data.documents} ${USERS.users['${tender_owner}'].documents.filepath} - Отримати дані із тендера ${tender_owner} ${TENDER['TENDER_UAID']} documents[${doc_index}].url - Звірити відображення вмісту документації до тендера для користувача ${viewer} + Звірити відображення вмісту документа ${USERS.users['${tender_owner}'].tender_document.doc_id} з ${USERS.users['${tender_owner}'].tender_document.doc_content} для користувача ${viewer} Відображення вмісту документації до всіх лотів @@ -467,7 +465,6 @@ ${item_meat} ${True} ... viewer ... ${USERS.users['${viewer}'].broker} ... add_lot_doc level2 - Отримати посилання на документацію до всіх лотів для користувача ${viewer} Звірити відображення вмісту документації до всіх лотів для користувача ${viewer} @@ -862,6 +859,7 @@ ${item_meat} ${True} [Teardown] Оновити LAST_MODIFICATION_DATE Можливість створити вимогу про виправлення умов закупівлі із документацією + Відображення опису вимоги про виправлення умов закупівлі [Tags] ${USERS.users['${viewer}'].broker}: Відображення оскарження ... viewer @@ -888,12 +886,25 @@ ${item_meat} ${True} Звірити відображення поля title вимоги із ${USERS.users['${provider}'].claim_data.claim.data.title} для користувача ${viewer} -Відображення заголовку документації вимоги про виправлення умов закупівлі +Відображення заголовку документа до вимоги про виправлення умов закупівлі + [Tags] ${USERS.users['${viewer}'].broker}: Відображення оскарження + ... viewer + ... ${USERS.users['${viewer}'].broker} + ... create_tender_claim + ${right}= Run As ${viewer} Отримати інформацію із документа до скарги + ... ${TENDER['TENDER_UAID']} + ... ${USERS.users['${provider}'].claim_data.complaintID} + ... ${USERS.users['${provider}'].claim_data.doc_id} + ... title + Порівняти об'єкти ${USERS.users['${provider}'].claim_data.doc_name} ${right} + + +Відображення вмісту документа до вимоги про виправлення умов закупівлі [Tags] ${USERS.users['${viewer}'].broker}: Відображення оскарження ... viewer ... ${USERS.users['${viewer}'].broker} ... create_tender_claim - Звірити відображення поля document.title вимоги із ${USERS.users['${provider}'].claim_data.document} для користувача ${viewer} + Звірити відображення вмісту документа ${USERS['${provider}'].claim_data.doc_id} з ${USERS['${provider}'].claim_data.doc_content} для користувача ${viewer} Відображення поданого статусу вимоги про виправлення умов закупівлі @@ -1040,6 +1051,7 @@ ${item_meat} ${True} [Teardown] Оновити LAST_MODIFICATION_DATE Можливість створити вимогу про виправлення умов 0 лоту із документацією + Відображення опису вимоги про виправлення умов лоту [Tags] ${USERS.users['${viewer}'].broker}: Відображення оскарження ... viewer @@ -1066,12 +1078,25 @@ ${item_meat} ${True} Звірити відображення поля title вимоги із ${USERS.users['${provider}'].claim_data.claim.data.title} для користувача ${viewer} -Відображення заголовку документації вимоги про виправлення умов лоту +Відображення заголовку документа до вимоги про виправлення умов лоту + [Tags] ${USERS.users['${viewer}'].broker}: Відображення оскарження + ... viewer + ... ${USERS.users['${viewer}'].broker} + ... create_lot_claim + ${right}= Run As ${viewer} Отримати інформацію із документа до скарги + ... ${TENDER['TENDER_UAID']} + ... ${USERS.users['${provider}'].claim_data.complaintID} + ... ${USERS.users['${provider}'].claim_data.doc_id} + ... title + Порівняти об'єкти ${USERS.users['${provider}'].claim_data.doc_name} ${right} + + +Відображення вмісту документа до вимоги про виправлення умов лоту [Tags] ${USERS.users['${viewer}'].broker}: Відображення оскарження ... viewer ... ${USERS.users['${viewer}'].broker} ... create_lot_claim - Звірити відображення поля document.title вимоги із ${USERS.users['${provider}'].claim_data.document} для користувача ${viewer} + Звірити відображення вмісту документа ${USERS['${provider}'].claim_data.doc_id} з ${USERS['${provider}'].claim_data.doc_content} для користувача ${viewer} Відображення поданого статусу вимоги про виправлення умов лоту diff --git a/op_robot_tests/tests_files/qualification.robot b/op_robot_tests/tests_files/qualification.robot index 6476ae37d..1bbf83f57 100644 --- a/op_robot_tests/tests_files/qualification.robot +++ b/op_robot_tests/tests_files/qualification.robot @@ -23,6 +23,7 @@ ${award_index} ${0} :FOR ${username} IN ${viewer} ${tender_owner} \ ${resp}= Run As ${username} Пошук тендера по ідентифікатору ${TENDER['TENDER_UAID']} + Можливість створити вимогу про виправлення визначення переможця, додати до неї документацію і подати її користувачем [Tags] ${USERS.users['${provider}'].broker}: Процес оскарження ... provider @@ -65,7 +66,21 @@ ${award_index} ${0} ... viewer ... ${USERS.users['${viewer}'].broker} ... create_award_claim - Звірити відображення поля document.title вимоги про виправлення визначення ${award_index} переможця із ${USERS.users['${provider}'].claim_data.document} для користувача ${viewer} + ${right}= Run As ${viewer} Отримати інформацію із документа до скарги + ... ${TENDER['TENDER_UAID']} + ... ${USERS.users['${provider}'].claim_data.complaintID} + ... ${USERS.users['${provider}'].claim_data.doc_id} + ... title + ... ${award_index} + Порівняти об'єкти ${USERS.users['${provider}'].claim_data.doc_name} ${right} + + +Відображення вмісту документа до вимоги про виправлення визначення переможця + [Tags] ${USERS.users['${viewer}'].broker}: Відображення оскарження + ... viewer + ... ${USERS.users['${viewer}'].broker} + ... create_award_claim + Звірити відображення вмісту документа ${USERS['${provider}'].claim_data.doc_id} з ${USERS['${provider}'].claim_data.doc_content} для користувача ${viewer} Відображення поданого статусу вимоги про виправлення визначення переможця @@ -201,8 +216,9 @@ ${award_index} ${0} ... tender_owner ... ${USERS.users['${tender_owner}'].broker} ... qualification_add_doc_to_first_award level3 - ${filepath}= create_fake_doc - Run As ${tender_owner} Завантажити документ рішення кваліфікаційної комісії ${filepath} ${TENDER['TENDER_UAID']} 0 + ${file_path} ${file_name} ${file_content}= create_fake_doc + Run As ${tender_owner} Завантажити документ рішення кваліфікаційної комісії ${file_path} ${TENDER['TENDER_UAID']} 0 + Remove File ${file_path} Можливість підтвердити постачальника @@ -226,8 +242,9 @@ ${award_index} ${0} ... tender_owner ... ${USERS.users['${tender_owner}'].broker} ... qualification_add_doc_to_second_award level3 - ${filepath}= create_fake_doc - Run As ${tender_owner} Завантажити документ рішення кваліфікаційної комісії ${filepath} ${TENDER['TENDER_UAID']} 1 + ${file_path} ${file_name} ${file_content}= create_fake_doc + Run As ${tender_owner} Завантажити документ рішення кваліфікаційної комісії ${file_path} ${TENDER['TENDER_UAID']} 1 + Remove File ${file_path} Можливість підтвердити нового постачальника diff --git a/op_robot_tests/tests_files/service_keywords.py b/op_robot_tests/tests_files/service_keywords.py index fdc331b71..8936a0dfe 100644 --- a/op_robot_tests/tests_files/service_keywords.py +++ b/op_robot_tests/tests_files/service_keywords.py @@ -59,11 +59,6 @@ def add_minutes_to_date(date, minutes): return (parse(date) + timedelta(minutes=float(minutes))).isoformat() -def get_file_contents(path): - with open(path, 'r') as f: - return unicode(f.read()) or u'' - - def compare_date(left, right, accuracy="minute", absolute_delta=True): '''Compares dates with specified accuracy @@ -413,6 +408,10 @@ def get_id_from_object(obj): return obj_id.group(1) +def get_id_from_doc_name(name): + return re.match(r'd\-[0-9a-fA-F]{8}', name).group(0) + + def get_object_type_by_id(object_id): prefixes = {'q': 'questions', 'f': 'features', 'i': 'items', 'l': 'lots'} return prefixes.get(object_id[0]) @@ -441,17 +440,6 @@ def get_complaint_index_by_complaintID(data, complaintID): return index -def get_document_index_by_id(data, document_id): - if not data: - return 0 - for index, element in enumerate(data): - if element['title'] == document_id: - break - else: - index += 1 - return index - - def generate_test_bid_data(tender_data): bid = test_bid_data() if 'aboveThreshold' in tender_data.get('procurementMethodType', '') or 'competitiveDialogue' in tender_data.get('procurementMethodType', ''):