Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions op_robot_tests/tests_files/awarding.robot
Original file line number Diff line number Diff line change
Expand Up @@ -135,6 +135,15 @@ ${NUMBER_OF_AWARDS} ${1}
Звірити відображення поля awards[0].status тендера із active для користувача ${viewer}


Можливість завантажити документ про дискваліфікацію
[Tags] ${USERS.users['${tender_owner}'].broker}: Додання документації
... tender_owner
... ${USERS.users['${tender_owner}'].broker}
... add_rejectionProtocol
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

мабуть варто додати сценарій, де б використовувався цей тест кейс

[Teardown] Оновити LAST_MODIFICATION_DATE
Можливість завантажити протокол скасування в авард 0 користувачем ${tender_owner}


Можливість дискваліфікувати першого кандидата
[Tags] ${USERS.users['${tender_owner}'].broker}: Процес кваліфікації
... tender_owner
Expand Down
42 changes: 41 additions & 1 deletion op_robot_tests/tests_files/base_keywords.robot
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,20 @@ Resource resource.robot
Порівняти об'єкти ${len_of_items_before_patch} ${len_of_items_after_patch}


Звірити відображення зміненого поля ${field} предмета ${index} для користувача ${username}
${item_id}= get_id_from_object ${USERS.users['${viewer}'].tender_data.data['items'][${index}]}
${field_value}= Run As ${viewer} Отримати інформацію із предмету ${TENDER['TENDER_UAID']} ${item_id} ${field}
Порівняти об'єкти ${field_value} ${USERS.users['${tender_owner}'].initial_data.data['items'][${index}].${field}}
Set_To_Object ${USERS.users['${username}'].tender_data.data['items'][${index}]} ${field} ${field_value}



Можливість змінити поле ${field_name} предмета ${index} на ${field_value}
${item_id}= get_id_from_object ${USERS.users['${viewer}'].tender_data.data['items'][${index}]}
Run As ${tender_owner} Внести зміни в предмет ${item_id} ${TENDER['TENDER_UAID']} ${field_name} ${field_value}
Set_To_Object ${USERS.users['${tender_owner}'].initial_data.data['items'][${index}]} ${field_name} ${field_value}


Неможливість додати документацію до лоту
${len_of_documents_before_patch}= Run As ${tender_owner} Отримати кількість документів в тендері ${TENDER['TENDER_UAID']}
${file_path} ${file_name} ${file_content}= create_fake_doc
Expand Down Expand Up @@ -282,6 +296,8 @@ Resource resource.robot
##############################################################################################

Можливість подати цінову пропозицію користувачем ${username}
Run Keyword If '${mode}' == 'geb'
... Дочекатись дати закінчення періоду редагування лоту ${tender_owner} ${TENDER['TENDER_UAID']}
${bid}= Підготувати дані для подання пропозиції ${username}
${bidresponses}= Create Dictionary bid=${bid}
Set To Dictionary ${USERS.users['${username}']} bidresponses=${bidresponses}
Expand Down Expand Up @@ -323,6 +339,13 @@ Resource resource.robot
Remove File ${file_path}


Можливість завантажити документ з типом ${doc_type} в пропозицію користувачем ${username}
${file_path} ${file_name} ${file_content}= create_fake_doc
${bid_doc_upload}= Run As ${username} Завантажити документ в ставку з типом ${TENDER['TENDER_UAID']} ${file_path} ${doc_type}
Set To Dictionary ${USERS.users['${username}'].bidresponses} bid_doc_upload=${bid_doc_upload}
Remove File ${file_path}


Можливість змінити документацію цінової пропозиції користувачем ${username}
${file_path} ${file_name} ${file_content}= create_fake_doc
${docid}= Get Variable Value ${USERS.users['${username}'].bidresponses['bid_doc_upload']['upload_response'].data.id}
Expand All @@ -339,12 +362,21 @@ Resource resource.robot

