Commit 0c9aed3a8da1cb579fab1808e97c3a8387762d4a

Authored by kosaniak
Committed by GitHub
2 parents fc0eb51a 13da7f5b

Merge pull request #457 from OrysiaDrabych/contract_signing

Update Contract_signing test suite
@@ -1026,6 +1026,18 @@ Resource resource.robot @@ -1026,6 +1026,18 @@ Resource resource.robot
1026 Remove File ${file_path} 1026 Remove File ${file_path}
1027 1027
1028 1028
  1029 +Можливість завантажити документ в ${contract_index} угоду користувачем ${username}
  1030 + ${file_path} ${file_name} ${file_content}= create_fake_doc
  1031 + ${doc_id}= get_id_from_string ${file_name}
  1032 + ${doc}= Create Dictionary
  1033 + ... id=${doc_id}
  1034 + ... name=${file_name}
  1035 + ... content=${file_content}
  1036 + Set to dictionary ${USERS.users['${tender_owner}']} contract_doc=${doc}
  1037 + Run As ${username} Завантажити документ в угоду ${file_path} ${TENDER['TENDER_UAID']} ${contract_index}
  1038 + Remove File ${file_path}
  1039 +
  1040 +
1029 Можливість укласти угоду для закупівлі 1041 Можливість укласти угоду для закупівлі
1030 Run as ${tender_owner} 1042 Run as ${tender_owner}
1031 ... Підтвердити підписання контракту 1043 ... Підтвердити підписання контракту
@@ -1014,19 +1014,6 @@ Library openprocurement_client_helper.py @@ -1014,19 +1014,6 @@ Library openprocurement_client_helper.py
1014 ${filename}= download_file_from_url ${document.url} ${OUTPUT_DIR}${/}${document.title} 1014 ${filename}= download_file_from_url ${document.url} ${OUTPUT_DIR}${/}${document.title}
1015 [return] ${filename} 1015 [return] ${filename}
1016 1016
1017 -  
1018 -Підтвердити підписання контракту  
1019 - [Documentation]  
1020 - ... [Arguments] Username, tender uaid, contract number  
1021 - ... Find tender using uaid, get contract test_confirmation data and call patch_contract  
1022 - ... [Return] Nothing  
1023 - [Arguments] ${username} ${tender_uaid} ${contract_num}  
1024 - ${tender}= openprocurement_client.Пошук тендера по ідентифікатору ${username} ${tender_uaid}  
1025 - ${data}= test_confirm_data ${tender['data']['contracts'][${contract_num}]['id']}  
1026 - Log ${data}  
1027 - ${reply}= Call Method ${USERS.users['${username}'].client} patch_contract ${tender} ${data}  
1028 - Log ${reply}  
1029 -  
1030 ############################################################################## 1017 ##############################################################################
1031 # OpenUA procedure 1018 # OpenUA procedure
1032 ############################################################################## 1019 ##############################################################################
@@ -1127,3 +1114,61 @@ Library openprocurement_client_helper.py @@ -1127,3 +1114,61 @@ Library openprocurement_client_helper.py
1127 set_to_object ${tender} data.status active.tendering 1114 set_to_object ${tender} data.status active.tendering
1128 ${reply}= Call Method ${USERS.users['${username}'].client} patch_tender ${tender} 1115 ${reply}= Call Method ${USERS.users['${username}'].client} patch_tender ${tender}
1129 Log ${reply} 1116 Log ${reply}
  1117 +
  1118 +##############################################################################
  1119 +# CONTRACT SIGNING
  1120 +##############################################################################
  1121 +
  1122 +Редагувати угоду
  1123 + [Arguments] ${username} ${tender_uaid} ${contract_index} ${fieldname} ${fieldvalue}
  1124 + ${tender}= openprocurement_client.Пошук тендера по ідентифікатору ${username} ${tender_uaid}
  1125 + ${contract}= Create Dictionary data=${tender.data.contracts[${contract_index}]}
  1126 + Set_to_object ${contract.data} ${fieldname} ${fieldvalue}
  1127 + ${reply}= Call Method ${USERS.users['${username}'].client} patch_contract ${tender} ${contract}
  1128 + Log ${reply}
  1129 +
  1130 +
  1131 +Встановити дату підписання угоди
  1132 + [Arguments] ${username} ${tender_uaid} ${contract_index} ${fieldvalue}
  1133 + ${tender}= openprocurement_client.Пошук тендера по ідентифікатору ${username} ${tender_uaid}
  1134 + ${contract}= Create Dictionary data=${tender.data.contracts[${contract_index}]}
  1135 + Set To Dictionary ${contract.data} dateSigned=${fieldvalue}
  1136 + ${reply}= Call Method ${USERS.users['${username}'].client} patch_contract ${tender} ${contract}
  1137 + Log ${reply}
  1138 +
  1139 +
  1140 +Вказати період дії угоди
  1141 + [Arguments] ${username} ${tender_uaid} ${contract_index} ${startDate} ${endDate}
  1142 + ${tender}= openprocurement_client.Пошук тендера по ідентифікатору ${username} ${tender_uaid}
  1143 + ${period}= Create Dictionary startDate=${startDate}
  1144 + Set to Dictionary ${period} endDate=${endDate}
  1145 + ${contract}= Create Dictionary data=${tender.data.contracts[${contract_index}]}
  1146 + Set To Dictionary ${contract.data} period=${period}
  1147 + Log ${contract}
  1148 + ${reply}= Call Method ${USERS.users['${username}'].client} patch_contract ${tender} ${contract}
  1149 + Log ${reply}
  1150 +
  1151 +
  1152 +Завантажити документ в угоду
  1153 + [Arguments] ${username} ${path} ${tender_uaid} ${contract_index} ${doc_type}=documents
  1154 + ${tender}= openprocurement_client.Пошук тендера по ідентифікатору ${username} ${tender_uaid}
  1155 + ${contract_id}= Get Variable Value ${tender.data.contracts[${contract_index}].id}
  1156 + ${tender}= set_access_key ${tender} ${USERS.users['${username}']['access_token']}
  1157 + ${response}= Call Method ${USERS.users['${username}'].client} upload_contract_document ${path} ${tender} ${contract_id} ${doc_type}
  1158 + ${uploaded_file} = Create Dictionary
  1159 + ... filepath=${path}
  1160 + ... upload_response=${response}
  1161 + Log object data ${uploaded_file}
  1162 +
  1163 +
  1164 +Підтвердити підписання контракту
  1165 + [Documentation]
  1166 + ... [Arguments] Username, tender uaid, contract number
  1167 + ... Find tender using uaid, get contract test_confirmation data and call patch_contract
  1168 + ... [Return] Nothing
  1169 + [Arguments] ${username} ${tender_uaid} ${contract_num}
  1170 + ${tender}= openprocurement_client.Пошук тендера по ідентифікатору ${username} ${tender_uaid}
  1171 + ${data}= test_confirm_data ${tender['data']['contracts'][${contract_num}]['id']}
  1172 + Log ${data}
  1173 + ${reply}= Call Method ${USERS.users['${username}'].client} patch_contract ${tender} ${data}
  1174 + Log ${reply}
