Commit 4ee0bcbe5e83a8c80a5ac2eb84f4ced4d9e175c2
Committed by
GitHub
Merge branch 'dev_prozorro_2' into amcu
Showing
12 changed files
with
705 additions
and
105 deletions
@@ -221,7 +221,7 @@ ${ERROR_PLAN_MESSAGE}= Calling method 'get_plan' failed: ResourceGone: {"status | @@ -221,7 +221,7 @@ ${ERROR_PLAN_MESSAGE}= Calling method 'get_plan' failed: ResourceGone: {"status | ||
221 | ${period_intervals}= compute_intrs ${BROKERS} ${used_brokers} | 221 | ${period_intervals}= compute_intrs ${BROKERS} ${used_brokers} |
222 | ${accelerator}= Get Variable Value ${accelerator} | 222 | ${accelerator}= Get Variable Value ${accelerator} |
223 | ${accelerator}= Set Variable If '${accelerator}' != '${None}' ${accelerator} ${period_intervals.default.accelerator} | 223 | ${accelerator}= Set Variable If '${accelerator}' != '${None}' ${accelerator} ${period_intervals.default.accelerator} |
224 | - ${monitoring_data}= tets_monitoring_data ${USERS.users['${dasu_user}'].tender_data.data.id} ${accelerator} | 224 | + ${monitoring_data}= test_monitoring_data ${USERS.users['${dasu_user}'].tender_data.data.id} ${accelerator} |
225 | Log ${monitoring_data} | 225 | Log ${monitoring_data} |
226 | ${MNITORING_UAID}= Run As ${dasu_user} Створити об'єкт моніторингу ${monitoring_data} | 226 | ${MNITORING_UAID}= Run As ${dasu_user} Створити об'єкт моніторингу ${monitoring_data} |
227 | ${MONITORING}= Create Dictionary | 227 | ${MONITORING}= Create Dictionary |
@@ -729,12 +729,13 @@ Library openprocurement_client.utils | @@ -729,12 +729,13 @@ Library openprocurement_client.utils | ||
729 | 729 | ||
730 | 730 | ||
731 | Скасувати лот | 731 | Скасувати лот |
732 | - [Arguments] ${username} ${tender_uaid} ${lot_id} ${cancellation_reason} ${document} ${new_description} | 732 | + [Arguments] ${username} ${tender_uaid} ${lot_id} ${cancellation_reason} ${cancellation_reasonType} ${document} ${new_description} |
733 | ${tender}= openprocurement_client.Пошук тендера по ідентифікатору ${username} ${tender_uaid} | 733 | ${tender}= openprocurement_client.Пошук тендера по ідентифікатору ${username} ${tender_uaid} |
734 | ${lot_index}= get_object_index_by_id ${tender.data.lots} ${lot_id} | 734 | ${lot_index}= get_object_index_by_id ${tender.data.lots} ${lot_id} |
735 | ${lot_id}= Get Variable Value ${tender.data.lots[${lot_index}].id} | 735 | ${lot_id}= Get Variable Value ${tender.data.lots[${lot_index}].id} |
736 | ${data}= Create dictionary | 736 | ${data}= Create dictionary |
737 | ... reason=${cancellation_reason} | 737 | ... reason=${cancellation_reason} |
738 | + ... reasonType=${cancellation_reasonType} | ||
738 | ... cancellationOf=lot | 739 | ... cancellationOf=lot |
739 | ... relatedLot=${lot_id} | 740 | ... relatedLot=${lot_id} |
740 | ${cancellation_data}= Create dictionary data=${data} | 741 | ${cancellation_data}= Create dictionary data=${data} |
@@ -1430,6 +1431,16 @@ Library openprocurement_client.utils | @@ -1430,6 +1431,16 @@ Library openprocurement_client.utils | ||
1430 | ${filename}= download_file_from_url ${document.url} ${OUTPUT_DIR}${/}${document.title} | 1431 | ${filename}= download_file_from_url ${document.url} ${OUTPUT_DIR}${/}${document.title} |
1431 | [return] ${filename} | 1432 | [return] ${filename} |
1432 | 1433 | ||
1434 | + | ||
1435 | +Отримати інформацію із cancellation | ||
1436 | + [Arguments] ${username} ${tender_uaid} ${field_name} ${cancellation_index} | ||
1437 | + openprocurement_client.Пошук тендера по ідентифікатору ${username} ${tender_uaid} | ||
1438 | + ${cancellations}= Get Variable Value ${USERS.users['${username}'].tender_data.data.cancellations[${cancellation_index}]} ${USERS.users['${username}'].tender_data.data.cancellations} | ||
1439 | + Log ${cancellations} | ||
1440 | + ${field_value}= Get Variable Value ${USERS.users['${username}'].tender_data.data.cancellations[${cancellation_index}]['${field_name}']} | ||
1441 | + Log ${field_value} | ||
1442 | + [Return] ${field_value} | ||
1443 | + | ||
1433 | ############################################################################## | 1444 | ############################################################################## |
1434 | # Bid operations | 1445 | # Bid operations |
1435 | ############################################################################## | 1446 | ############################################################################## |
@@ -1742,28 +1753,41 @@ Library openprocurement_client.utils | @@ -1742,28 +1753,41 @@ Library openprocurement_client.utils | ||
1742 | 1753 | ||
1743 | Скасувати закупівлю | 1754 | Скасувати закупівлю |
1744 | [Documentation] | 1755 | [Documentation] |
1745 | - ... [Arguments] Username, tender uaid, cancellation reason, | 1756 | + ... [Arguments] Username, tender uaid, cancellation reason, cancellation reasonType |
1746 | ... document and new description of document | 1757 | ... document and new description of document |
1747 | ... [Description] Find tender using uaid, set cancellation reason, get data from cancel_tender | 1758 | ... [Description] Find tender using uaid, set cancellation reason, get data from cancel_tender |
1748 | ... and call create_cancellation | 1759 | ... and call create_cancellation |
1749 | ... After that add document to cancellation and change description of document | 1760 | ... After that add document to cancellation and change description of document |
1750 | ... [Return] Nothing | 1761 | ... [Return] Nothing |
1751 | - [Arguments] ${username} ${tender_uaid} ${cancellation_reason} ${document} ${new_description} | 1762 | + [Arguments] ${username} ${tender_uaid} ${cancellation_reason} ${cancellation_reasonType} ${document} ${new_description} |
1752 | ${tender}= openprocurement_client.Пошук тендера по ідентифікатору ${username} ${tender_uaid} | 1763 | ${tender}= openprocurement_client.Пошук тендера по ідентифікатору ${username} ${tender_uaid} |
1753 | - ${data}= Create dictionary reason=${cancellation_reason} | 1764 | + ${procurementMethodType}= set variable ${USERS.users['${tender_owner}'].initial_data.data.procurementMethodType} |
1765 | + Log ${procurementMethodType} | ||
1766 | + ${data}= Create dictionary | ||
1767 | + ... reason=${cancellation_reason} | ||
1768 | + ... reasonType=${cancellation_reasonType} | ||
1754 | ${cancellation_data}= Create dictionary data=${data} | 1769 | ${cancellation_data}= Create dictionary data=${data} |
1755 | ${cancellation_data}= munch_dict arg=${cancellation_data} | 1770 | ${cancellation_data}= munch_dict arg=${cancellation_data} |
1771 | + Log ${cancellation_data} | ||
1756 | ${cancel_reply}= Call Method ${USERS.users['${username}'].client} create_cancellation | 1772 | ${cancel_reply}= Call Method ${USERS.users['${username}'].client} create_cancellation |
1757 | ... ${tender.data.id} | 1773 | ... ${tender.data.id} |
1758 | ... ${cancellation_data} | 1774 | ... ${cancellation_data} |
1759 | ... access_token=${tender.access.token} | 1775 | ... access_token=${tender.access.token} |
1760 | ${cancellation_id}= Set variable ${cancel_reply.data.id} | 1776 | ${cancellation_id}= Set variable ${cancel_reply.data.id} |
1761 | - | ||
1762 | - ${document_id}= openprocurement_client.Завантажити документацію до запиту на скасування ${username} ${tender_uaid} ${cancellation_id} ${document} | ||
1763 | - | ||
1764 | - openprocurement_client.Змінити опис документа в скасуванні ${username} ${tender_uaid} ${cancellation_id} ${document_id} ${new_description} | ||
1765 | - | ||
1766 | - openprocurement_client.Підтвердити скасування закупівлі ${username} ${tender_uaid} ${cancellation_id} | 1777 | + ${document_id}= openprocurement_client.Завантажити документацію до запиту на скасування |
1778 | + ... ${username} | ||
1779 | + ... ${tender_uaid} | ||
1780 | + ... ${cancellation_id} | ||
1781 | + ... ${document} | ||
1782 | + openprocurement_client.Змінити опис документа в скасуванні | ||
1783 | + ... ${username} | ||
1784 | + ... ${tender_uaid} | ||
1785 | + ... ${cancellation_id} | ||
1786 | + ... ${document_id} | ||
1787 | + ... ${new_description} | ||
1788 | + run keyword if '${procurementMethodType}' in ['belowThreshold', 'reporting', 'closeFrameworkAgreementUA'] | ||
1789 | + ... openprocurement_client.Підтвердити скасування закупівлі ${username} ${tender_uaid} ${cancellation_id} | ||
1790 | + ... ELSE openprocurement_client.Перевести скасування закупівлі в період очікування ${username} ${tender_uaid} ${cancellation_id} | ||
1767 | 1791 | ||
1768 | 1792 | ||
1769 | Завантажити документацію до запиту на скасування | 1793 | Завантажити документацію до запиту на скасування |
@@ -1819,6 +1843,23 @@ Library openprocurement_client.utils | @@ -1819,6 +1843,23 @@ Library openprocurement_client.utils | ||
1819 | Log ${reply} | 1843 | Log ${reply} |
1820 | 1844 | ||
1821 | 1845 | ||
1846 | +Перевести скасування закупівлі в період очікування | ||
1847 | + [Documentation] | ||
1848 | + ... [Arguments] Username, tender uaid, cancellation number | ||
1849 | + ... Find tender using uaid, get cancellation test_confirmation data and call patch_cancellation | ||
1850 | + ... [Return] Nothing | ||
1851 | + [Arguments] ${username} ${tender_uaid} ${cancel_id} | ||
1852 | + ${tender}= openprocurement_client.Пошук тендера по ідентифікатору ${username} ${tender_uaid} | ||
1853 | + ${data}= test_cancel_pending_data ${cancel_id} | ||
1854 | + Log ${data} | ||
1855 | + ${reply}= Call Method ${USERS.users['${username}'].client} patch_cancellation | ||
1856 | + ... ${tender.data.id} | ||
1857 | + ... ${data} | ||
1858 | + ... ${data.data.id} | ||
1859 | + ... access_token=${tender.access.token} | ||
1860 | + Log ${reply} | ||
1861 | + | ||
1862 | + | ||
1822 | Отримати інформацію із документа до скасування | 1863 | Отримати інформацію із документа до скасування |
1823 | [Arguments] ${username} ${tender_uaid} ${cancel_id} ${doc_id} ${field_name} | 1864 | [Arguments] ${username} ${tender_uaid} ${cancel_id} ${doc_id} ${field_name} |
1824 | ${tender}= openprocurement_client.Пошук тендера по ідентифікатору ${username} ${tender_uaid} | 1865 | ${tender}= openprocurement_client.Пошук тендера по ідентифікатору ${username} ${tender_uaid} |
@@ -103,23 +103,22 @@ ${PLAN_TENDER} ${True} | @@ -103,23 +103,22 @@ ${PLAN_TENDER} ${True} | ||
103 | Можливість скасувати тендер | 103 | Можливість скасувати тендер |
104 | 104 | ||
105 | 105 | ||
106 | -Відображення активного статусу скасування тендера | ||
107 | - [Tags] ${USERS.users['${viewer}'].broker}: Відображення скасування тендера | ||
108 | - ... viewer | ||
109 | - ... ${USERS.users['${viewer}'].broker} | ||
110 | - ... tender_cancellation | ||
111 | - [Setup] Дочекатись синхронізації з майданчиком ${viewer} | ||
112 | - ${cancellation_index}= Отримати останній індекс cancellations ${tender_owner} ${viewer} | ||
113 | - Звірити поле тендера із значенням ${viewer} ${TENDER['TENDER_UAID']} | ||
114 | - ... active | ||
115 | - ... cancellations[${cancellation_index}].status | 106 | +Дочекатися закічення complait періоду |
107 | + [Tags] ${USERS.users['${tender_owner}'].broker}: Скасування тендера | ||
108 | + ... tender_owner | ||
109 | + ... ${USERS.users['${tender_owner}'].broker} | ||
110 | + ... tender_cancellation_stand_still | ||
111 | + ... critical | ||
112 | + Log ${TENDER['TENDER_UAID']} | ||
113 | + ${cancellation_index}= Отримати останній індекс cancellations ${tender_owner} | ||
114 | + Дочекатись зміни статусу cancellations ${tender_owner} ${TENDER['TENDER_UAID']} active ${cancellation_index} | ||
116 | 115 | ||
117 | 116 | ||
118 | Відображення причини скасування тендера | 117 | Відображення причини скасування тендера |
119 | [Tags] ${USERS.users['${viewer}'].broker}: Відображення скасування тендера | 118 | [Tags] ${USERS.users['${viewer}'].broker}: Відображення скасування тендера |
120 | ... viewer | 119 | ... viewer |
121 | ... ${USERS.users['${viewer}'].broker} | 120 | ... ${USERS.users['${viewer}'].broker} |
122 | - ... tender_cancellation | 121 | + ... tender_cancellation_view |
123 | ${cancellation_index}= Отримати останній індекс cancellations ${tender_owner} ${viewer} | 122 | ${cancellation_index}= Отримати останній індекс cancellations ${tender_owner} ${viewer} |
124 | Звірити поле тендера із значенням ${viewer} ${TENDER['TENDER_UAID']} | 123 | Звірити поле тендера із значенням ${viewer} ${TENDER['TENDER_UAID']} |
125 | ... ${USERS.users['${tender_owner}']['tender_cancellation_data']['cancellation_reason']} | 124 | ... ${USERS.users['${tender_owner}']['tender_cancellation_data']['cancellation_reason']} |
@@ -130,7 +129,7 @@ ${PLAN_TENDER} ${True} | @@ -130,7 +129,7 @@ ${PLAN_TENDER} ${True} | ||
130 | [Tags] ${USERS.users['${viewer}'].broker}: Відображення скасування тендера | 129 | [Tags] ${USERS.users['${viewer}'].broker}: Відображення скасування тендера |
131 | ... viewer | 130 | ... viewer |
132 | ... ${USERS.users['${viewer}'].broker} | 131 | ... ${USERS.users['${viewer}'].broker} |
133 | - ... tender_cancellation | 132 | + ... tender_cancellation_view |
134 | Звірити відображення поля description документа ${USERS.users['${tender_owner}']['tender_cancellation_data']['document']['doc_id']} до скасування ${USERS.users['${tender_owner}']['tender_cancellation_data']['cancellation_id']} із ${USERS.users['${tender_owner}']['tender_cancellation_data']['description']} для користувача ${viewer} | 133 | Звірити відображення поля description документа ${USERS.users['${tender_owner}']['tender_cancellation_data']['document']['doc_id']} до скасування ${USERS.users['${tender_owner}']['tender_cancellation_data']['cancellation_id']} із ${USERS.users['${tender_owner}']['tender_cancellation_data']['description']} для користувача ${viewer} |
135 | 134 | ||
136 | 135 | ||
@@ -138,7 +137,7 @@ ${PLAN_TENDER} ${True} | @@ -138,7 +137,7 @@ ${PLAN_TENDER} ${True} | ||
138 | [Tags] ${USERS.users['${viewer}'].broker}: Відображення скасування тендера | 137 | [Tags] ${USERS.users['${viewer}'].broker}: Відображення скасування тендера |
139 | ... viewer | 138 | ... viewer |
140 | ... ${USERS.users['${viewer}'].broker} | 139 | ... ${USERS.users['${viewer}'].broker} |
141 | - ... tender_cancellation | 140 | + ... tender_cancellation_view |
142 | Звірити відображення поля title документа ${USERS.users['${tender_owner}']['tender_cancellation_data']['document']['doc_id']} до скасування ${USERS.users['${tender_owner}']['tender_cancellation_data']['cancellation_id']} із ${USERS.users['${tender_owner}']['tender_cancellation_data']['document']['doc_name']} для користувача ${viewer} | 141 | Звірити відображення поля title документа ${USERS.users['${tender_owner}']['tender_cancellation_data']['document']['doc_id']} до скасування ${USERS.users['${tender_owner}']['tender_cancellation_data']['cancellation_id']} із ${USERS.users['${tender_owner}']['tender_cancellation_data']['document']['doc_name']} для користувача ${viewer} |
143 | 142 | ||
144 | 143 | ||
@@ -146,9 +145,21 @@ ${PLAN_TENDER} ${True} | @@ -146,9 +145,21 @@ ${PLAN_TENDER} ${True} | ||
146 | [Tags] ${USERS.users['${viewer}'].broker}: Відображення скасування тендера | 145 | [Tags] ${USERS.users['${viewer}'].broker}: Відображення скасування тендера |
147 | ... viewer | 146 | ... viewer |
148 | ... ${USERS.users['${viewer}'].broker} | 147 | ... ${USERS.users['${viewer}'].broker} |
149 | - ... tender_cancellation | 148 | + ... tender_cancellation_view |
150 | Звірити відображення вмісту документа ${USERS.users['${tender_owner}']['tender_cancellation_data']['document']['doc_id']} до скасування ${USERS.users['${tender_owner}']['tender_cancellation_data']['cancellation_id']} з ${USERS.users['${tender_owner}']['tender_cancellation_data']['document']['doc_content']} для користувача ${viewer} | 149 | Звірити відображення вмісту документа ${USERS.users['${tender_owner}']['tender_cancellation_data']['document']['doc_id']} до скасування ${USERS.users['${tender_owner}']['tender_cancellation_data']['cancellation_id']} з ${USERS.users['${tender_owner}']['tender_cancellation_data']['document']['doc_content']} для користувача ${viewer} |
151 | 150 | ||
151 | + | ||
152 | +Відображення активного статусу скасування тендера | ||
153 | + [Tags] ${USERS.users['${viewer}'].broker}: Відображення скасування тендера | ||
154 | + ... viewer | ||
155 | + ... ${USERS.users['${viewer}'].broker} | ||
156 | + ... tender_cancellation_view | ||
157 | + [Setup] Дочекатись синхронізації з майданчиком ${viewer} | ||
158 | + ${cancellation_index}= Отримати останній індекс cancellations ${tender_owner} ${viewer} | ||
159 | + Звірити поле тендера із значенням ${viewer} ${TENDER['TENDER_UAID']} | ||
160 | + ... active | ||
161 | + ... cancellations[${cancellation_index}].status | ||
162 | + | ||
152 | ############################################################################################## | 163 | ############################################################################################## |
153 | # DELETING LOT | 164 | # DELETING LOT |
154 | ############################################################################################## | 165 | ############################################################################################## |
@@ -164,24 +175,26 @@ ${PLAN_TENDER} ${True} | @@ -164,24 +175,26 @@ ${PLAN_TENDER} ${True} | ||
164 | 175 | ||
165 | *** Keywords *** | 176 | *** Keywords *** |
166 | Можливість скасувати тендер | 177 | Можливість скасувати тендер |
167 | - ${cancellation_data}= Підготувати дані про скасування | 178 | + ${cancellation_data}= Підготувати дані про скасування ${USERS.users['${tender_owner}'].initial_data.data.procurementMethodType} |
168 | Run As ${tender_owner} | 179 | Run As ${tender_owner} |
169 | ... Скасувати закупівлю | 180 | ... Скасувати закупівлю |
170 | ... ${TENDER['TENDER_UAID']} | 181 | ... ${TENDER['TENDER_UAID']} |
171 | ... ${cancellation_data['cancellation_reason']} | 182 | ... ${cancellation_data['cancellation_reason']} |
183 | + ... ${cancellation_data['cancellation_reasonType']} | ||
172 | ... ${cancellation_data['document']['doc_path']} | 184 | ... ${cancellation_data['document']['doc_path']} |
173 | ... ${cancellation_data['description']} | 185 | ... ${cancellation_data['description']} |
174 | Set To Dictionary ${USERS.users['${tender_owner}']} tender_cancellation_data=${cancellation_data} | 186 | Set To Dictionary ${USERS.users['${tender_owner}']} tender_cancellation_data=${cancellation_data} |
175 | 187 | ||
176 | 188 | ||
177 | Можливість скасувати ${index} лот | 189 | Можливість скасувати ${index} лот |
178 | - ${cancellation_data}= Підготувати дані про скасування | 190 | + ${cancellation_data}= Підготувати дані про скасування ${USERS.users['${tender_owner}'].initial_data.data.procurementMethodType} |
179 | ${lot_id}= get_id_from_object ${USERS.users['${tender_owner}'].initial_data.data.lots[${index}]} | 191 | ${lot_id}= get_id_from_object ${USERS.users['${tender_owner}'].initial_data.data.lots[${index}]} |
180 | Run As ${tender_owner} | 192 | Run As ${tender_owner} |
181 | ... Скасувати лот | 193 | ... Скасувати лот |
182 | ... ${TENDER['TENDER_UAID']} | 194 | ... ${TENDER['TENDER_UAID']} |
183 | ... ${lot_id} | 195 | ... ${lot_id} |
184 | ... ${cancellation_data['cancellation_reason']} | 196 | ... ${cancellation_data['cancellation_reason']} |
197 | + ... ${cancellation_data['cancellation_reasonType']} | ||
185 | ... ${cancellation_data['document']['doc_path']} | 198 | ... ${cancellation_data['document']['doc_path']} |
186 | ... ${cancellation_data['description']} | 199 | ... ${cancellation_data['description']} |
187 | Set To Dictionary ${USERS.users['${tender_owner}']} lot_cancellation_data=${cancellation_data} | 200 | Set To Dictionary ${USERS.users['${tender_owner}']} lot_cancellation_data=${cancellation_data} |
@@ -12,19 +12,19 @@ from munch import munchify | @@ -12,19 +12,19 @@ from munch import munchify | ||
12 | from op_faker import OP_Provider | 12 | from op_faker import OP_Provider |
13 | from .local_time import get_now, TZ | 13 | from .local_time import get_now, TZ |
14 | 14 | ||
15 | - | ||
16 | fake_en = Factory.create(locale='en_US') | 15 | fake_en = Factory.create(locale='en_US') |
17 | fake_ru = Factory.create(locale='ru_RU') | 16 | fake_ru = Factory.create(locale='ru_RU') |
18 | fake_uk = Factory.create(locale='uk_UA') | 17 | fake_uk = Factory.create(locale='uk_UA') |
19 | fake_uk.add_provider(OP_Provider) | 18 | fake_uk.add_provider(OP_Provider) |
20 | fake = fake_uk | 19 | fake = fake_uk |
21 | used_identifier_id = [] | 20 | used_identifier_id = [] |
22 | -mode_open = ["belowThreshold", "aboveThresholdUA", "aboveThresholdEU", | ||
23 | - "aboveThresholdUA.defense", "competitiveDialogueUA", "competitiveDialogueEU", "esco", "closeFrameworkAgreementUA"] | ||
24 | -mode_limited = ["reporting", "negotiation.quick", "negotiation"] | 21 | +mode_open = ["belowThreshold", "aboveThresholdUA", "aboveThresholdEU", |
22 | + "aboveThresholdUA.defense", "competitiveDialogueUA", "competitiveDialogueEU", "esco", | ||
23 | + "closeFrameworkAgreementUA"] | ||
24 | +mode_limited = ["reporting", "negotiation.quick", "negotiation"] | ||
25 | violationType = ["corruptionDescription", "corruptionProcurementMethodType", "corruptionChanges", | 25 | violationType = ["corruptionDescription", "corruptionProcurementMethodType", "corruptionChanges", |
26 | - "corruptionPublicDisclosure", "corruptionBiddingDocuments", "documentsForm", | ||
27 | - "corruptionAwarded", "corruptionCancelled", "corruptionContracting"] | 26 | + "corruptionPublicDisclosure", "corruptionBiddingDocuments", "documentsForm", |
27 | + "corruptionAwarded", "corruptionCancelled", "corruptionContracting"] | ||
28 | 28 | ||
29 | # This workaround fixes an error caused by missing "catch_phrase" class method | 29 | # This workaround fixes an error caused by missing "catch_phrase" class method |
30 | # for the "ru_RU" locale in Faker >= 0.7.4 | 30 | # for the "ru_RU" locale in Faker >= 0.7.4 |
@@ -106,10 +106,10 @@ def create_fake_period(days=0, hours=0, minutes=0): | @@ -106,10 +106,10 @@ def create_fake_period(days=0, hours=0, minutes=0): | ||
106 | 106 | ||
107 | 107 | ||
108 | def subtraction(value1, value2): | 108 | def subtraction(value1, value2): |
109 | - if "." in str (value1) or "." in str (value2): | ||
110 | - return (float (value1) - float (value2)) | 109 | + if "." in str(value1) or "." in str(value2): |
110 | + return (float(value1) - float(value2)) | ||
111 | else: | 111 | else: |
112 | - return (int (value1) - int (value2)) | 112 | + return (int(value1) - int(value2)) |
113 | 113 | ||
114 | 114 | ||
115 | def create_fake_value_amount(): | 115 | def create_fake_value_amount(): |
@@ -132,7 +132,7 @@ def translate_country_en(country): | @@ -132,7 +132,7 @@ def translate_country_en(country): | ||
132 | 132 | ||
133 | 133 | ||
134 | def convert_amount(amount): | 134 | def convert_amount(amount): |
135 | - return (("{:,}".format(float (amount))).replace(',',' ').replace('.',',')) | 135 | + return ("{:,}".format(float(amount))).replace(',', ' ').replace('.', ',') |
136 | 136 | ||
137 | 137 | ||
138 | def translate_country_ru(country): | 138 | def translate_country_ru(country): |
@@ -201,7 +201,7 @@ def test_tender_data(params, | @@ -201,7 +201,7 @@ def test_tender_data(params, | ||
201 | accelerator = accelerator \ | 201 | accelerator = accelerator \ |
202 | if accelerator else params['intervals']['accelerator'] | 202 | if accelerator else params['intervals']['accelerator'] |
203 | data['procurementMethodDetails'] = 'quick, ' \ | 203 | data['procurementMethodDetails'] = 'quick, ' \ |
204 | - 'accelerator={}'.format(accelerator) | 204 | + 'accelerator={}'.format(accelerator) |
205 | data["procuringEntity"]["kind"] = "other" | 205 | data["procuringEntity"]["kind"] = "other" |
206 | if data.get("mode") == "test": | 206 | if data.get("mode") == "test": |
207 | data["title"] = u"[ТЕСТУВАННЯ] {}".format(data["title"]) | 207 | data["title"] = u"[ТЕСТУВАННЯ] {}".format(data["title"]) |
@@ -318,7 +318,7 @@ def test_tender_data_planning(params): | @@ -318,7 +318,7 @@ def test_tender_data_planning(params): | ||
318 | "mode": "test", | 318 | "mode": "test", |
319 | "items": [], | 319 | "items": [], |
320 | "buyers": [] | 320 | "buyers": [] |
321 | - } | 321 | + } |
322 | data["procuringEntity"]["name"] = data["procuringEntity"]["identifier"]["legalName"] | 322 | data["procuringEntity"]["name"] = data["procuringEntity"]["identifier"]["legalName"] |
323 | buyers = test_buyers_data() | 323 | buyers = test_buyers_data() |
324 | buyers["name"] = buyers["identifier"]["legalName"] | 324 | buyers["name"] = buyers["identifier"]["legalName"] |
@@ -345,7 +345,8 @@ def test_tender_data_planning(params): | @@ -345,7 +345,8 @@ def test_tender_data_planning(params): | ||
345 | item_data = test_item_data(id_cpv) | 345 | item_data = test_item_data(id_cpv) |
346 | del item_data['deliveryAddress'] | 346 | del item_data['deliveryAddress'] |
347 | del item_data['deliveryLocation'] | 347 | del item_data['deliveryLocation'] |
348 | - item_data['deliveryDate']['endDate'] = (get_now() + timedelta(days=10)).replace(hour=0, minute=0, second=0, microsecond=0).isoformat() | 348 | + item_data['deliveryDate']['endDate'] = (get_now() + timedelta(days=10)).replace(hour=0, minute=0, second=0, |
349 | + microsecond=0).isoformat() | ||
349 | del item_data['deliveryDate']['startDate'] | 350 | del item_data['deliveryDate']['startDate'] |
350 | data['items'].append(item_data) | 351 | data['items'].append(item_data) |
351 | if params['mode'] in mode_open: | 352 | if params['mode'] in mode_open: |
@@ -510,6 +511,15 @@ def test_confirm_data(id): | @@ -510,6 +511,15 @@ def test_confirm_data(id): | ||
510 | }) | 511 | }) |
511 | 512 | ||
512 | 513 | ||
514 | +def test_cancel_pending_data(id): | ||
515 | + return munchify({ | ||
516 | + "data": { | ||
517 | + "status": "pending", | ||
518 | + "id": id | ||
519 | + } | ||
520 | + }) | ||
521 | + | ||
522 | + | ||
513 | def test_submit_claim_data(claim_id): | 523 | def test_submit_claim_data(claim_id): |
514 | return munchify({ | 524 | return munchify({ |
515 | "data": { | 525 | "data": { |
@@ -581,12 +591,12 @@ def test_bid_value(max_value_amount, vat_included): | @@ -581,12 +591,12 @@ def test_bid_value(max_value_amount, vat_included): | ||
581 | def test_bid_value_esco(tender_data): | 591 | def test_bid_value_esco(tender_data): |
582 | annual_cost = [] | 592 | annual_cost = [] |
583 | for i in range(0, 21): | 593 | for i in range(0, 21): |
584 | - cost=round(random.uniform(1, 100), 2) | 594 | + cost = round(random.uniform(1, 100), 2) |
585 | annual_cost.append(cost) | 595 | annual_cost.append(cost) |
586 | if tender_data['fundingKind'] == "budget": | 596 | if tender_data['fundingKind'] == "budget": |
587 | - yearly_percentage=round(random.uniform(0.01, float(tender_data['yearlyPaymentsPercentageRange'])), 5) | 597 | + yearly_percentage = round(random.uniform(0.01, float(tender_data['yearlyPaymentsPercentageRange'])), 5) |
588 | else: | 598 | else: |
589 | - yearly_percentage= 0.8 | 599 | + yearly_percentage = 0.8 |
590 | # when tender fundingKind is budget, yearlyPaymentsPercentageRange should be less or equal 0.8, and more or equal 0 | 600 | # when tender fundingKind is budget, yearlyPaymentsPercentageRange should be less or equal 0.8, and more or equal 0 |
591 | # when tender fundingKind is other, yearlyPaymentsPercentageRange should be equal 0.8 | 601 | # when tender fundingKind is other, yearlyPaymentsPercentageRange should be equal 0.8 |
592 | return munchify({ | 602 | return munchify({ |
@@ -613,7 +623,9 @@ def test_bid_data_selection(data, index): | @@ -613,7 +623,9 @@ def test_bid_data_selection(data, index): | ||
613 | }) | 623 | }) |
614 | bid.data['status'] = 'draft' | 624 | bid.data['status'] = 'draft' |
615 | bid.data['parameters'] = data['agreements'][0]['contracts'][index]['parameters'] | 625 | bid.data['parameters'] = data['agreements'][0]['contracts'][index]['parameters'] |
616 | - bid.data['lotValues'] = [test_bid_value(data['agreements'][0]['contracts'][index]['value']['amount'], data['agreements'][0]['contracts'][index]['value']['valueAddedTaxIncluded'])] | 626 | + bid.data['lotValues'] = [test_bid_value(data['agreements'][0]['contracts'][index]['value']['amount'], |
627 | + data['agreements'][0]['contracts'][index]['value'][ | ||
628 | + 'valueAddedTaxIncluded'])] | ||
617 | return bid | 629 | return bid |
618 | 630 | ||
619 | 631 | ||
@@ -641,8 +653,10 @@ def test_item_data(cpv=None): | @@ -641,8 +653,10 @@ def test_item_data(cpv=None): | ||
641 | startDate = fake.random_int(min=1, max=30) | 653 | startDate = fake.random_int(min=1, max=30) |
642 | endDate = startDate + fake.random_int(min=1, max=7) | 654 | endDate = startDate + fake.random_int(min=1, max=7) |
643 | data["deliveryDate"] = { | 655 | data["deliveryDate"] = { |
644 | - "startDate": (get_now() + timedelta(days=startDate)).astimezone(TZ).replace(hour=0, minute=0, second=0, microsecond=0).isoformat(), | ||
645 | - "endDate": (get_now() + timedelta(days=endDate)).astimezone(TZ).replace(hour=0, minute=0, second=0, microsecond=0).isoformat() | 656 | + "startDate": (get_now() + timedelta(days=startDate)).astimezone(TZ).replace(hour=0, minute=0, second=0, |
657 | + microsecond=0).isoformat(), | ||
658 | + "endDate": (get_now() + timedelta(days=endDate)).astimezone(TZ).replace(hour=0, minute=0, second=0, | ||
659 | + microsecond=0).isoformat() | ||
646 | } | 660 | } |
647 | data["deliveryAddress"]["countryName_en"] = translate_country_en(data["deliveryAddress"]["countryName"]) | 661 | data["deliveryAddress"]["countryName_en"] = translate_country_en(data["deliveryAddress"]["countryName"]) |
648 | data["deliveryAddress"]["countryName_ru"] = translate_country_ru(data["deliveryAddress"]["countryName"]) | 662 | data["deliveryAddress"]["countryName_ru"] = translate_country_ru(data["deliveryAddress"]["countryName"]) |
@@ -734,7 +748,8 @@ def test_tender_data_openeu(params, submissionMethodDetails, plan_data): | @@ -734,7 +748,8 @@ def test_tender_data_openeu(params, submissionMethodDetails, plan_data): | ||
734 | data['procuringEntity']['name_en'] = fake_en.name() | 748 | data['procuringEntity']['name_en'] = fake_en.name() |
735 | data['procuringEntity']['contactPoint']['name_en'] = fake_en.name() | 749 | data['procuringEntity']['contactPoint']['name_en'] = fake_en.name() |
736 | data['procuringEntity']['contactPoint']['availableLanguage'] = "en" | 750 | data['procuringEntity']['contactPoint']['availableLanguage'] = "en" |
737 | - data['procuringEntity']['identifier']['legalName_en'] = u"Institution \"Vinnytsia City Council primary and secondary general school № 10\"" | 751 | + data['procuringEntity']['identifier'][ |
752 | + 'legalName_en'] = u"Institution \"Vinnytsia City Council primary and secondary general school № 10\"" | ||
738 | data['procuringEntity']['kind'] = 'general' | 753 | data['procuringEntity']['kind'] = 'general' |
739 | return data | 754 | return data |
740 | 755 | ||
@@ -784,34 +799,34 @@ def test_tender_data_selection(procedure_intervals, params, submissionMethodDeta | @@ -784,34 +799,34 @@ def test_tender_data_selection(procedure_intervals, params, submissionMethodDeta | ||
784 | data['agreements'] = [{'id': tender_data['data']['agreements'][0]['id']}] | 799 | data['agreements'] = [{'id': tender_data['data']['agreements'][0]['id']}] |
785 | del data['value'] | 800 | del data['value'] |
786 | del data['minimalStep'] | 801 | del data['minimalStep'] |
787 | - return munchify({'data':data}) | 802 | + return munchify({'data': data}) |
788 | 803 | ||
789 | 804 | ||
790 | def test_change_data(): | 805 | def test_change_data(): |
791 | return munchify( | 806 | return munchify( |
792 | - { | ||
793 | - "data": | ||
794 | { | 807 | { |
795 | - "rationale": fake.description(), | ||
796 | - "rationale_en": fake_en.sentence(nb_words=10, variable_nb_words=True), | ||
797 | - "rationale_ru": fake_ru.sentence(nb_words=10, variable_nb_words=True), | ||
798 | - "rationaleTypes": fake.rationaleTypes(amount=3), | ||
799 | - "status": "pending" | ||
800 | - } | ||
801 | - }) | 808 | + "data": |
809 | + { | ||
810 | + "rationale": fake.description(), | ||
811 | + "rationale_en": fake_en.sentence(nb_words=10, variable_nb_words=True), | ||
812 | + "rationale_ru": fake_ru.sentence(nb_words=10, variable_nb_words=True), | ||
813 | + "rationaleTypes": fake.rationaleTypes(amount=3), | ||
814 | + "status": "pending" | ||
815 | + } | ||
816 | + }) | ||
802 | 817 | ||
803 | 818 | ||
804 | def test_agreement_change_data(rationaleType): | 819 | def test_agreement_change_data(rationaleType): |
805 | return munchify( | 820 | return munchify( |
806 | - { | ||
807 | - "data": | ||
808 | { | 821 | { |
809 | - "rationale": fake.description(), | ||
810 | - "rationale_en": fake_en.sentence(nb_words=10, variable_nb_words=True), | ||
811 | - "rationale_ru": fake_ru.sentence(nb_words=10, variable_nb_words=True), | ||
812 | - "rationaleType": rationaleType, | ||
813 | - } | ||
814 | - }) | 822 | + "data": |
823 | + { | ||
824 | + "rationale": fake.description(), | ||
825 | + "rationale_en": fake_en.sentence(nb_words=10, variable_nb_words=True), | ||
826 | + "rationale_ru": fake_ru.sentence(nb_words=10, variable_nb_words=True), | ||
827 | + "rationaleType": rationaleType, | ||
828 | + } | ||
829 | + }) | ||
815 | 830 | ||
816 | 831 | ||
817 | def test_modification_data(item_id, field_name, field_value): | 832 | def test_modification_data(item_id, field_name, field_value): |
@@ -823,24 +838,21 @@ def test_modification_data(item_id, field_name, field_value): | @@ -823,24 +838,21 @@ def test_modification_data(item_id, field_name, field_value): | ||
823 | } | 838 | } |
824 | ] | 839 | ] |
825 | } | 840 | } |
826 | - return munchify({'data':data}) | 841 | + return munchify({'data': data}) |
827 | 842 | ||
828 | 843 | ||
829 | def get_hash(file_contents): | 844 | def get_hash(file_contents): |
830 | - return ("md5:"+hashlib.md5(file_contents).hexdigest()) | 845 | + return ("md5:" + hashlib.md5(file_contents).hexdigest()) |
831 | 846 | ||
832 | 847 | ||
833 | -def tets_monitoring_data( tender_id, accelerator=None): | ||
834 | - data = { | ||
835 | - "reasons": [random.choice(["public", "fiscal", "indicator", "authorities", "media"])], | ||
836 | - "tender_id": tender_id, | ||
837 | - "procuringStages": [random.choice(["awarding", "contracting", "planning"])], | ||
838 | - "parties": [test_party()], | ||
839 | - "mode": "test" | ||
840 | - } | ||
841 | - data['monitoringDetails'] = 'quick, ' \ | ||
842 | - 'accelerator={}'.format(accelerator) | ||
843 | - return munchify({'data':data}) | 848 | +def test_monitoring_data(tender_id, accelerator=None): |
849 | + data = {"reasons": [random.choice(["public", "fiscal", "indicator", "authorities", "media"])], | ||
850 | + "tender_id": tender_id, | ||
851 | + "procuringStages": [random.choice(["awarding", "contracting", "planning"])], | ||
852 | + "parties": [test_party()], | ||
853 | + "mode": "test", | ||
854 | + 'monitoringDetails': 'quick, ' 'accelerator={}'.format(accelerator)} | ||
855 | + return munchify({'data': data}) | ||
844 | 856 | ||
845 | 857 | ||
846 | def test_party(): | 858 | def test_party(): |
@@ -852,26 +864,26 @@ def test_party(): | @@ -852,26 +864,26 @@ def test_party(): | ||
852 | 864 | ||
853 | def test_dialogue(): | 865 | def test_dialogue(): |
854 | return munchify( | 866 | return munchify( |
855 | - { | ||
856 | - "data": | ||
857 | { | 867 | { |
858 | - "title": fake_en.sentence(nb_words=10, variable_nb_words=True), | ||
859 | - "description": fake_en.sentence(nb_words=10, variable_nb_words=True) | ||
860 | - } | ||
861 | - }) | 868 | + "data": |
869 | + { | ||
870 | + "title": fake_en.sentence(nb_words=10, variable_nb_words=True), | ||
871 | + "description": fake_en.sentence(nb_words=10, variable_nb_words=True) | ||
872 | + } | ||
873 | + }) | ||
862 | 874 | ||
863 | 875 | ||
864 | def test_conclusion(violationOccurred, relatedParty_id): | 876 | def test_conclusion(violationOccurred, relatedParty_id): |
865 | return munchify( | 877 | return munchify( |
866 | - { | ||
867 | - "data": { | ||
868 | - "conclusion": { | ||
869 | - "violationOccurred": violationOccurred, | ||
870 | - "violationType": random.choice(violationType), | ||
871 | - "relatedParty": relatedParty_id, | 878 | + { |
879 | + "data": { | ||
880 | + "conclusion": { | ||
881 | + "violationOccurred": violationOccurred, | ||
882 | + "violationType": random.choice(violationType), | ||
883 | + "relatedParty": relatedParty_id, | ||
884 | + } | ||
872 | } | 885 | } |
873 | - } | ||
874 | - }) | 886 | + }) |
875 | 887 | ||
876 | 888 | ||
877 | def test_status_data(status, relatedParty_id=None): | 889 | def test_status_data(status, relatedParty_id=None): |
@@ -926,7 +938,7 @@ def test_tender_data_esco(params, submissionMethodDetails, plan_data): | @@ -926,7 +938,7 @@ def test_tender_data_esco(params, submissionMethodDetails, plan_data): | ||
926 | if index == 0: | 938 | if index == 0: |
927 | data['lots'][index]['minimalStepPercentage'] = data['minimalStepPercentage'] | 939 | data['lots'][index]['minimalStepPercentage'] = data['minimalStepPercentage'] |
928 | else: | 940 | else: |
929 | - data['lots'][index]['minimalStepPercentage'] = round((float(data['minimalStepPercentage'])-0.0002), 5) | 941 | + data['lots'][index]['minimalStepPercentage'] = round((float(data['minimalStepPercentage']) - 0.0002), 5) |
930 | if data['fundingKind'] == "budget": | 942 | if data['fundingKind'] == "budget": |
931 | data['lots'][index]['yearlyPaymentsPercentageRange'] = float(round(random.uniform(0.01, 0.8), 5)) | 943 | data['lots'][index]['yearlyPaymentsPercentageRange'] = float(round(random.uniform(0.01, 0.8), 5)) |
932 | else: | 944 | else: |
@@ -968,25 +980,25 @@ def percentage_generation(number_of_milestones): | @@ -968,25 +980,25 @@ def percentage_generation(number_of_milestones): | ||
968 | 980 | ||
969 | def invalid_INN_data(): | 981 | def invalid_INN_data(): |
970 | return munchify({ | 982 | return munchify({ |
971 | - "scheme": "INN", | ||
972 | - "description": "Insulin (human)", | ||
973 | - "id": "insulin (human)" | 983 | + "scheme": "INN", |
984 | + "description": "Insulin (human)", | ||
985 | + "id": "insulin (human)" | ||
974 | }) | 986 | }) |
975 | 987 | ||
976 | 988 | ||
977 | def invalid_cost_data(): | 989 | def invalid_cost_data(): |
978 | return munchify({ | 990 | return munchify({ |
979 | - "scheme": "UA-ROAD", | ||
980 | - "id": "H-08", | ||
981 | - "description": "Бориспіль - Дніпро - Запоріжжя (через м. Кременчук) - Маріуполь" | 991 | + "scheme": "UA-ROAD", |
992 | + "id": "H-08", | ||
993 | + "description": "Бориспіль - Дніпро - Запоріжжя (через м. Кременчук) - Маріуполь" | ||
982 | }) | 994 | }) |
983 | 995 | ||
984 | 996 | ||
985 | def invalid_gmdn_data(): | 997 | def invalid_gmdn_data(): |
986 | return munchify({ | 998 | return munchify({ |
987 | - "scheme": "GMDN", | ||
988 | - "id": "10082", | ||
989 | - "description": "Змішувач амальгами для стоматології" | 999 | + "scheme": "GMDN", |
1000 | + "id": "10082", | ||
1001 | + "description": "Змішувач амальгами для стоматології" | ||
990 | }) | 1002 | }) |
991 | 1003 | ||
992 | 1004 | ||
@@ -1009,7 +1021,7 @@ def invalid_buyers_data(): | @@ -1009,7 +1021,7 @@ def invalid_buyers_data(): | ||
1009 | "legalName": "Київський Тестовий Ліцей", | 1021 | "legalName": "Київський Тестовий Ліцей", |
1010 | }, | 1022 | }, |
1011 | "name": "Київський Тестовий Ліцей" | 1023 | "name": "Київський Тестовий Ліцей" |
1012 | - } | 1024 | + } |
1013 | return munchify(buyers) | 1025 | return munchify(buyers) |
1014 | 1026 | ||
1015 | 1027 | ||
@@ -1047,3 +1059,15 @@ def breakdown_value_generation(number_of_breakdown, plan_value): | @@ -1047,3 +1059,15 @@ def breakdown_value_generation(number_of_breakdown, plan_value): | ||
1047 | value_data = [round(random.uniform(1, plan_value / number_of_breakdown), 2) for _ in range(number_of_breakdown - 1)] | 1059 | value_data = [round(random.uniform(1, plan_value / number_of_breakdown), 2) for _ in range(number_of_breakdown - 1)] |
1048 | value_data.append(round(plan_value - sum(value_data), 2)) | 1060 | value_data.append(round(plan_value - sum(value_data), 2)) |
1049 | return value_data | 1061 | return value_data |
1062 | + | ||
1063 | + | ||
1064 | +def test_cancellation_data(procurement_method_type): | ||
1065 | + if procurement_method_type == "aboveThresholdUA.defense": | ||
1066 | + result = random.choice(["noDemand", "unFixable", "expensesCut"]) | ||
1067 | + elif procurement_method_type in ["negotiation", "negotiation.quick"]: | ||
1068 | + result = random.choice(["noObjectiveness", "unFixable", "noDemand", "expensesCut", "dateViolation"]) | ||
1069 | + elif procurement_method_type == "belowThreshold": | ||
1070 | + result = random.choice(["noDemand", "unFixable", "expensesCut"]) | ||
1071 | + else: | ||
1072 | + result = random.choice(["noDemand", "unFixable", "forceMajeure", "expensesCut"]) | ||
1073 | + return munchify({"reasonType": result}) |
@@ -353,6 +353,8 @@ Get Broker Property By Username | @@ -353,6 +353,8 @@ Get Broker Property By Username | ||
353 | 353 | ||
354 | 354 | ||
355 | Підготувати дані про скасування | 355 | Підготувати дані про скасування |
356 | + [Arguments] ${procurementMethodType} | ||
357 | + ${cancellation_data}= test_cancellation_data ${procurementMethodType} | ||
356 | ${cancellation_reason}= create_fake_sentence | 358 | ${cancellation_reason}= create_fake_sentence |
357 | ${cancellation_reason}= field_with_id c ${cancellation_reason} | 359 | ${cancellation_reason}= field_with_id c ${cancellation_reason} |
358 | ${cancellation_id}= get_id_from_string ${cancellation_reason} | 360 | ${cancellation_id}= get_id_from_string ${cancellation_reason} |
@@ -366,6 +368,7 @@ Get Broker Property By Username | @@ -366,6 +368,7 @@ Get Broker Property By Username | ||
366 | ${new_description}= create_fake_sentence | 368 | ${new_description}= create_fake_sentence |
367 | ${cancellation_data}= Create Dictionary | 369 | ${cancellation_data}= Create Dictionary |
368 | ... cancellation_reason=${cancellation_reason} | 370 | ... cancellation_reason=${cancellation_reason} |
371 | + ... cancellation_reasonType=${cancellation_data.reasonType} | ||
369 | ... cancellation_id=${cancellation_id} | 372 | ... cancellation_id=${cancellation_id} |
370 | ... document=${document} | 373 | ... document=${document} |
371 | ... description=${new_description} | 374 | ... description=${new_description} |
@@ -1018,6 +1021,12 @@ Require Failure | @@ -1018,6 +1021,12 @@ Require Failure | ||
1018 | Порівняти об'єкти ${left} ${right} | 1021 | Порівняти об'єкти ${left} ${right} |
1019 | 1022 | ||
1020 | 1023 | ||
1024 | +Звірити статус cancellations | ||
1025 | + [Arguments] ${username} ${tender_uaid} ${left} ${cancellation_index} | ||
1026 | + ${right}= Run as ${username} Отримати інформацію із cancellation ${tender_uaid} status ${cancellation_index} | ||
1027 | + Порівняти об'єкти ${left} ${right} | ||
1028 | + | ||
1029 | + | ||
1021 | Дочекатись дати початку періоду уточнення | 1030 | Дочекатись дати початку періоду уточнення |
1022 | [Arguments] ${username} ${tender_uaid} | 1031 | [Arguments] ${username} ${tender_uaid} |
1023 | Оновити LAST_MODIFICATION_DATE | 1032 | Оновити LAST_MODIFICATION_DATE |
@@ -1226,6 +1235,19 @@ Require Failure | @@ -1226,6 +1235,19 @@ Require Failure | ||
1226 | ... ${award_index} | 1235 | ... ${award_index} |
1227 | 1236 | ||
1228 | 1237 | ||
1238 | +Дочекатись зміни статусу cancellations | ||
1239 | + [Arguments] ${username} ${tender_uaid} ${status} ${cancellation_index} | ||
1240 | + Дочекатись синхронізації з майданчиком ${username} | ||
1241 | + Wait until keyword succeeds | ||
1242 | + ... 12 min | ||
1243 | + ... 60 sec | ||
1244 | + ... Звірити статус cancellations | ||
1245 | + ... ${username} | ||
1246 | + ... ${tender_uaid} | ||
1247 | + ... ${status} | ||
1248 | + ... ${cancellation_index} | ||
1249 | + | ||
1250 | + | ||
1229 | Оновити LAST_MODIFICATION_DATE | 1251 | Оновити LAST_MODIFICATION_DATE |
1230 | [Documentation] | 1252 | [Documentation] |
1231 | ... Variable ``${TEST_STATUS}`` is only available in test case teardown. | 1253 | ... Variable ``${TEST_STATUS}`` is only available in test case teardown. |
@@ -60,7 +60,7 @@ from .initial_data import ( | @@ -60,7 +60,7 @@ from .initial_data import ( | ||
60 | test_tender_data_framework_agreement, | 60 | test_tender_data_framework_agreement, |
61 | test_tender_data_selection, | 61 | test_tender_data_selection, |
62 | test_bid_competitive_data, | 62 | test_bid_competitive_data, |
63 | - tets_monitoring_data, | 63 | + test_monitoring_data, |
64 | test_party, | 64 | test_party, |
65 | test_dialogue, | 65 | test_dialogue, |
66 | test_conclusion, | 66 | test_conclusion, |
@@ -82,7 +82,9 @@ from .initial_data import ( | @@ -82,7 +82,9 @@ from .initial_data import ( | ||
82 | test_plan_cancel_data, | 82 | test_plan_cancel_data, |
83 | test_confirm_plan_cancel_data, | 83 | test_confirm_plan_cancel_data, |
84 | test_accept_complaint_data, | 84 | test_accept_complaint_data, |
85 | - test_reject_complaint_data | 85 | + test_reject_complaint_data, |
86 | + test_cancellation_data, | ||
87 | + test_cancel_pending_data | ||
86 | ) | 88 | ) |
87 | from barbecue import chef | 89 | from barbecue import chef |
88 | from restkit import request | 90 | from restkit import request |
@@ -9,6 +9,9 @@ | @@ -9,6 +9,9 @@ | ||
9 | 9 | ||
10 | -i create_tender | 10 | -i create_tender |
11 | -i find_tender | 11 | -i find_tender |
12 | +-i lot_cancellation | ||
12 | -i tender_cancellation | 13 | -i tender_cancellation |
14 | +-i tender_cancellation_stand_still | ||
15 | +-i tender_cancellation_view | ||
13 | -i lot_cancellation | 16 | -i lot_cancellation |
14 | -i delete_lot | 17 | -i delete_lot |
1 | +-v MODE:open_competitive_dialogue | ||
2 | + | ||
3 | +-v DIALOGUE_TYPE:UA | ||
4 | + | ||
5 | +-v NUMBER_OF_ITEMS:1 | ||
6 | +-v NUMBER_OF_LOTS:1 | ||
7 | + | ||
8 | +-v TENDER_MEAT:False | ||
9 | +-v ITEM_MEAT:False | ||
10 | +-v LOT_MEAT:False | ||
11 | + | ||
12 | + | ||
13 | +-i create_tender | ||
14 | +-i find_tender | ||
15 | +-i tender_view | ||
16 | +-i tender_view_milestone | ||
17 | +-i tender_view_value | ||
18 | +-i tender_view_minimalStep | ||
19 | +-i tender_view_deliveryDate | ||
20 | +-i tender_view_quantity | ||
21 | +-i tender_view_unit_name | ||
22 | +-i tender_view_unit_code | ||
23 | +-i tender_view_coordinates | ||
24 | +-i lot_view | ||
25 | +-i lot_view_value | ||
26 | +-i lot_view_minimalStep | ||
27 | + | ||
28 | +-i make_bid_by_provider | ||
29 | +-i make_bid_by_provider1 | ||
30 | +-i make_bid_by_provider2 | ||
31 | + | ||
32 | +-i open_tender_view | ||
33 | + | ||
34 | +-i pre-qualification_approve_first_bid | ||
35 | +-i pre-qualification_approve_second_bid | ||
36 | +-i pre-qualification_approve_third_bid | ||
37 | + | ||
38 | +-i pre-qualification_approve_qualifications | ||
39 | + | ||
40 | +-i stage2_pending_status_view | ||
41 | + | ||
42 | +-i wait_bridge_for_work | ||
43 | + | ||
44 | +-i get_second_stage | ||
45 | + | ||
46 | +-i compare_stages | ||
47 | + | ||
48 | +-i save_tender_second_stage | ||
49 | + | ||
50 | +-i activate_second_stage | ||
51 | + | ||
52 | +-i make_bid_by_provider_second_stage | ||
53 | +-i make_bid_by_provider1_second_stage | ||
54 | + | ||
55 | +-i qualification_add_doc_to_first_award | ||
56 | +-i qualification_approve_first_award | ||
57 | +-i awards_check_by_dfs | ||
58 | + | ||
59 | +-i contract_stand_still | ||
60 | +-i contract_view | ||
61 | +-i modify_contract_amount_net | ||
62 | +-i modify_contract_value | ||
63 | +-i modify_contract | ||
64 | +-i add_doc_to_contract | ||
65 | +-i contract_doc_documentOf | ||
66 | +-i contract_sign | ||
67 | + | ||
68 | +-i find_contract | ||
69 | +-i access_contract | ||
70 | +-i submit_change | ||
71 | +-i view_change | ||
72 | +-i upload_change_document | ||
73 | +-i modify_change | ||
74 | +-i change_contract_amountNet | ||
75 | +-i change_contract_amount | ||
76 | +-i apply_change | ||
77 | +-i add_contract_doc | ||
78 | +-i termination_reasons | ||
79 | +-i amount_paid | ||
80 | +-i change_amount_paid | ||
81 | +-i contract_termination |
1 | +-v MODE:open_competitive_dialogue | ||
2 | + | ||
3 | +-v NUMBER_OF_ITEMS:1 | ||
4 | +-v NUMBER_OF_LOTS:1 | ||
5 | + | ||
6 | +-v TENDER_MEAT:True | ||
7 | +-v ITEM_MEAT:True | ||
8 | +-v LOT_MEAT:True | ||
9 | + | ||
10 | + | ||
11 | +-i create_tender | ||
12 | +-i find_tender | ||
13 | +-i tender_view | ||
14 | +-i tender_view_milestone | ||
15 | +-i tender_view_value | ||
16 | +-i tender_view_minimalStep | ||
17 | +-i tender_view_deliveryDate | ||
18 | +-i tender_view_quantity | ||
19 | +-i tender_view_unit_name | ||
20 | +-i tender_view_unit_code | ||
21 | +-i tender_view_coordinates | ||
22 | +-i meat_view | ||
23 | +-i lot_view | ||
24 | +-i lot_view_value | ||
25 | +-i lot_view_minimalStep | ||
26 | + | ||
27 | +-i extend_tendering_period | ||
28 | +-i add_tender_doc | ||
29 | +-i add_lot_doc | ||
30 | +-i modify_lot_value_amount | ||
31 | +-i add_item | ||
32 | + -i delete_item | ||
33 | +-i add_tender_meat | ||
34 | + -i delete_tender_meat | ||
35 | +-i add_lot_meat | ||
36 | + -i delete_lot_meat | ||
37 | +-i add_item_meat | ||
38 | + -i delete_item_meat | ||
39 | + | ||
40 | +-i ask_question_to_tender | ||
41 | + -i answer_question_to_tender | ||
42 | +-i ask_question_to_item | ||
43 | + -i answer_question_to_item | ||
44 | +-i ask_question_to_lot | ||
45 | + -i answer_question_to_lot | ||
46 | +-i modify_tender_after_questions | ||
47 | +-i modify_lot_after_questions | ||
48 | + | ||
49 | +-i make_bid_without_related_lot | ||
50 | +-i make_bid_by_provider | ||
51 | + -i add_doc_to_bid_by_provider | ||
52 | +-i make_bid_by_provider1 | ||
53 | +-i make_bid_by_provider2 | ||
54 | + | ||
55 | +-i bid_view_in_tendering_period | ||
56 | + | ||
57 | +-i add_bid_doc_after_tendering_period_by_provider | ||
58 | +-i modify_bid_doc_after_tendering_period_by_provider | ||
59 | +-i modify_bid_after_tendering_period_by_provider1 | ||
60 | +-i cancel_bid_after_tendering_period_by_provider1 | ||
61 | + | ||
62 | +-i ask_question_to_tender_after_tendering_period | ||
63 | +-i ask_question_to_item_after_tendering_period | ||
64 | +-i ask_question_to_lot_after_tendering_period | ||
65 | + | ||
66 | +-i open_tender_view | ||
67 | +-i open_modify_tender_in_tendering_period | ||
68 | + -i open_confirm_first_bid | ||
69 | + -i open_confirm_second_bid | ||
70 | + -i open_confirm_third_bid | ||
71 | + | ||
72 | +-i openeu_make_bid_doc_private_by_provider | ||
73 | + | ||
74 | +-i pre-qualification_add_doc_to_tender | ||
75 | +-i pre-qualification_add_doc_to_lot | ||
76 | + | ||
77 | +-i pre-qualification_view | ||
78 | + | ||
79 | +-i pre-qualification_approve_first_bid | ||
80 | +-i pre-qualification_approve_second_bid | ||
81 | +-i pre-qualification_approve_third_bid | ||
82 | + | ||
83 | +-i pre-qualification_approve_qualifications | ||
84 | + | ||
85 | +-i stage2_pending_status_view | ||
86 | + | ||
87 | +-i wait_bridge_for_work | ||
88 | + | ||
89 | +-i get_second_stage | ||
90 | + | ||
91 | +-i compare_stages | ||
92 | + | ||
93 | +-i save_tender_second_stage | ||
94 | + | ||
95 | +-i activate_second_stage | ||
96 | + | ||
97 | +-i make_bid_by_provider_second_stage | ||
98 | +-i make_bid_by_provider1_second_stage | ||
99 | + | ||
100 | +-i pre-qualification_approve_first_bid_second_stage | ||
101 | +-i pre-qualification_approve_second_bid_second_stage | ||
102 | + | ||
103 | +-i pre-qualification_approve_qualifications_second_stage | ||
104 | + | ||
105 | +-i qualification_add_doc_to_first_award | ||
106 | +-i qualification_approve_first_award | ||
107 | +-i awards_check_by_dfs | ||
108 | + | ||
109 | +-i contract_stand_still | ||
110 | +-i contract_view | ||
111 | +-i modify_contract_invalid_amount | ||
112 | +-i modify_contract_invalid_amountNet_tender_vat_true | ||
113 | +-i modify_contract_amount_net | ||
114 | +-i modify_contract_value | ||
115 | +-i modify_contract | ||
116 | +-i add_doc_to_contract | ||
117 | +-i contract_doc_documentOf | ||
118 | +-i contract_sign | ||
119 | + | ||
120 | +-i find_contract | ||
121 | +-i access_contract | ||
122 | +-i submit_change | ||
123 | +-i view_change | ||
124 | +-i upload_change_document | ||
125 | +-i modify_change | ||
126 | +-i change_contract_amountNet | ||
127 | +-i change_contract_amount | ||
128 | +-i apply_change | ||
129 | +-i add_contract_doc | ||
130 | +-i termination_reasons | ||
131 | +-i amount_paid | ||
132 | +-i change_amount_paid | ||
133 | +-i contract_termination |
robot_tests_arguments/esco_dfs.txt
0 → 100644
1 | +-v MODE:open_esco | ||
2 | + | ||
3 | +-v NUMBER_OF_ITEMS:1 | ||
4 | +-v NUMBER_OF_LOTS:1 | ||
5 | + | ||
6 | +-v TENDER_MEAT:True | ||
7 | +-v ITEM_MEAT:False | ||
8 | +-v LOT_MEAT:False | ||
9 | + | ||
10 | +-v FUNDING_KIND:budget | ||
11 | + | ||
12 | +-i create_tender | ||
13 | +-i find_tender | ||
14 | +-i tender_view | ||
15 | + -i esco_tender_view | ||
16 | + -i open_tender_view | ||
17 | +-i meat_view | ||
18 | +-i lot_view | ||
19 | + -i esco_lot_view | ||
20 | + | ||
21 | +-i extend_tendering_period | ||
22 | +-i add_tender_doc | ||
23 | +-i ask_question_to_tender | ||
24 | +-i answer_question_to_tender | ||
25 | +-i modify_tender_after_questions | ||
26 | + | ||
27 | +-i make_bid_by_provider | ||
28 | + -i add_doc_to_bid_by_provider | ||
29 | +-i make_bid_by_provider1 | ||
30 | + | ||
31 | +-i open_modify_tender_in_tendering_period | ||
32 | + -i open_confirm_first_bid | ||
33 | + -i open_confirm_second_bid | ||
34 | + | ||
35 | +-i openeu_make_bid_doc_private_by_provider | ||
36 | +-i openeu_add_financial_bid_doc_by_provider | ||
37 | +-i openeu_add_qualification_bid_doc_by_provider | ||
38 | +-i openeu_add_eligibility_bid_doc_by_provider | ||
39 | + | ||
40 | +-i pre-qualification_view | ||
41 | +-i pre-qualification_approve_first_bid | ||
42 | +-i pre-qualification_approve_second_bid | ||
43 | +-i pre-qualification_approve_qualifications | ||
44 | + | ||
45 | +-i qualification_add_doc_to_first_award | ||
46 | +-i qualification_approve_first_award | ||
47 | +-i awards_check_by_dfs | ||
48 | + | ||
49 | +-i contract_stand_still | ||
50 | +-i contract_view | ||
51 | +-i contract_view_dateSigned | ||
52 | +-i modify_contract_amount_net | ||
53 | +-i modify_contract | ||
54 | +-i add_doc_to_contract | ||
55 | +-i add_doc_to_contract_content | ||
56 | +-i contract_doc_documentOf | ||
57 | +-i add_doc_to_contract_title | ||
58 | +-i contract_sign |
robot_tests_arguments/openeu_dfs.txt
0 → 100644
1 | +-v MODE:openeu | ||
2 | + | ||
3 | +-v NUMBER_OF_ITEMS:1 | ||
4 | +-v NUMBER_OF_LOTS:1 | ||
5 | + | ||
6 | +-v TENDER_MEAT:True | ||
7 | +-v ITEM_MEAT:True | ||
8 | +-v LOT_MEAT:True | ||
9 | + | ||
10 | + | ||
11 | +-i create_tender | ||
12 | +-i find_tender | ||
13 | +-i tender_view | ||
14 | +-i tender_view_milestone | ||
15 | +-i tender_view_value | ||
16 | +-i tender_view_minimalStep | ||
17 | +-i tender_view_deliveryDate | ||
18 | +-i tender_view_quantity | ||
19 | +-i tender_view_unit_name | ||
20 | +-i tender_view_unit_code | ||
21 | +-i tender_view_coordinates | ||
22 | +-i meat_view | ||
23 | +-i lot_view | ||
24 | +-i lot_view_value | ||
25 | +-i lot_view_minimalStep | ||
26 | + | ||
27 | +-i extend_tendering_period | ||
28 | +-i add_tender_doc | ||
29 | +-i add_lot_doc | ||
30 | +-i modify_lot_value_amount | ||
31 | +-i add_lot | ||
32 | + -i delete_lot | ||
33 | +-i add_item | ||
34 | + -i delete_item | ||
35 | +-i add_tender_meat | ||
36 | + -i delete_tender_meat | ||
37 | +-i add_lot_meat | ||
38 | + -i delete_lot_meat | ||
39 | +-i add_item_meat | ||
40 | + -i delete_item_meat | ||
41 | + | ||
42 | +-i ask_question_to_tender | ||
43 | + -i answer_question_to_tender | ||
44 | +-i ask_question_to_item | ||
45 | + -i answer_question_to_item | ||
46 | +-i ask_question_to_lot | ||
47 | + -i answer_question_to_lot | ||
48 | +-i modify_tender_after_questions | ||
49 | +-i modify_lot_after_questions | ||
50 | + | ||
51 | +-i make_bid_without_related_lot | ||
52 | +-i make_bid_without_parameters | ||
53 | +-i make_bid_by_provider | ||
54 | + -i modify_bid_by_provider | ||
55 | + -i add_doc_to_bid_by_provider | ||
56 | +-i make_bid_by_provider1 | ||
57 | +-i bid_view_in_tendering_period | ||
58 | + | ||
59 | +-i add_bid_doc_after_tendering_period_by_provider | ||
60 | +-i modify_bid_doc_after_tendering_period_by_provider | ||
61 | +-i modify_bid_after_tendering_period_by_provider1 | ||
62 | +-i cancel_bid_after_tendering_period_by_provider1 | ||
63 | + | ||
64 | +-i ask_question_to_tender_after_tendering_period | ||
65 | +-i ask_question_to_item_after_tendering_period | ||
66 | +-i ask_question_to_lot_after_tendering_period | ||
67 | + | ||
68 | +-i open_tender_view | ||
69 | +-i open_modify_tender_in_tendering_period | ||
70 | + -i open_confirm_first_bid | ||
71 | + -i open_confirm_second_bid | ||
72 | + | ||
73 | +-i openeu_make_bid_doc_private_by_provider | ||
74 | +-i openeu_add_financial_bid_doc_by_provider | ||
75 | +-i openeu_add_qualification_bid_doc_by_provider | ||
76 | +-i openeu_add_eligibility_bid_doc_by_provider | ||
77 | + | ||
78 | +-i pre-qualification_add_doc_to_tender | ||
79 | +-i pre-qualification_add_doc_to_lot | ||
80 | + | ||
81 | +-i pre-qualification_view | ||
82 | + | ||
83 | +-i pre-qualification_approve_first_bid | ||
84 | +-i pre-qualification_reject_second_bid | ||
85 | +-i pre-qualification_cancel_second_bid_qualification | ||
86 | +-i pre-qualification_approve_second_bid | ||
87 | + | ||
88 | +-i pre-qualification_approve_qualifications | ||
89 | + | ||
90 | +-i qualification_add_doc_to_first_award | ||
91 | +-i qualification_approve_first_award | ||
92 | +-i awards_check_by_dfs | ||
93 | + | ||
94 | +-i contract_stand_still | ||
95 | +-i contract_view | ||
96 | +-i modify_contract_invalid_amount | ||
97 | +-i modify_contract_invalid_amountNet_tender_vat_true | ||
98 | +-i modify_contract_amount_net | ||
99 | +-i modify_contract_value | ||
100 | +-i modify_contract | ||
101 | +-i add_doc_to_contract | ||
102 | +-i add_doc_to_contract_title | ||
103 | +-i add_doc_to_contract_content | ||
104 | +-i contract_doc_documentOf | ||
105 | +-i contract_sign | ||
106 | + | ||
107 | +-i find_contract | ||
108 | +-i access_contract | ||
109 | +-i submit_change | ||
110 | +-i view_change | ||
111 | +-i upload_change_document | ||
112 | +-i modify_change | ||
113 | +-i change_contract_amountNet | ||
114 | +-i change_contract_amount | ||
115 | +-i apply_change | ||
116 | +-i add_contract_doc | ||
117 | +-i termination_reasons | ||
118 | +-i amount_paid | ||
119 | +-i change_amount_paid | ||
120 | +-i contract_termination |
robot_tests_arguments/openua_dfs.txt
0 → 100644
1 | +-v MODE:openua | ||
2 | + | ||
3 | +-v NUMBER_OF_ITEMS:1 | ||
4 | +-v NUMBER_OF_LOTS:1 | ||
5 | + | ||
6 | +-v TENDER_MEAT:True | ||
7 | +-v ITEM_MEAT:True | ||
8 | +-v LOT_MEAT:True | ||
9 | + | ||
10 | + | ||
11 | +-i create_tender | ||
12 | +-i find_tender | ||
13 | +-i tender_view | ||
14 | +-i tender_view_milestone | ||
15 | +-i tender_view_value | ||
16 | +-i tender_view_minimalStep | ||
17 | +-i tender_view_deliveryDate | ||
18 | +-i tender_view_quantity | ||
19 | +-i tender_view_unit_name | ||
20 | +-i tender_view_unit_code | ||
21 | +-i tender_view_coordinates | ||
22 | +-i meat_view | ||
23 | +-i lot_view | ||
24 | +-i lot_view_value | ||
25 | +-i lot_view_minimalStep | ||
26 | + | ||
27 | +-i extend_tendering_period | ||
28 | +-i add_tender_doc | ||
29 | +-i add_lot_doc | ||
30 | +-i modify_lot_value_amount | ||
31 | +-i add_lot | ||
32 | + -i delete_lot | ||
33 | +-i add_item | ||
34 | + -i delete_item | ||
35 | +-i add_tender_meat | ||
36 | + -i delete_tender_meat | ||
37 | +-i add_lot_meat | ||
38 | + -i delete_lot_meat | ||
39 | +-i add_item_meat | ||
40 | + -i delete_item_meat | ||
41 | + | ||
42 | +-i ask_question_to_tender | ||
43 | + -i answer_question_to_tender | ||
44 | +-i ask_question_to_item | ||
45 | + -i answer_question_to_item | ||
46 | +-i ask_question_to_lot | ||
47 | + -i answer_question_to_lot | ||
48 | +-i modify_tender_after_questions | ||
49 | +-i modify_lot_after_questions | ||
50 | + | ||
51 | +-i make_bid_without_related_lot | ||
52 | +-i make_bid_without_parameters | ||
53 | +-i make_bid_by_provider | ||
54 | + -i modify_bid_by_provider | ||
55 | + -i add_doc_to_bid_by_provider | ||
56 | +-i make_bid_by_provider1 | ||
57 | +-i bid_view_in_tendering_period | ||
58 | + | ||
59 | +-i add_bid_doc_after_tendering_period_by_provider | ||
60 | +-i modify_bid_doc_after_tendering_period_by_provider | ||
61 | +-i modify_bid_after_tendering_period_by_provider1 | ||
62 | +-i cancel_bid_after_tendering_period_by_provider1 | ||
63 | + | ||
64 | +-i ask_question_to_tender_after_tendering_period | ||
65 | +-i ask_question_to_item_after_tendering_period | ||
66 | +-i ask_question_to_lot_after_tendering_period | ||
67 | + | ||
68 | +-i open_tender_view | ||
69 | +-i open_modify_tender_in_tendering_period | ||
70 | + -i open_confirm_first_bid | ||
71 | + -i open_confirm_second_bid | ||
72 | + | ||
73 | +-i qualification_add_doc_to_first_award | ||
74 | +-i qualification_approve_first_award | ||
75 | +-i awards_check_by_dfs | ||
76 | + | ||
77 | +-i contract_stand_still | ||
78 | +-i contract_view | ||
79 | +-i modify_contract_invalid_amount | ||
80 | +-i modify_contract_invalid_amountNet_tender_vat_true | ||
81 | +-i modify_contract_amount_net | ||
82 | +-i modify_contract_value | ||
83 | +-i modify_contract | ||
84 | +-i add_doc_to_contract | ||
85 | +-i add_doc_to_contract_title | ||
86 | +-i add_doc_to_contract_content | ||
87 | +-i contract_doc_documentOf | ||
88 | +-i contract_sign | ||
89 | + | ||
90 | +-i find_contract | ||
91 | +-i access_contract | ||
92 | +-i submit_change | ||
93 | +-i view_change | ||
94 | +-i upload_change_document | ||
95 | +-i modify_change | ||
96 | +-i change_contract_amountNet | ||
97 | +-i change_contract_amount | ||
98 | +-i apply_change | ||
99 | +-i add_contract_doc | ||
100 | +-i termination_reasons | ||
101 | +-i amount_paid | ||
102 | +-i change_amount_paid | ||
103 | +-i contract_termination |
Please
register
or
login
to post a comment