Commit 2f483c33124eed2a02c7a09632120031151fb216

Authored by AlexDiatlov
2 parents e57231e7 27dba15e

Merge branch 'dev_prozorro_2' of https://github.com/ProzorroUKR/robot_tests into amcu

... ... @@ -221,7 +221,7 @@ ${ERROR_PLAN_MESSAGE}= Calling method 'get_plan' failed: ResourceGone: {"status
221 221 ${period_intervals}= compute_intrs ${BROKERS} ${used_brokers}
222 222 ${accelerator}= Get Variable Value ${accelerator}
223 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 225 Log ${monitoring_data}
226 226 ${MNITORING_UAID}= Run As ${dasu_user} Створити об'єкт моніторингу ${monitoring_data}
227 227 ${MONITORING}= Create Dictionary
... ...
... ... @@ -729,24 +729,26 @@ 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 733 ${tender}= openprocurement_client.Пошук тендера по ідентифікатору ${username} ${tender_uaid}
  734 + ${procurementMethodType}= set variable ${USERS.users['${tender_owner}'].initial_data.data.procurementMethodType}
  735 + Log ${procurementMethodType}
734 736 ${lot_index}= get_object_index_by_id ${tender.data.lots} ${lot_id}
735 737 ${lot_id}= Get Variable Value ${tender.data.lots[${lot_index}].id}
736 738 ${data}= Create dictionary
737 739 ... reason=${cancellation_reason}
  740 + ... reasonType=${cancellation_reasonType}
738 741 ... cancellationOf=lot
739 742 ... relatedLot=${lot_id}
740 743 ${cancellation_data}= Create dictionary data=${data}
741 744 ${cancellation_data}= munch_dict arg=${cancellation_data}
742 745 ${cancel_reply}= Call Method ${USERS.users['${username}'].client} create_cancellation ${tender} ${cancellation_data}
743 746 ${cancellation_id}= Set variable ${cancel_reply.data.id}
744   -
745 747 ${document_id}= openprocurement_client.Завантажити документацію до запиту на скасування ${username} ${tender_uaid} ${cancellation_id} ${document}
746   -
747 748 openprocurement_client.Змінити опис документа в скасуванні ${username} ${tender_uaid} ${cancellation_id} ${document_id} ${new_description}
748   -
749   - openprocurement_client.Підтвердити скасування закупівлі ${username} ${tender_uaid} ${cancellation_id}
  749 + run keyword if '${procurementMethodType}' in ['belowThreshold', 'reporting', 'closeFrameworkAgreementUA']
  750 + ... openprocurement_client.Підтвердити скасування закупівлі ${username} ${tender_uaid} ${cancellation_id}
  751 + ... ELSE openprocurement_client.Перевести скасування закупівлі в період очікування ${username} ${tender_uaid} ${cancellation_id}
750 752
751 753
752 754 Отримати інформацію з документа до лоту
... ... @@ -1512,6 +1514,16 @@ Library openprocurement_client.utils
1512 1514 ${filename}= download_file_from_url ${document.url} ${OUTPUT_DIR}${/}${document.title}
1513 1515 [return] ${filename}
1514 1516
  1517 +
  1518 +Отримати інформацію із cancellation
  1519 + [Arguments] ${username} ${tender_uaid} ${field_name} ${cancellation_index}
  1520 + openprocurement_client.Пошук тендера по ідентифікатору ${username} ${tender_uaid}
  1521 + ${cancellations}= Get Variable Value ${USERS.users['${username}'].tender_data.data.cancellations[${cancellation_index}]} ${USERS.users['${username}'].tender_data.data.cancellations}
  1522 + Log ${cancellations}
  1523 + ${field_value}= Get Variable Value ${USERS.users['${username}'].tender_data.data.cancellations[${cancellation_index}]['${field_name}']}
  1524 + Log ${field_value}
  1525 + [Return] ${field_value}
  1526 +
1515 1527 ##############################################################################
1516 1528 # Bid operations
1517 1529 ##############################################################################
... ... @@ -1824,28 +1836,41 @@ Library openprocurement_client.utils
1824 1836
1825 1837 Скасувати закупівлю
1826 1838 [Documentation]
1827   - ... [Arguments] Username, tender uaid, cancellation reason,
  1839 + ... [Arguments] Username, tender uaid, cancellation reason, cancellation reasonType
1828 1840 ... document and new description of document
1829 1841 ... [Description] Find tender using uaid, set cancellation reason, get data from cancel_tender
1830 1842 ... and call create_cancellation
1831 1843 ... After that add document to cancellation and change description of document
1832 1844 ... [Return] Nothing
1833   - [Arguments] ${username} ${tender_uaid} ${cancellation_reason} ${document} ${new_description}
  1845 + [Arguments] ${username} ${tender_uaid} ${cancellation_reason} ${cancellation_reasonType} ${document} ${new_description}
1834 1846 ${tender}= openprocurement_client.Пошук тендера по ідентифікатору ${username} ${tender_uaid}
1835   - ${data}= Create dictionary reason=${cancellation_reason}
  1847 + ${procurementMethodType}= set variable ${USERS.users['${tender_owner}'].initial_data.data.procurementMethodType}
  1848 + Log ${procurementMethodType}
  1849 + ${data}= Create dictionary
  1850 + ... reason=${cancellation_reason}
  1851 + ... reasonType=${cancellation_reasonType}
1836 1852 ${cancellation_data}= Create dictionary data=${data}
1837 1853 ${cancellation_data}= munch_dict arg=${cancellation_data}
  1854 + Log ${cancellation_data}
1838 1855 ${cancel_reply}= Call Method ${USERS.users['${username}'].client} create_cancellation
1839 1856 ... ${tender.data.id}
1840 1857 ... ${cancellation_data}
1841 1858 ... access_token=${tender.access.token}
1842 1859 ${cancellation_id}= Set variable ${cancel_reply.data.id}
1843   -
1844   - ${document_id}= openprocurement_client.Завантажити документацію до запиту на скасування ${username} ${tender_uaid} ${cancellation_id} ${document}
1845   -
1846   - openprocurement_client.Змінити опис документа в скасуванні ${username} ${tender_uaid} ${cancellation_id} ${document_id} ${new_description}
1847   -
1848   - openprocurement_client.Підтвердити скасування закупівлі ${username} ${tender_uaid} ${cancellation_id}
  1860 + ${document_id}= openprocurement_client.Завантажити документацію до запиту на скасування
  1861 + ... ${username}
  1862 + ... ${tender_uaid}
  1863 + ... ${cancellation_id}
  1864 + ... ${document}
  1865 + openprocurement_client.Змінити опис документа в скасуванні
  1866 + ... ${username}
  1867 + ... ${tender_uaid}
  1868 + ... ${cancellation_id}
  1869 + ... ${document_id}
  1870 + ... ${new_description}
  1871 + run keyword if '${procurementMethodType}' in ['belowThreshold', 'reporting', 'closeFrameworkAgreementUA']
  1872 + ... openprocurement_client.Підтвердити скасування закупівлі ${username} ${tender_uaid} ${cancellation_id}
  1873 + ... ELSE openprocurement_client.Перевести скасування закупівлі в період очікування ${username} ${tender_uaid} ${cancellation_id}
1849 1874
1850 1875
1851 1876 Завантажити документацію до запиту на скасування
... ... @@ -1901,6 +1926,23 @@ Library openprocurement_client.utils
1901 1926 Log ${reply}
1902 1927
1903 1928
  1929 +Перевести скасування закупівлі в період очікування
  1930 + [Documentation]
  1931 + ... [Arguments] Username, tender uaid, cancellation number
  1932 + ... Find tender using uaid, get cancellation test_confirmation data and call patch_cancellation
  1933 + ... [Return] Nothing
  1934 + [Arguments] ${username} ${tender_uaid} ${cancel_id}
  1935 + ${tender}= openprocurement_client.Пошук тендера по ідентифікатору ${username} ${tender_uaid}
  1936 + ${data}= test_cancel_pending_data ${cancel_id}
  1937 + Log ${data}
  1938 + ${reply}= Call Method ${USERS.users['${username}'].client} patch_cancellation
  1939 + ... ${tender.data.id}
  1940 + ... ${data}
  1941 + ... ${data.data.id}
  1942 + ... access_token=${tender.access.token}
  1943 + Log ${reply}
  1944 +
  1945 +
1904 1946 Отримати інформацію із документа до скасування
1905 1947 [Arguments] ${username} ${tender_uaid} ${cancel_id} ${doc_id} ${field_name}
1906 1948 ${tender}= openprocurement_client.Пошук тендера по ідентифікатору ${username} ${tender_uaid}
... ...
... ... @@ -44,11 +44,22 @@ ${PLAN_TENDER} ${True}
44 44 Можливість скасувати 0 лот
45 45
46 46
  47 +Дочекатися закічення complait періоду скасування лота
  48 + [Tags] ${USERS.users['${tender_owner}'].broker}: Скасування тендера
  49 + ... tender_owner
  50 + ... ${USERS.users['${tender_owner}'].broker}
  51 + ... lot_cancellation_stand_still
  52 + ... critical
  53 + Log ${TENDER['TENDER_UAID']}
  54 + ${cancellation_index}= Отримати останній індекс cancellations ${tender_owner}
  55 + Дочекатись зміни статусу cancellations ${tender_owner} ${TENDER['TENDER_UAID']} active ${cancellation_index}
  56 +
  57 +
47 58 Відображення активного статусу скасування лота
48 59 [Tags] ${USERS.users['${viewer}'].broker}: Відображення скасування лота
49 60 ... viewer
50 61 ... ${USERS.users['${viewer}'].broker}
51   - ... lot_cancellation
  62 + ... lot_cancellation_view
52 63 [Setup] Дочекатись синхронізації з майданчиком ${viewer}
53 64 ${cancellation_index}= Отримати останній індекс cancellations ${tender_owner} ${viewer}
54 65 Звірити поле тендера із значенням ${viewer} ${TENDER['TENDER_UAID']}
... ... @@ -60,7 +71,7 @@ ${PLAN_TENDER} ${True}
60 71 [Tags] ${USERS.users['${viewer}'].broker}: Відображення скасування лота
61 72 ... viewer
62 73 ... ${USERS.users['${viewer}'].broker}
63   - ... lot_cancellation
  74 + ... lot_cancellation_view
64 75 ${cancellation_index}= Отримати останній індекс cancellations ${tender_owner} ${viewer}
65 76 Звірити поле тендера із значенням ${viewer} ${TENDER['TENDER_UAID']}
66 77 ... ${USERS.users['${tender_owner}']['lot_cancellation_data']['cancellation_reason']}
... ... @@ -71,7 +82,7 @@ ${PLAN_TENDER} ${True}
71 82 [Tags] ${USERS.users['${viewer}'].broker}: Відображення скасування лота
72 83 ... viewer
73 84 ... ${USERS.users['${viewer}'].broker}
74   - ... lot_cancellation
  85 + ... lot_cancellation_view
75 86 Звірити відображення поля description документа ${USERS.users['${tender_owner}']['lot_cancellation_data']['document']['doc_id']} до скасування ${USERS.users['${tender_owner}']['lot_cancellation_data']['cancellation_id']} із ${USERS.users['${tender_owner}']['lot_cancellation_data']['description']} для користувача ${viewer}
76 87
77 88
... ... @@ -79,7 +90,7 @@ ${PLAN_TENDER} ${True}
79 90 [Tags] ${USERS.users['${viewer}'].broker}: Відображення скасування лота
80 91 ... viewer
81 92 ... ${USERS.users['${viewer}'].broker}
82   - ... lot_cancellation
  93 + ... lot_cancellation_view
83 94 Звірити відображення поля title документа ${USERS.users['${tender_owner}']['lot_cancellation_data']['document']['doc_id']} до скасування ${USERS.users['${tender_owner}']['lot_cancellation_data']['cancellation_id']} із ${USERS.users['${tender_owner}']['lot_cancellation_data']['document']['doc_name']} для користувача ${viewer}
84 95
85 96
... ... @@ -87,7 +98,7 @@ ${PLAN_TENDER} ${True}
87 98 [Tags] ${USERS.users['${viewer}'].broker}: Відображення скасування лота
88 99 ... viewer
89 100 ... ${USERS.users['${viewer}'].broker}
90   - ... lot_cancellation
  101 + ... lot_cancellation_view
91 102 Звірити відображення вмісту документа ${USERS.users['${tender_owner}']['lot_cancellation_data']['document']['doc_id']} до скасування ${USERS.users['${tender_owner}']['lot_cancellation_data']['cancellation_id']} з ${USERS.users['${tender_owner}']['lot_cancellation_data']['document']['doc_content']} для користувача ${viewer}
92 103
93 104 ##############################################################################################
... ... @@ -103,23 +114,22 @@ ${PLAN_TENDER} ${True}
103 114 Можливість скасувати тендер
104 115
105 116
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
  117 +Дочекатися закічення complait періоду
  118 + [Tags] ${USERS.users['${tender_owner}'].broker}: Скасування тендера
  119 + ... tender_owner
  120 + ... ${USERS.users['${tender_owner}'].broker}
  121 + ... tender_cancellation_stand_still
  122 + ... critical
  123 + Log ${TENDER['TENDER_UAID']}
  124 + ${cancellation_index}= Отримати останній індекс cancellations ${tender_owner}
  125 + Дочекатись зміни статусу cancellations ${tender_owner} ${TENDER['TENDER_UAID']} active ${cancellation_index}
116 126
117 127
118 128 Відображення причини скасування тендера
119 129 [Tags] ${USERS.users['${viewer}'].broker}: Відображення скасування тендера
120 130 ... viewer
121 131 ... ${USERS.users['${viewer}'].broker}
122   - ... tender_cancellation
  132 + ... tender_cancellation_view
123 133 ${cancellation_index}= Отримати останній індекс cancellations ${tender_owner} ${viewer}
124 134 Звірити поле тендера із значенням ${viewer} ${TENDER['TENDER_UAID']}
125 135 ... ${USERS.users['${tender_owner}']['tender_cancellation_data']['cancellation_reason']}
... ... @@ -130,7 +140,7 @@ ${PLAN_TENDER} ${True}
130 140 [Tags] ${USERS.users['${viewer}'].broker}: Відображення скасування тендера
131 141 ... viewer
132 142 ... ${USERS.users['${viewer}'].broker}
133   - ... tender_cancellation
  143 + ... tender_cancellation_view
134 144 Звірити відображення поля 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 145
136 146
... ... @@ -138,7 +148,7 @@ ${PLAN_TENDER} ${True}
138 148 [Tags] ${USERS.users['${viewer}'].broker}: Відображення скасування тендера
139 149 ... viewer
140 150 ... ${USERS.users['${viewer}'].broker}
141   - ... tender_cancellation
  151 + ... tender_cancellation_view
142 152 Звірити відображення поля 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 153
144 154
... ... @@ -146,9 +156,21 @@ ${PLAN_TENDER} ${True}
146 156 [Tags] ${USERS.users['${viewer}'].broker}: Відображення скасування тендера
147 157 ... viewer
148 158 ... ${USERS.users['${viewer}'].broker}
149   - ... tender_cancellation
  159 + ... tender_cancellation_view
150 160 Звірити відображення вмісту документа ${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 161
  162 +
  163 +Відображення активного статусу скасування тендера
  164 + [Tags] ${USERS.users['${viewer}'].broker}: Відображення скасування тендера
  165 + ... viewer
  166 + ... ${USERS.users['${viewer}'].broker}
  167 + ... tender_cancellation_view
  168 + [Setup] Дочекатись синхронізації з майданчиком ${viewer}
  169 + ${cancellation_index}= Отримати останній індекс cancellations ${tender_owner} ${viewer}
  170 + Звірити поле тендера із значенням ${viewer} ${TENDER['TENDER_UAID']}
  171 + ... active
  172 + ... cancellations[${cancellation_index}].status
  173 +
152 174 ##############################################################################################
153 175 # DELETING LOT
154 176 ##############################################################################################
... ... @@ -164,24 +186,26 @@ ${PLAN_TENDER} ${True}
164 186
165 187 *** Keywords ***
166 188 Можливість скасувати тендер
167   - ${cancellation_data}= Підготувати дані про скасування
  189 + ${cancellation_data}= Підготувати дані про скасування ${USERS.users['${tender_owner}'].initial_data.data.procurementMethodType}
168 190 Run As ${tender_owner}
169 191 ... Скасувати закупівлю
170 192 ... ${TENDER['TENDER_UAID']}
171 193 ... ${cancellation_data['cancellation_reason']}
  194 + ... ${cancellation_data['cancellation_reasonType']}
172 195 ... ${cancellation_data['document']['doc_path']}
173 196 ... ${cancellation_data['description']}
174 197 Set To Dictionary ${USERS.users['${tender_owner}']} tender_cancellation_data=${cancellation_data}
175 198
176 199
177 200 Можливість скасувати ${index} лот
178   - ${cancellation_data}= Підготувати дані про скасування
  201 + ${cancellation_data}= Підготувати дані про скасування ${USERS.users['${tender_owner}'].initial_data.data.procurementMethodType}
179 202 ${lot_id}= get_id_from_object ${USERS.users['${tender_owner}'].initial_data.data.lots[${index}]}
180 203 Run As ${tender_owner}
181 204 ... Скасувати лот
182 205 ... ${TENDER['TENDER_UAID']}
183 206 ... ${lot_id}
184 207 ... ${cancellation_data['cancellation_reason']}
  208 + ... ${cancellation_data['cancellation_reasonType']}
185 209 ... ${cancellation_data['document']['doc_path']}
186 210 ... ${cancellation_data['description']}
187 211 Set To Dictionary ${USERS.users['${tender_owner}']} lot_cancellation_data=${cancellation_data}
... ...
... ... @@ -12,19 +12,19 @@ from munch import munchify
12 12 from op_faker import OP_Provider
13 13 from .local_time import get_now, TZ
14 14
15   -
16 15 fake_en = Factory.create(locale='en_US')
17 16 fake_ru = Factory.create(locale='ru_RU')
18 17 fake_uk = Factory.create(locale='uk_UA')
19 18 fake_uk.add_provider(OP_Provider)
20 19 fake = fake_uk
21 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 25 violationType = ["corruptionDescription", "corruptionProcurementMethodType", "corruptionChanges",
26   - "corruptionPublicDisclosure", "corruptionBiddingDocuments", "documentsForm",
27   - "corruptionAwarded", "corruptionCancelled", "corruptionContracting"]
  26 + "corruptionPublicDisclosure", "corruptionBiddingDocuments", "documentsForm",
  27 + "corruptionAwarded", "corruptionCancelled", "corruptionContracting"]
28 28
29 29 # This workaround fixes an error caused by missing "catch_phrase" class method
30 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 106
107 107
108 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 111 else:
112   - return (int (value1) - int (value2))
  112 + return (int(value1) - int(value2))
113 113
114 114
115 115 def create_fake_value_amount():
... ... @@ -132,7 +132,7 @@ def translate_country_en(country):
132 132
133 133
134 134 def convert_amount(amount):
135   - return (("{:,}".format(float (amount))).replace(',',' ').replace('.',','))
  135 + return ("{:,}".format(float(amount))).replace(',', ' ').replace('.', ',')
136 136
137 137
138 138 def translate_country_ru(country):
... ... @@ -201,7 +201,7 @@ def test_tender_data(params,
201 201 accelerator = accelerator \
202 202 if accelerator else params['intervals']['accelerator']
203 203 data['procurementMethodDetails'] = 'quick, ' \
204   - 'accelerator={}'.format(accelerator)
  204 + 'accelerator={}'.format(accelerator)
205 205 data["procuringEntity"]["kind"] = "other"
206 206 if data.get("mode") == "test":
207 207 data["title"] = u"[ТЕСТУВАННЯ] {}".format(data["title"])
... ... @@ -318,7 +318,7 @@ def test_tender_data_planning(params):
318 318 "mode": "test",
319 319 "items": [],
320 320 "buyers": []
321   - }
  321 + }