Можливість завантажити протокол аукціону в авард ${award_index} користувачем ${username}
${auction_protocol_path} ${file_title} ${file_content}= create_fake_doc
Run As ${username} Завантажити протокол аукціону в авард ${TENDER['TENDER_UAID']} ${auction_protocol_path} ${award_index}
Run As ${username} Завантажити протокол в авард ${TENDER['TENDER_UAID']} ${auction_protocol_path} ${award_index} auctionProtocol
Remove File ${auction_protocol_path}

Можливість завантажити протокол скасування в авард ${award_index} користувачем ${username}
${auction_protocol_path} ${file_title} ${file_content}= create_fake_doc
Run As ${username} Завантажити протокол в авард ${TENDER['TENDER_UAID']} ${auction_protocol_path} ${award_index} rejectionProtocol
Remove File ${auction_protocol_path}

Можливість підтвердити цінову пропозицію учасником ${username}
Run As ${username} Змінити цінову пропозицію ${TENDER['TENDER_UAID']} status active


Можливість кваліфікувати цінову пропозицію ${bidNumber} користувачем ${username}
Run As ${username} Кваліфікувати пропозицію ${TENDER['TENDER_UAID']} ${bidNumber}

##############################################################################################
# Cancellations
##############################################################################################
Expand Down Expand Up @@ -381,3 +413,11 @@ Resource resource.robot
${left}= Convert To Integer ${number_of_awards}
${right}= Run As ${username} Отримати кількість авардів в тендері ${TENDER['TENDER_UAID']}
Порівняти об'єкти ${left} ${right}


Можливість редагувати вартість угоди
${starting_price}= Отримати дані із тендера ${tender_owner} ${TENDER['TENDER_UAID']} contracts[0].value.amount
${minimalStep}= Отримати дані із тендера ${tender_owner} ${TENDER['TENDER_UAID']} minimalStep.amount
${amount}= Evaluate ${starting_price}+${minimalStep}
Set to dictionary ${USERS.users['${tender_owner}']} amount=${amount}
Run As ${tender_owner} Редагувати угоду ${TENDER['TENDER_UAID']} -1 value.amount ${amount}
67 changes: 61 additions & 6 deletions op_robot_tests/tests_files/brokers/openprocurement_client.robot
Original file line number Diff line number Diff line change
Expand Up @@ -92,14 +92,14 @@ Library openprocurement_client.utils
[return] ${reply}


Завантажити протокол аукціону в авард
[Arguments] ${username} ${tender_uaid} ${filepath} ${award_index}
Завантажити протокол в авард
[Arguments] ${username} ${tender_uaid} ${filepath} ${award_index} ${documentType}
${tender}= openprocurement_client.Пошук тендера по ідентифікатору ${username} ${tender_uaid}
${award_id}= Get Variable Value ${tender.data.awards[${award_index}].id}
${tender}= set_access_key ${tender} ${USERS.users['${username}'].access_token}
${response}= Call Method ${USERS.users['${username}'].client} upload_award_document ${filepath} ${tender} ${award_id} documents
Keep In Dictionary ${response['data']} id
Set To Dictionary ${response['data']} documentType=auctionProtocol
Set To Dictionary ${response['data']} documentType=${documentType}
${reply}= Call Method ${USERS.users['${username}'].client} patch_award_document ${tender} ${response} ${award_id} ${response['data'].id}
Log ${reply}
[return] ${reply}
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ключове слово ідентичне до "Завантажити протокол аукціону в авард" відрізняється лише documentType, можливо краще винести окреме ключове слово Завантажити протокол в авард, в аргументах якого передавати documentType і не дублювати код

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Виніс в окреме ключове слово з можливістю вказати тип документа в аргументі

