Commit 77a457d67f28ab9a87dcb8b35fe45d5c2f9135ac

Authored by alexdiatlov
Committed by GitHub
2 parents df90c8df d3eacd12

Merge pull request #133 from ProzorroUKR/gmdn_cost

Gmdn cost
@@ -23,6 +23,8 @@ ${ERROR_MESSAGE}= Calling method 'get_tender' failed: ResourceGone: {"status": @@ -23,6 +23,8 @@ ${ERROR_MESSAGE}= Calling method 'get_tender' failed: ResourceGone: {"status":
23 ... api_host_url=${API_HOST_URL} 23 ... api_host_url=${API_HOST_URL}
24 ... moz_integration=${${MOZ_INTEGRATION}} 24 ... moz_integration=${${MOZ_INTEGRATION}}
25 ... vat_included=${${VAT_INCLUDED}} 25 ... vat_included=${${VAT_INCLUDED}}
  26 + ... road_index=${${ROAD_INDEX}}
  27 + ... gmdn_index=${${GMDN_INDEX}}
26 ${DIALOGUE_TYPE}= Get Variable Value ${DIALOGUE_TYPE} 28 ${DIALOGUE_TYPE}= Get Variable Value ${DIALOGUE_TYPE}
27 ${FUNDING_KIND}= Get Variable Value ${FUNDING_KIND} 29 ${FUNDING_KIND}= Get Variable Value ${FUNDING_KIND}
28 Run keyword if '${DIALOGUE_TYPE}' != '${None}' Set to dictionary ${tender_parameters} dialogue_type=${DIALOGUE_TYPE} 30 Run keyword if '${DIALOGUE_TYPE}' != '${None}' Set to dictionary ${tender_parameters} dialogue_type=${DIALOGUE_TYPE}
@@ -46,6 +48,8 @@ ${ERROR_MESSAGE}= Calling method 'get_tender' failed: ResourceGone: {"status": @@ -46,6 +48,8 @@ ${ERROR_MESSAGE}= Calling method 'get_tender' failed: ResourceGone: {"status":
46 ... item_meat=${${ITEM_MEAT}} 48 ... item_meat=${${ITEM_MEAT}}
47 ... api_host_url=${API_HOST_URL} 49 ... api_host_url=${API_HOST_URL}
48 ... moz_integration=${${MOZ_INTEGRATION}} 50 ... moz_integration=${${MOZ_INTEGRATION}}
  51 + ... road_index=${${ROAD_INDEX}}
  52 + ... gmdn_index=${${GMDN_INDEX}}
49 ${submissionMethodDetails}= Get Variable Value ${submissionMethodDetails} 53 ${submissionMethodDetails}= Get Variable Value ${submissionMethodDetails}
50 ${period_intervals}= compute_intrs ${BROKERS} ${used_brokers} 54 ${period_intervals}= compute_intrs ${BROKERS} ${used_brokers}
51 ${first_stage}= Run As ${provider2} Пошук тендера по ідентифікатору ${TENDER['TENDER_UAID']} 55 ${first_stage}= Run As ${provider2} Пошук тендера по ідентифікатору ${TENDER['TENDER_UAID']}
@@ -72,6 +76,8 @@ ${ERROR_MESSAGE}= Calling method 'get_tender' failed: ResourceGone: {"status": @@ -72,6 +76,8 @@ ${ERROR_MESSAGE}= Calling method 'get_tender' failed: ResourceGone: {"status":
72 ... item_meat=${${ITEM_MEAT}} 76 ... item_meat=${${ITEM_MEAT}}
73 ... api_host_url=${API_HOST_URL} 77 ... api_host_url=${API_HOST_URL}
74 ... moz_integration=${${MOZ_INTEGRATION}} 78 ... moz_integration=${${MOZ_INTEGRATION}}
  79 + ... road_index=${${ROAD_INDEX}}
  80 + ... gmdn_index=${${GMDN_INDEX}}
75 ${DIALOGUE_TYPE}= Get Variable Value ${DIALOGUE_TYPE} 81 ${DIALOGUE_TYPE}= Get Variable Value ${DIALOGUE_TYPE}
76 ${FUNDING_KIND}= Get Variable Value ${FUNDING_KIND} 82 ${FUNDING_KIND}= Get Variable Value ${FUNDING_KIND}
77 Run keyword if '${DIALOGUE_TYPE}' != '${None}' Set to dictionary ${tender_parameters} dialogue_type=${DIALOGUE_TYPE} 83 Run keyword if '${DIALOGUE_TYPE}' != '${None}' Set to dictionary ${tender_parameters} dialogue_type=${DIALOGUE_TYPE}
@@ -85,6 +91,66 @@ ${ERROR_MESSAGE}= Calling method 'get_tender' failed: ResourceGone: {"status": @@ -85,6 +91,66 @@ ${ERROR_MESSAGE}= Calling method 'get_tender' failed: ResourceGone: {"status":
85 Set To Dictionary ${TENDER} TENDER_UAID=${TENDER_UAID} 91 Set To Dictionary ${TENDER} TENDER_UAID=${TENDER_UAID}
86 92
87 93
  94 +Можливість оголосити тендер з використанням валідації Індекс автомобільних доріг
  95 + [Arguments] ${data_version}
  96 + ${NUMBER_OF_LOTS}= Convert To Integer ${NUMBER_OF_LOTS}
  97 + ${NUMBER_OF_ITEMS}= Convert To Integer ${NUMBER_OF_ITEMS}
  98 + ${NUMBER_OF_MILESTONES}= Convert To Integer ${NUMBER_OF_MILESTONES}
  99 + ${tender_parameters}= Create Dictionary
  100 + ... mode=${MODE}
  101 + ... number_of_items=${NUMBER_OF_ITEMS}
  102 + ... number_of_lots=${NUMBER_OF_LOTS}
  103 + ... number_of_milestones=${NUMBER_OF_MILESTONES}
  104 + ... tender_meat=${${TENDER_MEAT}}
  105 + ... lot_meat=${${LOT_MEAT}}
  106 + ... item_meat=${${ITEM_MEAT}}
  107 + ... api_host_url=${API_HOST_URL}
  108 + ... moz_integration=${${MOZ_INTEGRATION}}
  109 + ... road_index=${${ROAD_INDEX}}
  110 + ... gmdn_index=${${GMDN_INDEX}}
  111 + ${DIALOGUE_TYPE}= Get Variable Value ${DIALOGUE_TYPE}
  112 + ${FUNDING_KIND}= Get Variable Value ${FUNDING_KIND}
  113 + Run keyword if '${DIALOGUE_TYPE}' != '${None}' Set to dictionary ${tender_parameters} dialogue_type=${DIALOGUE_TYPE}
  114 + Run keyword if '${FUNDING_KIND}' != '${None}' Set to dictionary ${tender_parameters} fundingKind=${FUNDING_KIND}
  115 + ${tender_data}= Підготувати дані для створення тендера ${tender_parameters}
  116 + ${adapted_data}= Адаптувати дані для оголошення тендера ${tender_data}
  117 + ${adapted_data_cost}= edit_tender_data_for_cost ${adapted_data} ${MODE} ${data_version}
  118 + Log ${adapted_data_cost}
  119 + ${TENDER_UAID}= Run As ${tender_owner} Створити тендер ${adapted_data_cost}
  120 + Set To Dictionary ${USERS.users['${tender_owner}']} initial_data=${adapted_data_cost}
  121 + Set To Dictionary ${TENDER} TENDER_UAID=${TENDER_UAID}
  122 +
  123 +
  124 +Можливість оголосити тендер з використанням валідації класифікатор медичних виробів
  125 + [Arguments] ${data_version}
  126 + ${NUMBER_OF_LOTS}= Convert To Integer ${NUMBER_OF_LOTS}
  127 + ${NUMBER_OF_ITEMS}= Convert To Integer ${NUMBER_OF_ITEMS}
  128 + ${NUMBER_OF_MILESTONES}= Convert To Integer ${NUMBER_OF_MILESTONES}
  129 + ${tender_parameters}= Create Dictionary
  130 + ... mode=${MODE}
  131 + ... number_of_items=${NUMBER_OF_ITEMS}
  132 + ... number_of_lots=${NUMBER_OF_LOTS}
  133 + ... number_of_milestones=${NUMBER_OF_MILESTONES}
  134 + ... tender_meat=${${TENDER_MEAT}}
  135 + ... lot_meat=${${LOT_MEAT}}
  136 + ... item_meat=${${ITEM_MEAT}}
  137 + ... api_host_url=${API_HOST_URL}
  138 + ... moz_integration=${${MOZ_INTEGRATION}}
  139 + ... road_index=${${ROAD_INDEX}}
  140 + ... gmdn_index=${${GMDN_INDEX}}
  141 + ${DIALOGUE_TYPE}= Get Variable Value ${DIALOGUE_TYPE}
  142 + ${FUNDING_KIND}= Get Variable Value ${FUNDING_KIND}
  143 + Run keyword if '${DIALOGUE_TYPE}' != '${None}' Set to dictionary ${tender_parameters} dialogue_type=${DIALOGUE_TYPE}
  144 + Run keyword if '${FUNDING_KIND}' != '${None}' Set to dictionary ${tender_parameters} fundingKind=${FUNDING_KIND}
  145 + ${tender_data}= Підготувати дані для створення тендера ${tender_parameters}
  146 + ${adapted_data}= Адаптувати дані для оголошення тендера ${tender_data}
  147 + ${adapted_data_gmdn}= edit_tender_data_for_gmdn ${adapted_data} ${MODE} ${data_version}
  148 + Log ${adapted_data_gmdn}
  149 + ${TENDER_UAID}= Run As ${tender_owner} Створити тендер ${adapted_data_gmdn}
  150 + Set To Dictionary ${USERS.users['${tender_owner}']} initial_data=${adapted_data_gmdn}
  151 + Set To Dictionary ${TENDER} TENDER_UAID=${TENDER_UAID}
  152 +
  153 +
88 Можливість створити об'єкт моніторингу 154 Можливість створити об'єкт моніторингу
89 ${period_intervals}= compute_intrs ${BROKERS} ${used_brokers} 155 ${period_intervals}= compute_intrs ${BROKERS} ${used_brokers}
90 ${accelerator}= Get Variable Value ${accelerator} 156 ${accelerator}= Get Variable Value ${accelerator}
@@ -217,6 +217,10 @@ def test_tender_data(params, @@ -217,6 +217,10 @@ def test_tender_data(params,
217 data.update(period_dict) 217 data.update(period_dict)
218 if params.get('moz_integration'): 218 if params.get('moz_integration'):
219 cpv_group = 336 219 cpv_group = 336
  220 + elif params.get('road_index'):
  221 + cpv_group = 'road'
  222 + elif params.get('gmdn_index'):
  223 + cpv_group = 'gmdn'
220 else: 224 else:
221 cpv_group = fake.cpv()[:4] 225 cpv_group = fake.cpv()[:4]
222 if params.get('number_of_lots'): 226 if params.get('number_of_lots'):
@@ -911,3 +915,19 @@ def invalid_INN_data(): @@ -911,3 +915,19 @@ def invalid_INN_data():
911 }) 915 })
912 916
913 917
  918 +def invalid_cost_data():
  919 + return munchify({
  920 + "scheme": "UA-ROAD",
  921 + "id": "М-15",
  922 + "description": "Одеса - Рені (на м. Бухарест)"
  923 + })
  924 +
  925 +
  926 +def invalid_gmdn_data():
  927 + return munchify({
  928 + "scheme": "GMDN",
  929 + "id": "33110",
  930 + "description": "Коліматор радіонуклідної системи, високоенергетичний"
  931 + })
  932 +
  933 +
@@ -27,6 +27,8 @@ class OP_Provider(BaseProvider): @@ -27,6 +27,8 @@ class OP_Provider(BaseProvider):
27 classifications = _fake_data.classifications 27 classifications = _fake_data.classifications
28 cpvs = _fake_data.cpvs 28 cpvs = _fake_data.cpvs
29 moz_cpvs = _fake_data.moz_cpvs 29 moz_cpvs = _fake_data.moz_cpvs
  30 + road_cpvs = _fake_data.road_cpvs
  31 + gmdn_cpvs = _fake_data.gmdn_cpvs
30 items_base_data = _fake_data.items_base_data 32 items_base_data = _fake_data.items_base_data
31 rationale_types = _fake_data.rationale_types 33 rationale_types = _fake_data.rationale_types
32 title_of_milestones = _fake_data.title_of_milestones 34 title_of_milestones = _fake_data.title_of_milestones
@@ -119,6 +121,28 @@ class OP_Provider(BaseProvider): @@ -119,6 +121,28 @@ class OP_Provider(BaseProvider):
119 return self.random_element(self.cpvs) 121 return self.random_element(self.cpvs)
120 122
121 @classmethod 123 @classmethod
  124 + def road_cpv(self, cpv_group=None):
  125 + if cpv_group:
  126 + road_cpvs = []
  127 + for cpv_element in self.road_cpvs:
  128 + if cpv_element.startswith(cpv_group):
  129 + road_cpvs.append(road_cpvs)
  130 + return self.random_element(road_cpvs)
  131 + else:
  132 + return self.random_element(self.road_cpvs)
  133 +
  134 + @classmethod
  135 + def gmdn_cpv(self, cpv_group=None):
  136 + if cpv_group:
  137 + gmdn_cpvs = []
  138 + for cpv_element in self.gmdn_cpvs:
  139 + if cpv_element.startswith(cpv_group):
  140 + gmdn_cpvs.append(gmdn_cpvs)
  141 + return self.random_element(gmdn_cpvs)
  142 + else:
  143 + return self.random_element(self.gmdn_cpvs)
  144 +
  145 + @classmethod
122 def fake_item(self, cpv_group=None): 146 def fake_item(self, cpv_group=None):
123 """ 147 """
124 Generate a random item for openprocurement tenders 148 Generate a random item for openprocurement tenders
@@ -133,6 +157,10 @@ class OP_Provider(BaseProvider): @@ -133,6 +157,10 @@ class OP_Provider(BaseProvider):
133 cpv = self.random_element(self.cpvs) 157 cpv = self.random_element(self.cpvs)
134 elif cpv_group == 336: 158 elif cpv_group == 336:
135 cpv = self.random_element(self.moz_cpvs) 159 cpv = self.random_element(self.moz_cpvs)
  160 + elif cpv_group == 'road':
  161 + cpv = self.random_element(self.road_cpvs)
  162 + elif cpv_group == 'gmdn':
  163 + cpv = self.random_element(self.gmdn_cpvs)
136 else: 164 else:
137 cpv_group = str(cpv_group) 165 cpv_group = str(cpv_group)
138 similar_cpvs = [] 166 similar_cpvs = []
@@ -7872,6 +7872,90 @@ @@ -7872,6 +7872,90 @@
7872 "id": "33600000-6", 7872 "id": "33600000-6",
7873 "description": "Фармацевтична продукція" 7873 "description": "Фармацевтична продукція"
7874 } 7874 }
  7875 + },
  7876 + {
  7877 + "additionalClassifications": [
  7878 + {
  7879 + "scheme": "UA-ROAD",
  7880 + "id": "М-15",
  7881 + "description": "Одеса - Рені (на м. Бухарест)"
  7882 + }
  7883 + ],
  7884 + "classification": {
  7885 + "scheme": "ДК021",
  7886 + "id": "34920000-2",
  7887 + "description": "Дорожнє обладнання"
  7888 + }
  7889 + },
  7890 + {
  7891 + "additionalClassifications": [
  7892 + {
  7893 + "scheme": "GMDN",
  7894 + "id": "33110",
  7895 + "description": "Коліматор радіонуклідної системи, високоенергетичний"
  7896 + }
  7897 + ],
  7898 + "classification": {
  7899 + "scheme": "ДК021",
  7900 + "id": "33110000-4",
  7901 + "description": "Візуалізаційне обладнання для потреб медицини, стоматології та ветеринарної медицини"
  7902 + }
  7903 + },
  7904 + {
  7905 + "additionalClassifications": [
  7906 + {
  7907 + "scheme": "UA-ROAD",
  7908 + "id": "М-05",
  7909 + "description": "Київ - Одеса"
  7910 + }
  7911 + ],
  7912 + "classification": {
  7913 + "scheme": "ДК021",
  7914 + "id": "71246000-4",
  7915 + "description": "Здійснення та документування необхідних будівельних розрахунків"
  7916 + }
  7917 + },
  7918 + {
  7919 + "additionalClassifications": [
  7920 + {
  7921 + "scheme": "GMDN",
  7922 + "id": "10098",
  7923 + "description": "Відкривач для ампул"
  7924 + }
  7925 + ],
  7926 + "classification": {
  7927 + "scheme": "ДК021",
  7928 + "id": "33792000-8",
  7929 + "description": "Скляний посуд фармацевтичного призначення"
  7930 + }
  7931 + },
  7932 + {
  7933 + "additionalClassifications": [
  7934 + {
  7935 + "scheme": "UA-ROAD",
  7936 + "id": "М-10",
  7937 + "description": "Львів - Краковець (на м. Краків)"
  7938 + }
  7939 + ],
  7940 + "classification": {
  7941 + "scheme": "ДК021",
  7942 + "id": "63712310-9",
  7943 + "description": "Послуги з експлуатації мостів"
  7944 + }
  7945 + },
  7946 + {
  7947 + "additionalClassifications": [
  7948 + {
  7949 + "scheme": "GMDN",
  7950 + "id": "17437",
  7951 + "description": "Опромінювач крові йонізівним промінням"
  7952 + }
  7953 + ],
  7954 + "classification": {
  7955 + "scheme": "ДК021",
  7956 + "id": "38945000-7",
  7957 + "description": "Лічильники гамма-частинок"
  7958 + }
7875 } 7959 }
7876 ], 7960 ],
7877 "units": [ 7961 "units": [
@@ -7981,6 +8065,18 @@ @@ -7981,6 +8065,18 @@
7981 "33692100-8", 8065 "33692100-8",
7982 "33600000-6" 8066 "33600000-6"
7983 ], 8067 ],
  8068 + "road_cpvs": [
  8069 + "34920000-2",
  8070 + "71246000-4",
  8071 + "63712310-9"
  8072 + ],
  8073 +
  8074 + "gmdn_cpvs": [
  8075 + "33110000-4",
  8076 + "33792000-8",
  8077 + "38945000-7"
  8078 + ],
  8079 +