322 322 data["procuringEntity"]["name"] = data["procuringEntity"]["identifier"]["legalName"]
323 323 buyers = test_buyers_data()
324 324 buyers["name"] = buyers["identifier"]["legalName"]
... ... @@ -345,7 +345,8 @@ def test_tender_data_planning(params):
345 345 item_data = test_item_data(id_cpv)
346 346 del item_data['deliveryAddress']
347 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 350 del item_data['deliveryDate']['startDate']
350 351 data['items'].append(item_data)
351 352 if params['mode'] in mode_open:
... ... @@ -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 523 def test_submit_claim_data(claim_id):
514 524 return munchify({
515 525 "data": {
... ... @@ -581,12 +591,12 @@ def test_bid_value(max_value_amount, vat_included):
581 591 def test_bid_value_esco(tender_data):
582 592 annual_cost = []
583 593 for i in range(0, 21):
584   - cost=round(random.uniform(1, 100), 2)
  594 + cost = round(random.uniform(1, 100), 2)
585 595 annual_cost.append(cost)
586 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 598 else:
589   - yearly_percentage= 0.8
  599 + yearly_percentage = 0.8
590 600 # when tender fundingKind is budget, yearlyPaymentsPercentageRange should be less or equal 0.8, and more or equal 0
591 601 # when tender fundingKind is other, yearlyPaymentsPercentageRange should be equal 0.8
592 602 return munchify({
... ... @@ -613,7 +623,9 @@ def test_bid_data_selection(data, index):
613 623 })
614 624 bid.data['status'] = 'draft'
615 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 629 return bid
618 630
619 631
... ... @@ -641,8 +653,10 @@ def test_item_data(cpv=None):
641 653 startDate = fake.random_int(min=1, max=30)
642 654 endDate = startDate + fake.random_int(min=1, max=7)
643 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 661 data["deliveryAddress"]["countryName_en"] = translate_country_en(data["deliveryAddress"]["countryName"])
648 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 748 data['procuringEntity']['name_en'] = fake_en.name()
735 749 data['procuringEntity']['contactPoint']['name_en'] = fake_en.name()
736 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 753 data['procuringEntity']['kind'] = 'general'
739 754 return data
740 755
... ... @@ -784,34 +799,34 @@ def test_tender_data_selection(procedure_intervals, params, submissionMethodDeta
784 799 data['agreements'] = [{'id': tender_data['data']['agreements'][0]['id']}]
785 800 del data['value']
786 801 del data['minimalStep']
787   - return munchify({'data':data})
  802 + return munchify({'data': data})
788 803
789 804
790 805 def test_change_data():
791 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 819 def test_agreement_change_data(rationaleType):
805 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 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 838 }
824 839 ]
825 840 }
826   - return munchify({'data':data})
  841 + return munchify({'data': data})
827 842
828 843
829 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 858 def test_party():
... ... @@ -852,26 +864,26 @@ def test_party():
852 864
853 865 def test_dialogue():
854 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 876 def test_conclusion(violationOccurred, relatedParty_id):
865 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 889 def test_status_data(status, relatedParty_id=None):
... ... @@ -926,7 +938,7 @@ def test_tender_data_esco(params, submissionMethodDetails, plan_data):
926 938 if index == 0:
927 939 data['lots'][index]['minimalStepPercentage'] = data['minimalStepPercentage']
928 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 942 if data['fundingKind'] == "budget":
931 943 data['lots'][index]['yearlyPaymentsPercentageRange'] = float(round(random.uniform(0.01, 0.8), 5))
932 944 else:
... ... @@ -968,25 +980,25 @@ def percentage_generation(number_of_milestones):
968 980
969 981 def invalid_INN_data():
970 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 989 def invalid_cost_data():
978 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 997 def invalid_gmdn_data():
986 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 1021 "legalName": "Київський Тестовий Ліцей",
1010 1022 },
1011 1023 "name": "Київський Тестовий Ліцей"
1012   - }
  1024 + }