Expand Down Expand Up @@ -190,6 +190,13 @@ Library openprocurement_client.utils
${tender}= Call Method ${USERS.users['${username}'].client} create_tender ${tender_data}
Log object data ${tender} created_tender
${access_token}= Get Variable Value ${tender.access.token}
Run Keyword If '${mode}' == 'geb'
... Run Keywords
... Set To Dictionary ${tender['data']} status=active.rectification
... AND
... Call Method ${USERS.users['${username}'].client} patch_tender ${tender}
... AND
... Log ${tender}
Set To Dictionary ${USERS.users['${username}']} access_token=${access_token}
Set To Dictionary ${USERS.users['${username}']} tender_data=${tender}
Log ${\n}${API_HOST_URL}/api/${API_VERSION}/auctions/${tender.data.id}${\n} WARN
Expand Down Expand Up @@ -265,6 +272,16 @@ Library openprocurement_client.utils
##############################################################################
# Item operations
##############################################################################
Внести зміни в предмет
[Arguments] ${username} ${item_id} ${tender_uaid} ${fieldname} ${fieldvalue}
${tender}= openprocurement_client.Пошук тендера по ідентифікатору ${username} ${tender_uaid}
${item_index}= get_object_index_by_id ${tender.data['items']} ${item_id}
${item}= Create Dictionary data=${tender['data']['items'][${item_index}]}
Set_To_Object ${item.data} ${fieldname} ${fieldvalue}
Log ${item}
${reply}= Call Method ${USERS.users['${username}'].client} patch_item ${tender} ${item}
Log ${reply}


Додати предмет закупівлі
[Arguments] ${username} ${tender_uaid} ${item}
Expand Down Expand Up @@ -344,11 +361,13 @@ Library openprocurement_client.utils
[Arguments] ${username} ${tender_uaid} ${bid}
${tender}= openprocurement_client.Пошук тендера по ідентифікатору ${username} ${tender_uaid}
${reply}= Call Method ${USERS.users['${username}'].client} create_bid ${tender} ${bid}
Log ${reply}
${reply_active}= Call Method ${USERS.users['${username}'].client} patch_bid ${tender} ${reply}
Run Keyword IF '${tender.data.procurementMethodType}' == 'landLease'
... Run Keywords
... Set To Dictionary ${reply.data} status=pending
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

для цієї умови треба додати patch_bid, в інших випадках patch_bid безтолковий

... AND
... Call Method ${USERS.users['${username}'].client} patch_bid ${tender} ${reply}
Set To Dictionary ${USERS.users['${username}']} access_token=${reply['access']['token']}
Set To Dictionary ${USERS.users['${username}'].bidresponses['bid'].data} id=${reply['data']['id']}
Log ${reply_active}
Set To Dictionary ${USERS.users['${username}']} bid_id=${reply['data']['id']}
Log ${reply}
[return] ${reply}
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Тут логуємо і повертаємо reply ще в статусі draft, хоча для landlease ще був патч і статус pending

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

В reply буде записано і залоговано статус pending, оскільки вище виконується Set To Dictionary ${reply.data} status=pending

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

думаю Орися мала на увазі, що reply логується для того, щоб зберегти відповідь з цбд, а не з того, що ти записав в словник

Expand All @@ -365,6 +384,18 @@ Library openprocurement_client.utils
[return] ${reply}


Кваліфікувати пропозицію
[Arguments] ${username} ${tender_uaid} ${bidNumber}
${tender}= openprocurement_client.Пошук тендера по ідентифікатору ${username} ${tender_uaid}
${bid}= openprocurement_client.Отримати пропозицію ${username} ${tender_uaid}
${bid_data}= test_bid_qualified ${bidNumber} ${bid.data.id}
Log ${bid_data}
${tender}= set_access_key ${tender} ${USERS.users['${username}'].bidresponses['resp'].access.token}
${reply}= Call Method ${USERS.users['${username}'].client} patch_bid ${tender} ${bid_data}
Log ${reply}
[return] ${reply}


Скасувати цінову пропозицію
[Arguments] ${username} ${tender_uaid}
${tender}= openprocurement_client.Пошук тендера по ідентифікатору ${username} ${tender_uaid}
Expand Down Expand Up @@ -649,3 +680,27 @@ Library openprocurement_client.utils
${reply}= Call Method ${USERS.users['${username}'].client} patch_contract_document ${tender} ${response} ${contract_id} ${response['data'].id}
Log ${reply}
[return] ${reply}


##############################################################################
# CONTRACT SIGNING
##############################################################################