7984 "items_base_data": [ 8080 "items_base_data": [
7985 { 8081 {
7986 "cpv_id": "99999999-9", 8082 "cpv_id": "99999999-9",
@@ -8201,6 +8297,72 @@ @@ -8201,6 +8297,72 @@
8201 "code": "VI", 8297 "code": "VI",
8202 "name": "Флакон" 8298 "name": "Флакон"
8203 } 8299 }
  8300 + },
  8301 + {
  8302 + "cpv_id": "34920000-2",
  8303 + "description": "Дорожнє обладнання",
  8304 + "description_ru": "Дорожное оборудование",
  8305 + "description_en": "Road Equipment",
  8306 + "quantity": 15,
  8307 + "unit": {
  8308 + "code": "H87",
  8309 + "name": "Штуки"
  8310 + }
  8311 + },
  8312 + {
  8313 + "cpv_id": "33110000-4",
  8314 + "description": "Візуалізаційне обладнання для потреб медицини, стоматології та ветеринарної медицини",
  8315 + "description_ru": "Визуализационное оборудование",
  8316 + "description_en": "Visual Equipment",
  8317 + "quantity": 15,
  8318 + "unit": {
  8319 + "code": "H87",
  8320 + "name": "Штуки"
  8321 + }
  8322 + },
  8323 + {
  8324 + "cpv_id": "71246000-4",
  8325 + "description": "Здійснення та документування необхідних будівельних розрахунків",
  8326 + "description_ru": "Здійснення та документування необхідних будівельних розрахунків",
  8327 + "description_en": "Implementation and documentation of necessary construction calculations",
  8328 + "quantity": 15,
  8329 + "unit": {
  8330 + "code": "H87",
  8331 + "name": "Штуки"
  8332 + }
  8333 + },
  8334 + {
  8335 + "cpv_id": "33792000-8",
  8336 + "description": "Скляний посуд фармацевтичного призначення",
  8337 + "description_ru": "Скляний посуд фармацевтичного призначення",
  8338 + "description_en": "Glass Dishes for Pharmaceutical Purposes",
  8339 + "quantity": 15,
  8340 + "unit": {
  8341 + "code": "H87",
  8342 + "name": "Штуки"
  8343 + }
  8344 + },
  8345 + {
  8346 + "cpv_id": "63712310-9",
  8347 + "description": "Послуги з експлуатації мостів",
  8348 + "description_ru": "Послуги з експлуатації мостів",
  8349 + "description_en": "Bridges service",
  8350 + "quantity": 15,
  8351 + "unit": {
  8352 + "code": "H87",
  8353 + "name": "Штуки"
  8354 + }
  8355 + },
  8356 + {
  8357 + "cpv_id": "38945000-7",
  8358 + "description": "Лічильники гамма-частинок",
  8359 + "description_ru": "Лічильники гамма-частинок",
  8360 + "description_en": "Gamma Particle Counters",
  8361 + "quantity": 15,
  8362 + "unit": {
  8363 + "code": "H87",
  8364 + "name": "Штуки"
  8365 + }
8204 } 8366 }
8205 ], 8367 ],
8206 "rationale_types": [ 8368 "rationale_types": [
@@ -18,6 +18,8 @@ ${LOT_MEAT} ${True} @@ -18,6 +18,8 @@ ${LOT_MEAT} ${True}
18 ${ITEM_MEAT} ${True} 18 ${ITEM_MEAT} ${True}
19 ${MOZ_INTEGRATION} ${False} 19 ${MOZ_INTEGRATION} ${False}
20 ${VAT_INCLUDED} ${True} 20 ${VAT_INCLUDED} ${True}
  21 +${ROAD_INDEX} ${False}
  22 +${GMDN_INDEX} ${False}
21 23
22 *** Test Cases *** 24 *** Test Cases ***
23 Можливість оголосити тендер 25 Можливість оголосити тендер
@@ -110,6 +112,116 @@ ${VAT_INCLUDED} ${True} @@ -110,6 +112,116 @@ ${VAT_INCLUDED} ${True}
110 Можливість оголосити тендер з використанням валідації для MNN ${8} 112 Можливість оголосити тендер з використанням валідації для MNN ${8}
111 113
112 114
  115 +Опублікувати тендер на закупівлю дорожніх робіт без додаткового класифікатора
  116 + [Tags] ${USERS.users['${tender_owner}'].broker}: Оголошення тендера
  117 + ... tender_owner
  118 + ... ${USERS.users['${tender_owner}'].broker}
  119 + ... create_tender_cost_no_addclass level1
  120 + ... critical
  121 + [Teardown] Оновити LAST_MODIFICATION_DATE
  122 + Можливість оголосити тендер з використанням валідації Індекс автомобільних доріг ${1}
  123 +
  124 +
  125 +Неможливість опублікувати тендер на закупівлю дорожніх робіт з 2-ма додатковими класифікаторами
  126 + [Tags] ${USERS.users['${tender_owner}'].broker}: Оголошення тендера
  127 + ... tender_owner
  128 + ... ${USERS.users['${tender_owner}'].broker}
  129 + ... create_tender_cost_2_addclass level1
  130 + ... critical
  131 + [Teardown] Оновити LAST_MODIFICATION_DATE
  132 + Run Keyword And Expect Error * Можливість оголосити тендер з використанням валідації Індекс автомобільних доріг ${2}
  133 +
  134 +
  135 +Неможливість опублікувати тендер на закупівлю дорожніх робіт з невалідним id дороги
  136 + [Tags] ${USERS.users['${tender_owner}'].broker}: Оголошення тендера
  137 + ... tender_owner
  138 + ... ${USERS.users['${tender_owner}'].broker}
  139 + ... create_tender_cost_invalid_addclass_id level1
  140 + ... critical
  141 + [Teardown] Оновити LAST_MODIFICATION_DATE
  142 + Run Keyword And Expect Error * Можливість оголосити тендер з використанням валідації Індекс автомобільних доріг ${3}
  143 +
  144 +
  145 +Неможливість опублікувати тендер на закупівлю дорожніх робіт з невалідним description дороги
  146 + [Tags] ${USERS.users['${tender_owner}'].broker}: Оголошення тендера
  147 + ... tender_owner
  148 + ... ${USERS.users['${tender_owner}'].broker}
  149 + ... create_tender_cost_invalid_addclass_description level1
  150 + ... critical
  151 + [Teardown] Оновити LAST_MODIFICATION_DATE
  152 + Run Keyword And Expect Error * Можливість оголосити тендер з використанням валідації Індекс автомобільних доріг ${4}
  153 +
  154 +
  155 +Неможливість опублікувати тендер cpv не відповідає додатковому класифікатору UA-ROAD
  156 + [Tags] ${USERS.users['${tender_owner}'].broker}: Оголошення тендера
  157 + ... tender_owner
  158 + ... ${USERS.users['${tender_owner}'].broker}
  159 + ... create_tender_cost_invalid_addclass level1
  160 + ... critical
  161 + [Teardown] Оновити LAST_MODIFICATION_DATE
  162 + Run Keyword And Expect Error * Можливість оголосити тендер з використанням валідації Індекс автомобільних доріг ${5}
  163 +
  164 +
  165 +Опублікувати тендер на закупівлю медичних виробів без додаткового класифікатора
  166 + [Tags] ${USERS.users['${tender_owner}'].broker}: Оголошення тендера
  167 + ... tender_owner
  168 + ... ${USERS.users['${tender_owner}'].broker}
  169 + ... create_tender_gmdn_no_addclass level1
  170 + ... critical
  171 + [Teardown] Оновити LAST_MODIFICATION_DATE
  172 + Можливість оголосити тендер з використанням валідації класифікатор медичних виробів ${1}
  173 +
  174 +
  175 +Неможливість опублікувати на закупівлю медичних виробів з 2-ма додатковими класифікаторами
  176 + [Tags] ${USERS.users['${tender_owner}'].broker}: Оголошення тендера
  177 + ... tender_owner
  178 + ... ${USERS.users['${tender_owner}'].broker}
  179 + ... create_tender_gmdn_2_addclass level1
  180 + ... critical
  181 + [Teardown] Оновити LAST_MODIFICATION_DATE
  182 + Run Keyword And Expect Error * Можливість оголосити тендер з використанням валідації класифікатор медичних виробів ${2}
  183 +
  184 +
  185 +Неможливість опублікувати на закупівлю медичних виробів з невалідним id виробу
  186 + [Tags] ${USERS.users['${tender_owner}'].broker}: Оголошення тендера
  187 + ... tender_owner
  188 + ... ${USERS.users['${tender_owner}'].broker}
  189 + ... create_tender_gmdn_invalid_addclass_id level1
  190 + ... critical
  191 + [Teardown] Оновити LAST_MODIFICATION_DATE
  192 + Run Keyword And Expect Error * Можливість оголосити тендер з використанням валідації класифікатор медичних виробів ${3}
  193 +
  194 +
  195 +Неможливість опублікувати на закупівлю медичних виробів з невалідним description виробу
  196 + [Tags] ${USERS.users['${tender_owner}'].broker}: Оголошення тендера
  197 + ... tender_owner
  198 + ... ${USERS.users['${tender_owner}'].broker}
  199 + ... create_tender_gmdn_invalid_addclass_description level1
  200 + ... critical
  201 + [Teardown] Оновити LAST_MODIFICATION_DATE
  202 + Run Keyword And Expect Error * Можливість оголосити тендер з використанням валідації класифікатор медичних виробів ${4}
  203 +
  204 +
  205 +Неможливість опублікувати тендер cpv не відповідає додатковому класифікатору GMDN
  206 + [Tags] ${USERS.users['${tender_owner}'].broker}: Оголошення тендера
  207 + ... tender_owner
  208 + ... ${USERS.users['${tender_owner}'].broker}
  209 + ... create_tender_gmdn_invalid_addclass level1
  210 + ... critical
  211 + [Teardown] Оновити LAST_MODIFICATION_DATE
  212 + Run Keyword And Expect Error * Можливість оголосити тендер з використанням валідації класифікатор медичних виробів ${5}
  213 +
  214 +
  215 +Неможливість опублікувати тендер на закупівлю медичних виробів з INN
  216 + [Tags] ${USERS.users['${tender_owner}'].broker}: Оголошення тендера
  217 + ... tender_owner
  218 + ... ${USERS.users['${tender_owner}'].broker}
  219 + ... create_tender_gmdn_inn_addclass level1
  220 + ... critical
  221 + [Teardown] Оновити LAST_MODIFICATION_DATE
  222 + Run Keyword And Expect Error * Можливість оголосити тендер з використанням валідації класифікатор медичних виробів ${6}
  223 +
  224 +
113 Можливість знайти тендер по ідентифікатору 225 Можливість знайти тендер по ідентифікатору
114 [Tags] ${USERS.users['${viewer}'].broker}: Пошук тендера 226 [Tags] ${USERS.users['${viewer}'].broker}: Пошук тендера
115 ... viewer tender_owner provider provider1 227 ... viewer tender_owner provider provider1
@@ -75,7 +75,9 @@ from .initial_data import ( @@ -75,7 +75,9 @@ from .initial_data import (
75 convert_amount, 75 convert_amount,
76 get_number_of_minutes, 76 get_number_of_minutes,
77 get_hash, 77 get_hash,
78 - invalid_INN_data 78 + invalid_INN_data,
  79 + invalid_cost_data,
  80 + invalid_gmdn_data
79 ) 81 )
80 from barbecue import chef 82 from barbecue import chef
81 from restkit import request 83 from restkit import request
@@ -698,3 +700,53 @@ def edit_tender_data_for_mnn(data, mode, data_version): @@ -698,3 +700,53 @@ def edit_tender_data_for_mnn(data, mode, data_version):
698 return munchify(dict_data) 700 return munchify(dict_data)
699 701
700 702
  703 +def edit_tender_data_for_cost(data, mode, data_version):
  704 + test_data = {3: 'PQ-17', 4: 'Дорога'}
  705 + dict_data = unmunchify(data)
  706 +
  707 + if data_version is 1:
  708 + dict_data['data']['items'][0].pop('additionalClassifications', None)
  709 +
  710 + if data_version is 2:
  711 + add_cost = invalid_cost_data()
  712 + dict_data['data']['items'][0]['additionalClassifications'].append(add_cost)
  713 +
  714 + if data_version is 3:
  715 + dict_data['data']['items'][0]['additionalClassifications'][0]['id'] = test_data[data_version]
  716 +
  717 + if data_version is 4:
  718 + dict_data['data']['items'][0]['additionalClassifications'][0]['description'] = test_data[data_version]
  719 +
  720 + if data_version is 5:
  721 + add_cost = invalid_cost_data()
  722 + dict_data['data']['items'][0]['additionalClassifications'][0] = add_cost
  723 + return munchify(dict_data)
  724 +
  725 +
  726 +def edit_tender_data_for_gmdn(data, mode, data_version):
  727 + gmdn_test_data = {3: '9999', 4: 'Виріб'}
  728 + dict_data = unmunchify(data)
  729 +
  730 + if data_version is 1:
  731 + dict_data['data']['items'][0].pop('additionalClassifications', None)
  732 +
  733 + if data_version is 2:
  734 + add_gmdn = invalid_gmdn_data()
  735 + dict_data['data']['items'][0]['additionalClassifications'].append(add_gmdn)
  736 +
  737 + if data_version is 3:
  738 + dict_data['data']['items'][0]['additionalClassifications'][0]['id'] = gmdn_test_data[data_version]
  739 +
  740 + if data_version is 4:
  741 + dict_data['data']['items'][0]['additionalClassifications'][0]['description'] = gmdn_test_data[data_version]
  742 +
  743 + if data_version is 5:
  744 + add_gmdn = invalid_gmdn_data()
  745 + dict_data['data']['items'][0]['additionalClassifications'][0] = add_gmdn
  746 +
  747 + if data_version is 6:
  748 + add_INN = invalid_INN_data()
  749 + dict_data['data']['items'][0]['additionalClassifications'].append(add_INN)
  750 + return munchify(dict_data)
  751 +
  752 +
  1 +-v MODE:belowThreshold
  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 +-v ROAD_INDEX:True
  10 +
  11 +-i create_tender_cost_no_addclass
  12 +
  13 +-i create_tender_cost_2_addclass
  14 +
  15 +-i create_tender_cost_invalid_addclass_id
  16 +
  17 +-i create_tender_cost_invalid_addclass_description
  18 +
  19 +-i create_tender_cost_invalid_addclass
  20 +
  1 +-v MODE:belowThreshold
  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 +-v GMDN_INDEX:True
  10 +
  11 +-i create_tender_gmdn_no_addclass
  12 +
  13 +-i create_tender_gmdn_2_addclass
  14 +
  15 +-i create_tender_gmdn_invalid_addclass_id
  16 +
  17 +-i create_tender_gmdn_invalid_addclass_description
  18 +
  19 +-i create_tender_gmdn_invalid_addclass
  20 +
  21 +-i create_tender_gmdn_inn_addclass
  22 +
Please register or login to post a comment