1013 1025 return munchify(buyers)
1014 1026
1015 1027
... ... @@ -1047,3 +1059,15 @@ def breakdown_value_generation(number_of_breakdown, plan_value):
1047 1059 value_data = [round(random.uniform(1, plan_value / number_of_breakdown), 2) for _ in range(number_of_breakdown - 1)]
1048 1060 value_data.append(round(plan_value - sum(value_data), 2))
1049 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 353
354 354
355 355 Підготувати дані про скасування
  356 + [Arguments] ${procurementMethodType}
  357 + ${cancellation_data}= test_cancellation_data ${procurementMethodType}
356 358 ${cancellation_reason}= create_fake_sentence
357 359 ${cancellation_reason}= field_with_id c ${cancellation_reason}
358 360 ${cancellation_id}= get_id_from_string ${cancellation_reason}
... ... @@ -366,6 +368,7 @@ Get Broker Property By Username
366 368 ${new_description}= create_fake_sentence
367 369 ${cancellation_data}= Create Dictionary
368 370 ... cancellation_reason=${cancellation_reason}
  371 + ... cancellation_reasonType=${cancellation_data.reasonType}
369 372 ... cancellation_id=${cancellation_id}
370 373 ... document=${document}
371 374 ... description=${new_description}
... ... @@ -1018,6 +1021,12 @@ Require Failure
1018 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 1031 [Arguments] ${username} ${tender_uaid}
1023 1032 Оновити LAST_MODIFICATION_DATE
... ... @@ -1226,6 +1235,19 @@ Require Failure
1226 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 + ... 20 min
  1243 + ... 60 sec
  1244 + ... Звірити статус cancellations
  1245 + ... ${username}
  1246 + ... ${tender_uaid}
  1247 + ... ${status}
  1248 + ... ${cancellation_index}
  1249 +
  1250 +
