From 44113f3a51966ec60a424d2b63c14767ab7e7e31 Mon Sep 17 00:00:00 2001 From: OrysiaDrabych Date: Thu, 5 Apr 2018 15:11:34 +0300 Subject: [PATCH 1/6] Add prolongation tags to scenario --- robot_tests_arguments/dgf_financial_second_award_complete.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/robot_tests_arguments/dgf_financial_second_award_complete.txt b/robot_tests_arguments/dgf_financial_second_award_complete.txt index c8509cb4a..0bba67f18 100644 --- a/robot_tests_arguments/dgf_financial_second_award_complete.txt +++ b/robot_tests_arguments/dgf_financial_second_award_complete.txt @@ -31,6 +31,8 @@ -i confirm_second_award -i second_award_active_status +-i prolongation +-i prolongation_view -i datePaid -i contract_sign -i contract_sign_upload From a4d39ada655b55d0c37427cd9ecd675437d6262e Mon Sep 17 00:00:00 2001 From: OrysiaDrabych Date: Thu, 5 Apr 2018 15:12:28 +0300 Subject: [PATCH 2/6] Edit formatting --- .../tests_files/contract_signing.robot | 24 +++++++++---------- op_robot_tests/tests_files/data/brokers.yaml | 4 ++-- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/op_robot_tests/tests_files/contract_signing.robot b/op_robot_tests/tests_files/contract_signing.robot index 57d6f7444..74031bc80 100644 --- a/op_robot_tests/tests_files/contract_signing.robot +++ b/op_robot_tests/tests_files/contract_signing.robot @@ -44,9 +44,9 @@ Suite Teardown Test Suite Teardown Можливість завантажити угоду до лоту [Tags] ${USERS.users['${tender_owner}'].broker}: Завантаження документів щодо угоди - ... tender_owner - ... ${USERS.users['${tender_owner}'].broker} - ... contract_sign_upload + ... tender_owner + ... ${USERS.users['${tender_owner}'].broker} + ... contract_sign_upload [Teardown] Оновити LMD і дочекатись синхронізації ${tender_owner} ${file_path} ${file_title} ${file_content}= create_fake_doc Run As ${tender_owner} Завантажити угоду до тендера ${TENDER['TENDER_UAID']} -1 ${file_path} @@ -55,18 +55,18 @@ Suite Teardown Test Suite Teardown Можливість укласти угоду для лоту [Tags] ${USERS.users['${tender_owner}'].broker}: Процес укладання угоди - ... tender_owner - ... ${USERS.users['${tender_owner}'].broker} - ... contract_sign level1 + ... tender_owner + ... ${USERS.users['${tender_owner}'].broker} + ... contract_sign level1 [Teardown] Оновити LAST_MODIFICATION_DATE Run As ${tender_owner} Підтвердити підписання контракту ${TENDER['TENDER_UAID']} -1 Відображення статусу підписаної угоди [Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних угоди - ... viewer - ... ${USERS.users['${viewer}'].broker} - ... contract_sign_view + ... viewer + ... ${USERS.users['${viewer}'].broker} + ... contract_sign_view [Setup] Дочекатись синхронізації з майданчиком ${viewer} Run As ${viewer} Оновити сторінку з тендером ${TENDER['TENDER_UAID']} Звірити поле тендера із значенням ${viewer} ${TENDER['TENDER_UAID']} active contracts[-1].status @@ -74,7 +74,7 @@ Suite Teardown Test Suite Teardown Відображення статусу завершення лоту [Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних лоту - ... viewer - ... ${USERS.users['${viewer}'].broker} - ... tender_view + ... viewer + ... ${USERS.users['${viewer}'].broker} + ... tender_view Звірити статус завершення тендера ${viewer} ${TENDER['TENDER_UAID']} diff --git a/op_robot_tests/tests_files/data/brokers.yaml b/op_robot_tests/tests_files/data/brokers.yaml index c16f92389..4bb4e5fb1 100644 --- a/op_robot_tests/tests_files/data/brokers.yaml +++ b/op_robot_tests/tests_files/data/brokers.yaml @@ -30,8 +30,8 @@ Default: # Please refer to API documentation to find out what's this accelerator: 1440 dgfFinancialAssets: - accelerator: 1440 - auction: [25, 30] + accelerator: 1440 + auction: [25, 30] dgfOtherAssets: accelerator: 1440 auction: [25, 30] From b6f112c12bdd2722272fd7bae7cd686db90a0967 Mon Sep 17 00:00:00 2001 From: OrysiaDrabych Date: Thu, 5 Apr 2018 15:14:07 +0300 Subject: [PATCH 3/6] Generate test prolongation data --- op_robot_tests/tests_files/initial_data.py | 14 ++++++++++++++ op_robot_tests/tests_files/keywords.robot | 8 ++++++++ op_robot_tests/tests_files/service_keywords.py | 1 + 3 files changed, 23 insertions(+) diff --git a/op_robot_tests/tests_files/initial_data.py b/op_robot_tests/tests_files/initial_data.py index 5e56ec968..ae86d20ba 100644 --- a/op_robot_tests/tests_files/initial_data.py +++ b/op_robot_tests/tests_files/initial_data.py @@ -301,6 +301,20 @@ def test_item_data_financial(cav): return munchify(data) +def test_prolongation_data(): + return munchify( + { + "data": + { + "description": fake.description(), + "decisionID": fake.dgfDecisionID(), + "datePublished": create_fake_date(), + "reason": random.choice(["dgfPaymentImpossibility", "dgfLackOfDocuments", "dgfLegalObstacles", "other"]), + "status": "draft" + } + }) + + def test_tender_data_dgf_other(params, submissionMethodDetails): data = test_tender_data(params, [], submissionMethodDetails) diff --git a/op_robot_tests/tests_files/keywords.robot b/op_robot_tests/tests_files/keywords.robot index 5ebf082a0..e00fc63f6 100644 --- a/op_robot_tests/tests_files/keywords.robot +++ b/op_robot_tests/tests_files/keywords.robot @@ -255,6 +255,14 @@ Get Broker Property By Username [Return] ${cancellation_data} +Підготувати дані для пролонгації + [Arguments] ${username} + ${prolongation_data}= test_prolongation_data + Set To Dictionary ${USERS.users['${username}']} prolongation_data=${prolongation_data} + Log ${prolongation_data} + [Return] ${prolongation_data} + + Адаптувати дані для оголошення тендера [Arguments] ${tender_data} # munchify is used to make deep copy of ${tender_data} diff --git a/op_robot_tests/tests_files/service_keywords.py b/op_robot_tests/tests_files/service_keywords.py index ac12d1774..34b9e81ce 100644 --- a/op_robot_tests/tests_files/service_keywords.py +++ b/op_robot_tests/tests_files/service_keywords.py @@ -43,6 +43,7 @@ test_tender_data_dgf_financial, test_tender_data_dgf_other, test_tender_data_dgf_insider, + test_prolongation_data, create_fake_dgfID, create_fake_dgfDecisionID, create_fake_tenderAttempts, From 1fa6b278c4caa2da881b2c8a59f16399d34a3ed3 Mon Sep 17 00:00:00 2001 From: OrysiaDrabych Date: Thu, 5 Apr 2018 15:19:26 +0300 Subject: [PATCH 4/6] Apply prolongation of contract signing period --- .../brokers/openprocurement_client.robot | 14 ++++++++++++ .../tests_files/contract_signing.robot | 22 +++++++++++++++++++ 2 files changed, 36 insertions(+) diff --git a/op_robot_tests/tests_files/brokers/openprocurement_client.robot b/op_robot_tests/tests_files/brokers/openprocurement_client.robot index 74e091597..5b25aa4c5 100644 --- a/op_robot_tests/tests_files/brokers/openprocurement_client.robot +++ b/op_robot_tests/tests_files/brokers/openprocurement_client.robot @@ -634,6 +634,20 @@ Library openprocurement_client.utils Log ${reply} +Підтвердити пролонгацію + [Arguments] ${username} ${tender_uaid} ${contract_index} + ${tender}= openprocurement_client.Пошук тендера по ідентифікатору ${username} ${tender_uaid} + ${contract_id}= Get Variable Value ${tender.data.contracts[${contract_index}].id} + ${data}= Create Dictionary status=applied + ${data}= Create Dictionary data=${data} + ${prolongations}= Get variable value ${USERS.users['${username}'].prolongations} + ${prolongation}= munchify ${prolongations[-1]} + Log ${prolongation} + ${reply}= Call Method ${USERS.users['${username}'].client} patch_prolongation ${tender} ${contract_id} ${USERS.users['${username}'].prolongations[-1].data.id} ${data} + Log ${data} + Log ${reply} + + Підтвердити підписання контракту [Documentation] ... [Arguments] Username, tender uaid, contract number diff --git a/op_robot_tests/tests_files/contract_signing.robot b/op_robot_tests/tests_files/contract_signing.robot index 74031bc80..d2b317c09 100644 --- a/op_robot_tests/tests_files/contract_signing.robot +++ b/op_robot_tests/tests_files/contract_signing.robot @@ -22,6 +22,28 @@ Suite Teardown Test Suite Teardown # CONTRACT ############################################################################################## +Можливість підтвердити пролонгацію підписання договору + [Tags] ${USERS.users['${tender_owner}'].broker}: Продовження періоду підписання договору + ... tender_owner + ... ${USERS.users['${tender_owner}'].broker} + ... prolongation + [Teardown] Оновити LMD і дочекатись синхронізації ${tender_owner} + Run As ${tender_owner} Підтвердити пролонгацію ${TENDER['TENDER_UAID']} -1 + + +Відображення підтвердженого статусу пролонгації + [Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних пролонгації + ... viewer + ... ${USERS.users['${viewer}'].broker} + ... prolongation_view + [Setup] Дочекатись синхронізації з майданчиком ${viewer} + Звірити поле пролонганції підписання угоди із значенням + ... ${viewer} + ... ${TENDER['TENDER_UAID']} + ... applied + ... status + + Можливість вказати дату отримання оплати [Tags] ${USERS.users['${tender_owner}'].broker}: Процес укладання угоди ... tender_owner From dcd2c63009ea5ceab1e446e723a34c57de7d8bcf Mon Sep 17 00:00:00 2001 From: OrysiaDrabych Date: Thu, 5 Apr 2018 15:22:03 +0300 Subject: [PATCH 5/6] Upload prolongation protocol --- op_robot_tests/tests_files/base_keywords.robot | 6 ++++++ .../tests_files/brokers/openprocurement_client.robot | 12 ++++++++++++ op_robot_tests/tests_files/contract_signing.robot | 9 +++++++++ 3 files changed, 27 insertions(+) diff --git a/op_robot_tests/tests_files/base_keywords.robot b/op_robot_tests/tests_files/base_keywords.robot index 7bc1a0ce4..a341b8755 100644 --- a/op_robot_tests/tests_files/base_keywords.robot +++ b/op_robot_tests/tests_files/base_keywords.robot @@ -351,6 +351,12 @@ Resource resource.robot Remove File ${file_path} +Можливість завантажити протокол пролонгації в контракт ${contract_index} користувачем ${username} + ${prolongation_protocol_path} ${file_title} ${file_content}= create_fake_doc + Run As ${username} Завантажити протокол пролонгації в контракт ${TENDER['TENDER_UAID']} ${prolongation_protocol_path} ${contract_index} + Remove File ${prolongation_protocol_path} + + Можливість укласти угоду для закупівлі Run as ${tender_owner} ... Підтвердити підписання контракту diff --git a/op_robot_tests/tests_files/brokers/openprocurement_client.robot b/op_robot_tests/tests_files/brokers/openprocurement_client.robot index 5b25aa4c5..6d17e4f1b 100644 --- a/op_robot_tests/tests_files/brokers/openprocurement_client.robot +++ b/op_robot_tests/tests_files/brokers/openprocurement_client.robot @@ -634,6 +634,18 @@ Library openprocurement_client.utils Log ${reply} +Завантажити протокол пролонгації в контракт + [Arguments] ${username} ${tender_uaid} ${document} ${contract_index} + ${tender}= openprocurement_client.Пошук тендера по ідентифікатору ${username} ${tender_uaid} + ${contract_id}= Get Variable Value ${tender.data.contracts[${contract_index}].id} + ${tender}= set_access_key ${tender} ${USERS.users['${username}'].access_token} + ${doc_created}= Call Method ${USERS.users['${username}'].client} upload_prolongation_document ${document} ${tender} ${contract_id} ${USERS.users['${username}'].prolongations[-1].data.id} + Set To Dictionary ${doc_created['data']} documentType=prolongationProtocol + ${reply_doc_patch}= Call Method ${USERS.users['${username}'].client} patch_prolongation_document ${tender} ${doc_created} ${contract_id} ${USERS.users['${username}'].prolongations[-1].data.id} + Log ${doc_created} + Log ${reply_doc_patch} + + Підтвердити пролонгацію [Arguments] ${username} ${tender_uaid} ${contract_index} ${tender}= openprocurement_client.Пошук тендера по ідентифікатору ${username} ${tender_uaid} diff --git a/op_robot_tests/tests_files/contract_signing.robot b/op_robot_tests/tests_files/contract_signing.robot index d2b317c09..58b4129ed 100644 --- a/op_robot_tests/tests_files/contract_signing.robot +++ b/op_robot_tests/tests_files/contract_signing.robot @@ -22,6 +22,15 @@ Suite Teardown Test Suite Teardown # CONTRACT ############################################################################################## +Можливість завантажити протокол, що санкціонує пролонгацію + [Tags] ${USERS.users['${tender_owner}'].broker}: Продовження періоду підписання договору + ... tender_owner + ... ${USERS.users['${tender_owner}'].broker} + ... prolongation + [Teardown] Оновити LMD і дочекатись синхронізації ${tender_owner} + Можливість завантажити протокол пролонгації в контракт -1 користувачем ${tender_owner} + + Можливість підтвердити пролонгацію підписання договору [Tags] ${USERS.users['${tender_owner}'].broker}: Продовження періоду підписання договору ... tender_owner From 11872ac637dfd057335842ce6bc816c9177058e5 Mon Sep 17 00:00:00 2001 From: OrysiaDrabych Date: Thu, 5 Apr 2018 15:22:53 +0300 Subject: [PATCH 6/6] Add tests for prolongation of contract signing period --- .../tests_files/base_keywords.robot | 6 ++ .../brokers/openprocurement_client.robot | 15 +++++ .../tests_files/contract_signing.robot | 67 +++++++++++++++++++ op_robot_tests/tests_files/initial_data.py | 2 +- op_robot_tests/tests_files/keywords.robot | 13 ++++ 5 files changed, 102 insertions(+), 1 deletion(-) diff --git a/op_robot_tests/tests_files/base_keywords.robot b/op_robot_tests/tests_files/base_keywords.robot index a341b8755..8421c0e36 100644 --- a/op_robot_tests/tests_files/base_keywords.robot +++ b/op_robot_tests/tests_files/base_keywords.robot @@ -357,6 +357,12 @@ Resource resource.robot Remove File ${prolongation_protocol_path} +Звірити відображення поля ${field} пролонгації для користувача ${username} + Звірити поле пролонгації ${username} ${TENDER['TENDER_UAID']} + ... ${USERS.users['${tender_owner}'].prolongation_data} + ... ${field} + + Можливість укласти угоду для закупівлі Run as ${tender_owner} ... Підтвердити підписання контракту diff --git a/op_robot_tests/tests_files/brokers/openprocurement_client.robot b/op_robot_tests/tests_files/brokers/openprocurement_client.robot index 6d17e4f1b..5266ba9e5 100644 --- a/op_robot_tests/tests_files/brokers/openprocurement_client.robot +++ b/op_robot_tests/tests_files/brokers/openprocurement_client.robot @@ -634,6 +634,21 @@ Library openprocurement_client.utils Log ${reply} +Продовжити період підписання договору + [Arguments] ${username} ${tender_uaid} ${prolongation_data} ${contract_index} + ${tender}= openprocurement_client.Пошук тендера по ідентифікатору ${username} ${tender_uaid} + ${contract_id}= Get Variable Value ${tender['data']['contracts'][${contract_index}]['id']} + ${tender}= set_access_key ${tender} ${USERS.users['${username}'].access_token} + ${reply}= Call Method ${USERS.users['${username}'].client} create_prolongation ${tender} ${contract_id} ${prolongation_data} + # we need this to have prlongation id in `Завантажити протокол пролонгації в контракт` and `Підтвердити пролонгацію` keywords + ${empty_list}= Create List + ${prolongations}= Get variable value ${USERS.users['${username}'].prolongations} ${empty_list} + Append to list ${prolongations} ${reply} + Set to dictionary ${USERS.users['${username}']} prolongations=${prolongations} + Log ${prolongations} + Log ${reply} + + Завантажити протокол пролонгації в контракт [Arguments] ${username} ${tender_uaid} ${document} ${contract_index} ${tender}= openprocurement_client.Пошук тендера по ідентифікатору ${username} ${tender_uaid} diff --git a/op_robot_tests/tests_files/contract_signing.robot b/op_robot_tests/tests_files/contract_signing.robot index 58b4129ed..549375586 100644 --- a/op_robot_tests/tests_files/contract_signing.robot +++ b/op_robot_tests/tests_files/contract_signing.robot @@ -22,6 +22,15 @@ Suite Teardown Test Suite Teardown # CONTRACT ############################################################################################## +Можливість продовжити період підписання договору + [Tags] ${USERS.users['${tender_owner}'].broker}: Продовження періоду підписання договору + ... tender_owner + ... ${USERS.users['${tender_owner}'].broker} + ... prolongation + ${prolongation_data}= Підготувати дані для пролонгації ${tender_owner} + Run As ${tender_owner} Продовжити період підписання договору ${TENDER['TENDER_UAID']} ${prolongation_data} -1 + + Можливість завантажити протокол, що санкціонує пролонгацію [Tags] ${USERS.users['${tender_owner}'].broker}: Продовження періоду підписання договору ... tender_owner @@ -31,6 +40,42 @@ Suite Teardown Test Suite Teardown Можливість завантажити протокол пролонгації в контракт -1 користувачем ${tender_owner} +Відображення номера рішення пролонгації + [Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних пролонгації + ... viewer + ... ${USERS.users['${viewer}'].broker} + ... prolongation_view + [Setup] Дочекатись синхронізації з майданчиком ${viewer} + Звірити відображення поля decisionID пролонгації для користувача ${viewer} + + +Відображення опису пояснення причини пролонгації + [Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних пролонгації + ... viewer + ... ${USERS.users['${viewer}'].broker} + ... prolongation_view + [Setup] Дочекатись синхронізації з майданчиком ${viewer} + Звірити відображення поля description пролонгації для користувача ${viewer} + + +Відображення дати рішення ФГВФО стосовно пролонгації + [Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних пролонгації + ... viewer + ... ${USERS.users['${viewer}'].broker} + ... prolongation_view + [Setup] Дочекатись синхронізації з майданчиком ${viewer} + Звірити відображення поля datePublished пролонгації для користувача ${viewer} + + +Відображення причини пролонгації підписання договору + [Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних пролонгації + ... viewer + ... ${USERS.users['${viewer}'].broker} + ... prolongation_view + [Setup] Дочекатись синхронізації з майданчиком ${viewer} + Звірити відображення поля reason пролонгації для користувача ${viewer} + + Можливість підтвердити пролонгацію підписання договору [Tags] ${USERS.users['${tender_owner}'].broker}: Продовження періоду підписання договору ... tender_owner @@ -73,6 +118,28 @@ Suite Teardown Test Suite Teardown Звірити відображення поля contracts[-1].datePaid тендера із ${USERS.users['${tender_owner}'].datePaid} для користувача ${viewer} +Можливість повторно продовжити період підписання договору + [Tags] ${USERS.users['${tender_owner}'].broker}: Продовження періоду підписання договору + ... tender_owner + ... ${USERS.users['${tender_owner}'].broker} + ... prolongation + ${prolongation_data}= Підготувати дані для пролонгації ${tender_owner} + Run As ${tender_owner} Продовжити період підписання договору ${TENDER['TENDER_UAID']} ${prolongation_data} -1 + Можливість завантажити протокол пролонгації в контракт -1 користувачем ${tender_owner} + Run As ${tender_owner} Підтвердити пролонгацію ${TENDER['TENDER_UAID']} -1 + + +Неможливість втретє продовжити період підписання договору + [Tags] ${USERS.users['${tender_owner}'].broker}: Продовження періоду підписання договору + ... tender_owner + ... ${USERS.users['${tender_owner}'].broker} + ... prolongation + ${prolongation_data}= Підготувати дані для пролонгації ${tender_owner} + Run As ${tender_owner} Продовжити період підписання договору ${TENDER['TENDER_UAID']} ${prolongation_data} -1 + Можливість завантажити протокол пролонгації в контракт -1 користувачем ${tender_owner} + Require Failure ${tender_owner} Підтвердити пролонгацію ${TENDER['TENDER_UAID']} -1 + + Можливість завантажити угоду до лоту [Tags] ${USERS.users['${tender_owner}'].broker}: Завантаження документів щодо угоди ... tender_owner diff --git a/op_robot_tests/tests_files/initial_data.py b/op_robot_tests/tests_files/initial_data.py index ae86d20ba..616012978 100644 --- a/op_robot_tests/tests_files/initial_data.py +++ b/op_robot_tests/tests_files/initial_data.py @@ -51,7 +51,7 @@ def create_fake_dgfID(): def create_fake_date(): - return get_now().strftime('%Y-%m-%d') + return get_now().isoformat() def create_fake_dgfDecisionID(): diff --git a/op_robot_tests/tests_files/keywords.robot b/op_robot_tests/tests_files/keywords.robot index e00fc63f6..9afc34b9e 100644 --- a/op_robot_tests/tests_files/keywords.robot +++ b/op_robot_tests/tests_files/keywords.robot @@ -263,6 +263,19 @@ Get Broker Property By Username [Return] ${prolongation_data} +Звірити поле пролонгації + [Arguments] ${username} ${tender_uaid} ${prolongation_data} ${field} + ${left}= get_from_object ${prolongation_data.data} ${field} + Звірити поле пролонганції підписання угоди із значенням ${username} ${tender_uaid} ${left} ${field} + + +Звірити поле пролонганції підписання угоди із значенням + [Arguments] ${username} ${tender_uaid} ${left} ${field} + ${field}= Evaluate "{}{}{}".format('contracts[-1].', 'prolongations[-1].', '${field}') + ${right}= Отримати дані із тендера ${username} ${tender_uaid} ${field} + Порівняти об'єкти ${left} ${right} + + Адаптувати дані для оголошення тендера [Arguments] ${tender_data} # munchify is used to make deep copy of ${tender_data}