Встановити дату підписання угоди
[Arguments] ${username} ${tender_uaid} ${contract_index} ${fieldvalue}
${tender}= openprocurement_client.Пошук тендера по ідентифікатору ${username} ${tender_uaid}
${contract}= Create Dictionary data=${tender.data.contracts[${contract_index}]}
Set To Dictionary ${contract.data} dateSigned=${fieldvalue}
${reply}= Call Method ${USERS.users['${username}'].client} patch_contract ${tender} ${contract}
Log ${reply}


Редагувати угоду
[Arguments] ${username} ${tender_uaid} ${contract_index} ${fieldname} ${fieldvalue}
${tender}= openprocurement_client.Пошук тендера по ідентифікатору ${username} ${tender_uaid}
${contract}= Create Dictionary data=${tender.data.contracts[${contract_index}]}
Set_to_object ${contract.data} ${fieldname} ${fieldvalue}
${reply}= Call Method ${USERS.users['${username}'].client} patch_contract
... ${tender}
... ${contract}
Log ${reply}
45 changes: 42 additions & 3 deletions op_robot_tests/tests_files/contract_signing.robot
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
*** Settings ***
Resource keywords.robot
Resource resource.robot
Resource base_keywords.robot
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

потрібно забрати keywords.robot, якщо імпортуєш base_keywords.robot, keywords.robot вже імпортується в base_keywords.robot

Suite Setup Test Suite Setup
Suite Teardown Test Suite Teardown

Expand Down Expand Up @@ -33,6 +32,46 @@ Suite Teardown Test Suite Teardown
Remove File ${file_path}


Можливість встановити дату підписання угоди
[Tags] ${USERS.users['${tender_owner}'].broker}: Редагування угоди
... tender_owner
... ${USERS.users['${tender_owner}'].broker}
... dateSigned
[Setup] Дочекатись синхронізації з майданчиком ${tender_owner}
[Teardown] Оновити LAST_MODIFICATION_DATE
${dateSigned}= create_fake_date
Set to dictionary ${USERS.users['${tender_owner}']} dateSigned=${dateSigned}
Run As ${tender_owner} Встановити дату підписання угоди ${TENDER['TENDER_UAID']} -1 ${dateSigned}


Відображення дати підписання угоди
[Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних угоди
... viewer
... ${USERS.users['${viewer}'].broker}
... dateSigned
[Setup] Дочекатись синхронізації з майданчиком ${viewer}
Звірити відображення поля contracts[-1].dateSigned тендера із ${USERS.users['${tender_owner}'].dateSigned} для користувача ${viewer}


Можливість редагувати вартість угоди
[Tags] ${USERS.users['${tender_owner}'].broker}: Редагування угоди
... tender_owner
... ${USERS.users['${tender_owner}'].broker}
... modify_contract_value
... critical
[Setup] Дочекатись синхронізації з майданчиком ${tender_owner}
[Teardown] Оновити LAST_MODIFICATION_DATE
Можливість редагувати вартість угоди

Відображення зміненої вартості угоди
[Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних угоди
... viewer
... ${USERS.users['${viewer}'].broker}
... modify_contract_value
[Setup] Дочекатись синхронізації з майданчиком ${viewer}
Звірити відображення поля contracts[-1].value.amount тендера із ${USERS.users['${tender_owner}'].amount} для користувача ${viewer}


Можливість укласти угоду для лоту
[Tags] ${USERS.users['${tender_owner}'].broker}: Процес укладання угоди
... tender_owner
Expand All @@ -57,4 +96,4 @@ Suite Teardown Test Suite Teardown
... viewer
... ${USERS.users['${viewer}'].broker}
... tender_view
Звірити статус завершення тендера ${viewer} ${TENDER['TENDER_UAID']}
Звірити статус завершення тендера ${viewer} ${TENDER['TENDER_UAID']}
3 changes: 3 additions & 0 deletions op_robot_tests/tests_files/data/brokers.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,9 @@ Default:
dgfOtherAssets:
accelerator: 1440
auction: [25, 30]
geb:
accelerator: 360
auction: [30, 30]
# Synchronization delay, in seconds
timeout_on_wait: 300
Quinta:
Expand Down
Loading