Commit 77a457d67f28ab9a87dcb8b35fe45d5c2f9135ac
Committed by
GitHub
Merge pull request #133 from ProzorroUKR/gmdn_cost
Gmdn cost
Showing
8 changed files
with
483 additions
and
1 deletions
@@ -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 | + |
robot_tests_arguments/cost_validation.txt
0 → 100644
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 | + |
robot_tests_arguments/gmdn_validation.txt
0 → 100644
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