1229 1251 Оновити LAST_MODIFICATION_DATE
1230 1252 [Documentation]
1231 1253 ... Variable ``${TEST_STATUS}`` is only available in test case teardown.
... ...
... ... @@ -60,7 +60,7 @@ from .initial_data import (
60 60 test_tender_data_framework_agreement,
61 61 test_tender_data_selection,
62 62 test_bid_competitive_data,
63   - tets_monitoring_data,
  63 + test_monitoring_data,
64 64 test_party,
65 65 test_dialogue,
66 66 test_conclusion,
... ... @@ -82,7 +82,9 @@ from .initial_data import (
82 82 test_plan_cancel_data,
83 83 test_confirm_plan_cancel_data,
84 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 89 from barbecue import chef
88 90 from restkit import request
... ...
... ... @@ -3,12 +3,16 @@
3 3 -v NUMBER_OF_ITEMS:1
4 4 -v NUMBER_OF_LOTS:2
5 5
6   --v TENDER_MEAT:True
7   --v ITEM_MEAT:True
8   --v LOT_MEAT:True
  6 +-v TENDER_MEAT:False
  7 +-v ITEM_MEAT:False
  8 +-v LOT_MEAT:False
9 9
10 10 -i create_tender
11 11 -i find_tender
12   --i tender_cancellation
13 12 -i lot_cancellation
  13 +-i lot_cancellation_stand_still
  14 +-i lot_cancellation_view
  15 +-i tender_cancellation
  16 +-i tender_cancellation_stand_still
  17 +-i tender_cancellation_view
14 18 -i delete_lot
\ No newline at end of file
... ...
  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
\ No newline at end of file
... ...
  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
\ No newline at end of file
... ...
  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
\ No newline at end of file
... ...
... ... @@ -9,4 +9,6 @@
9 9
10 10 -i create_tender
11 11 -i find_tender
12   --i tender_cancellation
\ No newline at end of file
  12 +-i tender_cancellation
  13 +-i tender_cancellation_stand_still
  14 +-i tender_cancellation_view
\ No newline at end of file
... ...
  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
\ No newline at end of file
... ...
  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
\ No newline at end of file
... ...
Please register or login to post a comment