Commit 4ee0bcbe5e83a8c80a5ac2eb84f4ced4d9e175c2

Authored by alexdiatlov
Committed by GitHub
2 parents d690c617 61666928

Merge branch 'dev_prozorro_2' into amcu

@@ -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
  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
  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
  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