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 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 1042 Run as ${tender_owner}
1031 1043 ... Підтвердити підписання контракту
... ...
... ... @@ -1014,19 +1014,6 @@ Library openprocurement_client_helper.py
1014 1014 ${filename}= download_file_from_url ${document.url} ${OUTPUT_DIR}${/}${document.title}
1015 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 1018 # OpenUA procedure
1032 1019 ##############################################################################
... ... @@ -1127,3 +1114,61 @@ Library openprocurement_client_helper.py
1127 1114 set_to_object ${tender} data.status active.tendering
1128 1115 ${reply}= Call Method ${USERS.users['${username}'].client} patch_tender ${tender}
1129 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 64 for document in complaint.get('documents', []):
65 65 if doc_id in document.get('title', ''):
66 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 71 for award in data.get('awards', []):
68 72 for document in award.get('documents', []):
69 73 if doc_id in document.get('title', ''):
... ...
1 1 *** Settings ***
2   -Resource keywords.robot
3   -Resource resource.robot
  2 +Resource base_keywords.robot
4 3 Suite Setup Test Suite Setup
5 4 Suite Teardown Test Suite Teardown
6 5
... ... @@ -16,7 +15,7 @@ Suite Teardown Test Suite Teardown
16 15 ... find_tender level1
17 16 Завантажити дані про тендер
18 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 21 # CONTRACT
... ... @@ -28,7 +27,7 @@ Suite Teardown Test Suite Teardown
28 27 ... ${USERS.users['${tender_owner}'].broker}
29 28 ... tender_view
30 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 33 Дочекатися закічення stand still періоду
... ... @@ -36,24 +35,144 @@ Suite Teardown Test Suite Teardown
36 35 ... tender_owner
37 36 ... ${USERS.users['${tender_owner}'].broker}
38 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 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 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 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 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 39 def field_with_id(prefix, sentence):
32 40 return u"{}-{}: {}".format(prefix, fake.uuid4()[:8], sentence)
33 41
... ...
... ... @@ -19,6 +19,8 @@ from robot.output.loggerhelper import Message
19 19 from .initial_data import (
20 20 create_fake_doc,
21 21 create_fake_sentence,
  22 + create_fake_amount,
  23 + create_fake_date,
22 24 fake,
23 25 field_with_id,
24 26 test_bid_data,
... ...
... ... @@ -81,4 +81,7 @@
81 81 -i qualification_add_doc_to_second_award
82 82 -i qualification_approve_second_award
83 83
84   --i contract_sign
\ No newline at end of file
  84 +-i contract_sign
  85 +-i contract_view
  86 +-i modify_contract
  87 +-i add_doc_to_contract
\ No newline at end of file
... ...
Please register or login to post a comment