@@ -64,6 +64,10 @@ def get_document_by_id(data, doc_id): @@ -64,6 +64,10 @@ def get_document_by_id(data, doc_id):
64 for document in complaint.get('documents', []): 64 for document in complaint.get('documents', []):
65 if doc_id in document.get('title', ''): 65 if doc_id in document.get('title', ''):
66 return document 66 return document
  67 + for contract in data.get('contracts', []):
  68 + for document in contract.get('documents', []):
  69 + if doc_id in document.get('title', ''):
  70 + return document
67 for award in data.get('awards', []): 71 for award in data.get('awards', []):
68 for document in award.get('documents', []): 72 for document in award.get('documents', []):
69 if doc_id in document.get('title', ''): 73 if doc_id in document.get('title', ''):
1 *** Settings *** 1 *** Settings ***
2 -Resource keywords.robot  
3 -Resource resource.robot 2 +Resource base_keywords.robot
4 Suite Setup Test Suite Setup 3 Suite Setup Test Suite Setup
5 Suite Teardown Test Suite Teardown 4 Suite Teardown Test Suite Teardown
6 5
@@ -16,7 +15,7 @@ Suite Teardown Test Suite Teardown @@ -16,7 +15,7 @@ Suite Teardown Test Suite Teardown
16 ... find_tender level1 15 ... find_tender level1
17 Завантажити дані про тендер 16 Завантажити дані про тендер
18 :FOR ${username} IN ${viewer} ${tender_owner} 17 :FOR ${username} IN ${viewer} ${tender_owner}
19 - \ Run As ${username} Пошук тендера по ідентифікатору ${TENDER['TENDER_UAID']} 18 + \ Run As ${username} Пошук тендера по ідентифікатору ${TENDER['TENDER_UAID']}
20 19
21 ############################################################################################## 20 ##############################################################################################
22 # CONTRACT 21 # CONTRACT
@@ -28,7 +27,7 @@ Suite Teardown Test Suite Teardown @@ -28,7 +27,7 @@ Suite Teardown Test Suite Teardown
28 ... ${USERS.users['${tender_owner}'].broker} 27 ... ${USERS.users['${tender_owner}'].broker}
29 ... tender_view 28 ... tender_view
30 :FOR ${username} IN ${viewer} ${tender_owner} 29 :FOR ${username} IN ${viewer} ${tender_owner}
31 - \ Отримати дані із тендера ${username} ${TENDER['TENDER_UAID']} awards[-1].complaintPeriod.endDate 30 + \ Отримати дані із тендера ${username} ${TENDER['TENDER_UAID']} awards[1].complaintPeriod.endDate
32 31
33 32
34 Дочекатися закічення stand still періоду 33 Дочекатися закічення stand still періоду
@@ -36,24 +35,144 @@ Suite Teardown Test Suite Teardown @@ -36,24 +35,144 @@ Suite Teardown Test Suite Teardown
36 ... tender_owner 35 ... tender_owner
37 ... ${USERS.users['${tender_owner}'].broker} 36 ... ${USERS.users['${tender_owner}'].broker}
38 ... contract_sign 37 ... contract_sign
39 - ${standstillEnd}= Get Variable Value ${USERS.users['${tender_owner}'].tender_data.data.awards[-1].complaintPeriod.endDate} 38 + ${standstillEnd}= Get Variable Value ${USERS.users['${tender_owner}'].tender_data.data.awards[1].complaintPeriod.endDate}
40 Дочекатись дати ${standstillEnd} 39 Дочекатись дати ${standstillEnd}
41 40
42 41
  42 +Відображення вартості угоди
  43 + [Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних угоди
  44 + ... viewer
  45 + ... ${USERS.users['${viewer}'].broker}
  46 + ... contract_view
  47 + [Setup] Дочекатись синхронізації з майданчиком ${viewer}
  48 + Отримати дані із поля awards[1].value.amount тендера для користувача ${viewer}
  49 +
  50 +
  51 +Можливість редагувати вартість угоди
  52 + [Tags] ${USERS.users['${tender_owner}'].broker}: Редагування угоди
  53 + ... tender_owner
  54 + ... ${USERS.users['${tender_owner}'].broker}
  55 + ... modify_contract
  56 + [Setup] Дочекатись синхронізації з майданчиком ${tender_owner}
  57 + [Teardown] Оновити LAST_MODIFICATION_DATE
  58 + ${award_amount}= Get From Dictionary ${USERS.users['${viewer}'].tender_data.data.awards[1].value} amount
  59 + ${amount}= create_fake_amount ${award_amount}
  60 + Set to dictionary ${USERS.users['${tender_owner}']} new_amount=${amount}
  61 + Run As ${tender_owner} Редагувати угоду ${TENDER['TENDER_UAID']} 1 value.amount ${amount}
  62 +
  63 +
  64 +Відображення відредагованої вартості угоди
  65 + [Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних угоди
  66 + ... viewer
  67 + ... ${USERS.users['${viewer}'].broker}
  68 + ... contract_view
  69 + [Setup] Дочекатись синхронізації з майданчиком ${viewer}
  70 + Remove From Dictionary ${USERS.users['${viewer}'].tender_data.data.contracts[1].value} amount
  71 + Звірити відображення поля contracts[1].value.amount тендера із ${USERS.users['${tender_owner}'].new_amount} для користувача ${viewer}
  72 +
  73 +
  74 +Можливість встановити дату підписання угоди
  75 + [Tags] ${USERS.users['${tender_owner}'].broker}: Редагування угоди
  76 + ... tender_owner
  77 + ... ${USERS.users['${tender_owner}'].broker}
  78 + ... modify_contract
  79 + [Setup] Дочекатись синхронізації з майданчиком ${tender_owner}
  80 + [Teardown] Оновити LAST_MODIFICATION_DATE
  81 + ${dateSigned}= create_fake_date
  82 + Set to dictionary ${USERS.users['${tender_owner}']} dateSigned=${dateSigned}
  83 + Run As ${tender_owner} Встановити дату підписання угоди ${TENDER['TENDER_UAID']} 1 ${dateSigned}
  84 +
  85 +
  86 +Відображення дати підписання угоди
  87 + [Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних угоди
  88 + ... viewer
  89 + ... ${USERS.users['${viewer}'].broker}
  90 + ... contract_view
  91 + [Setup] Дочекатись синхронізації з майданчиком ${viewer}
  92 + Звірити відображення поля contracts[1].dateSigned тендера із ${USERS.users['${tender_owner}'].dateSigned} для користувача ${viewer}
  93 +
  94 +
  95 +Можливість вказати період дії угоди
  96 + [Tags] ${USERS.users['${tender_owner}'].broker}: Редагування угоди
  97 + ... tender_owner
  98 + ... ${USERS.users['${tender_owner}'].broker}
  99 + ... modify_contract
  100 + [Setup] Дочекатись синхронізації з майданчиком ${tender_owner}
  101 + [Teardown] Оновити LAST_MODIFICATION_DATE
  102 + ${startDate}= create_fake_date
  103 + ${endDate}= add_minutes_to_date ${startDate} 10
  104 + Set to dictionary ${USERS.users['${tender_owner}']} contract_startDate=${startDate} contract_endDate=${endDate}
  105 + Run As ${tender_owner} Вказати період дії угоди ${TENDER['TENDER_UAID']} 1 ${startDate} ${endDate}
  106 +
  107 +
  108 +Відображення дати початку дії угоди
  109 + [Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних угоди
  110 + ... viewer
  111 + ... ${USERS.users['${viewer}'].broker}
  112 + ... contract_view
  113 + [Setup] Дочекатись синхронізації з майданчиком ${viewer}
  114 + Звірити відображення поля contracts[1].period.startDate тендера із ${USERS.users['${tender_owner}'].contract_startDate} для користувача ${viewer}
  115 +
  116 +
  117 +Відображення дати завершення дії угоди
  118 + [Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних угоди
  119 + ... viewer
  120 + ... ${USERS.users['${viewer}'].broker}
  121 + ... contract_view
  122 + [Setup] Дочекатись синхронізації з майданчиком ${viewer}
  123 + Звірити відображення поля contracts[1].period.endDate тендера із ${USERS.users['${tender_owner}'].contract_endDate} для користувача ${viewer}
  124 +
  125 +
  126 +Можливість завантажити документацію в угоду
  127 + [Tags] ${USERS.users['${tender_owner}'].broker}: Завантаження документації в угоду
  128 + ... tender_owner
  129 + ... ${USERS.users['${tender_owner}'].broker}
  130 + ... add_doc_to_contract
  131 + [Setup] Дочекатись синхронізації з майданчиком ${tender_owner}
  132 + [Teardown] Оновити LAST_MODIFICATION_DATE
  133 + Можливість завантажити документ в 1 угоду користувачем ${tender_owner}
  134 +
  135 +
  136 +Відображення заголовку документа
  137 + [Tags] ${USERS.users['${viewer}'].broker}: Відображення документації
  138 + ... viewer
  139 + ... ${USERS.users['${viewer}'].broker}
  140 + ... add_doc_to_contract
  141 + [Setup] Дочекатись синхронізації з майданчиком ${viewer}
  142 + Звірити відображення поля title документа ${USERS.users['${tender_owner}']['contract_doc']['id']} із ${USERS.users['${tender_owner}']['contract_doc']['name']} для користувача ${viewer}
  143 +
  144 +
  145 +Відображення вмісту документа
  146 + [Tags] ${USERS.users['${viewer}'].broker}: Відображення документації
  147 + ... viewer
  148 + ... ${USERS.users['${viewer}'].broker}
  149 + ... add_doc_to_contract
  150 + Звірити відображення вмісту документа ${USERS.users['${tender_owner}']['contract_doc']['id']} із ${USERS.users['${tender_owner}']['contract_doc']['content']} для користувача ${viewer}
  151 +
  152 +
  153 +Відображення прив'язки документа до тендера
  154 + [Tags] ${USERS.users['${viewer}'].broker}: Відображення документації
  155 + ... viewer
  156 + ... ${USERS.users['${viewer}'].broker}
  157 + ... add_doc_to_contract
  158 + Звірити відображення поля documentOf документа ${USERS.users['${tender_owner}']['contract_doc']['id']} із tender для користувача ${viewer}
  159 +
  160 +
43 Можливість укласти угоду для закупівлі 161 Можливість укласти угоду для закупівлі
44 - [Tags] ${USERS.users['${tender_owner}'].broker}: Процес укладання угоди  
45 - ... tender_owner  
46 - ... ${USERS.users['${tender_owner}'].broker}  
47 - ... contract_sign level1 162 + [Tags] ${USERS.users['${tender_owner}'].broker}: Процес укладання угоди
  163 + ... tender_owner
  164 + ... ${USERS.users['${tender_owner}'].broker}
  165 + ... contract_sign level1
  166 + [Setup] Дочекатись синхронізації з майданчиком ${tender_owner}
48 [Teardown] Оновити LAST_MODIFICATION_DATE 167 [Teardown] Оновити LAST_MODIFICATION_DATE
49 - Run As ${tender_owner} Підтвердити підписання контракту ${TENDER['TENDER_UAID']} -1 168 + Run As ${tender_owner} Підтвердити підписання контракту ${TENDER['TENDER_UAID']} 1
50 169
51 170
52 Відображення статусу підписаної угоди з постачальником закупівлі 171 Відображення статусу підписаної угоди з постачальником закупівлі
53 - [Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних угоди  
54 - ... viewer  
55 - ... ${USERS.users['${viewer}'].broker}  
56 - ... contract_sign  
57 - [Setup] Дочекатись синхронізації з майданчиком ${viewer} 172 + [Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних угоди
  173 + ... viewer
  174 + ... ${USERS.users['${viewer}'].broker}
  175 + ... contract_sign
  176 + [Setup] Дочекатись синхронізації з майданчиком ${viewer}
58 Run As ${viewer} Оновити сторінку з тендером ${TENDER['TENDER_UAID']} 177 Run As ${viewer} Оновити сторінку з тендером ${TENDER['TENDER_UAID']}
59 - Звірити поле тендера із значенням ${viewer} ${TENDER['TENDER_UAID']} active contracts[-1].status 178 + Звірити відображення поля contracts[1].status тендера із active для користувача ${viewer}
@@ -28,6 +28,14 @@ def create_fake_sentence(): @@ -28,6 +28,14 @@ def create_fake_sentence():
28 return fake.sentence(nb_words=10, variable_nb_words=True) 28 return fake.sentence(nb_words=10, variable_nb_words=True)
29 29
30 30
  31 +def create_fake_amount(award_amount):
  32 + return round(random.uniform(1, award_amount), 2)
  33 +
  34 +
  35 +def create_fake_date():
  36 + return get_now().isoformat()
  37 +
  38 +
31 def field_with_id(prefix, sentence): 39 def field_with_id(prefix, sentence):
32 return u"{}-{}: {}".format(prefix, fake.uuid4()[:8], sentence) 40 return u"{}-{}: {}".format(prefix, fake.uuid4()[:8], sentence)
33 41
@@ -19,6 +19,8 @@ from robot.output.loggerhelper import Message @@ -19,6 +19,8 @@ from robot.output.loggerhelper import Message
19 from .initial_data import ( 19 from .initial_data import (
20 create_fake_doc, 20 create_fake_doc,
21 create_fake_sentence, 21 create_fake_sentence,
  22 + create_fake_amount,
  23 + create_fake_date,
22 fake, 24 fake,
23 field_with_id, 25 field_with_id,
24 test_bid_data, 26 test_bid_data,
@@ -81,4 +81,7 @@ @@ -81,4 +81,7 @@
81 -i qualification_add_doc_to_second_award 81 -i qualification_add_doc_to_second_award
82 -i qualification_approve_second_award 82 -i qualification_approve_second_award
83 83
84 --i contract_sign  
  84 +-i contract_sign
  85 +-i contract_view
  86 +-i modify_contract
  87 +-i add_doc_to_contract
Please register or login to post a comment