Commit cd53b8c4f696781564fbd9a548605e0ee034301a
Committed by
GitHub
Merge pull request #137 from ProzorroUKR/dev_prozorro
Dev prozorro
Showing
15 changed files
with
811 additions
and
3 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} |
| @@ -8,7 +8,8 @@ Suite Teardown Test Suite Teardown | @@ -8,7 +8,8 @@ Suite Teardown Test Suite Teardown | ||
| 8 | ${MOZ_INTEGRATION} ${False} | 8 | ${MOZ_INTEGRATION} ${False} |
| 9 | ${VAT_INCLUDED} ${True} | 9 | ${VAT_INCLUDED} ${True} |
| 10 | ${NUMBER_OF_MILESTONES} ${0} | 10 | ${NUMBER_OF_MILESTONES} ${0} |
| 11 | - | 11 | +${ROAD_INDEX} ${False} |
| 12 | +${GMDN_INDEX} ${False} | ||
| 12 | 13 | ||
| 13 | *** Test Cases *** | 14 | *** Test Cases *** |
| 14 | Можливість оголосити тендер | 15 | Можливість оголосити тендер |
| @@ -17,6 +17,8 @@ ${ITEM_MEAT} ${0} | @@ -17,6 +17,8 @@ ${ITEM_MEAT} ${0} | ||
| 17 | ${LOT_MEAT} ${0} | 17 | ${LOT_MEAT} ${0} |
| 18 | ${lot_index} ${0} | 18 | ${lot_index} ${0} |
| 19 | ${award_index} ${0} | 19 | ${award_index} ${0} |
| 20 | +${ROAD_INDEX} ${False} | ||
| 21 | +${GMDN_INDEX} ${False} | ||
| 20 | 22 | ||
| 21 | *** Test Cases *** | 23 | *** Test Cases *** |
| 22 | 24 |
| @@ -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 | + |
| @@ -17,6 +17,8 @@ ${LOT_MEAT} ${True} | @@ -17,6 +17,8 @@ ${LOT_MEAT} ${True} | ||
| 17 | ${ITEM_MEAT} ${True} | 17 | ${ITEM_MEAT} ${True} |
| 18 | ${MOZ_INTEGRATION} ${False} | 18 | ${MOZ_INTEGRATION} ${False} |
| 19 | ${VAT_INCLUDED} ${True} | 19 | ${VAT_INCLUDED} ${True} |
| 20 | +${ROAD_INDEX} ${False} | ||
| 21 | +${GMDN_INDEX} ${False} | ||
| 20 | 22 | ||
| 21 | *** Test Cases *** | 23 | *** Test Cases *** |
| 22 | Можливість оголосити тендер | 24 | Можливість оголосити тендер |
| @@ -16,6 +16,8 @@ ${LOT_MEAT} ${False} | @@ -16,6 +16,8 @@ ${LOT_MEAT} ${False} | ||
| 16 | ${ITEM_MEAT} ${False} | 16 | ${ITEM_MEAT} ${False} |
| 17 | ${MOZ_INTEGRATION} ${False} | 17 | ${MOZ_INTEGRATION} ${False} |
| 18 | ${VAT_INCLUDED} ${True} | 18 | ${VAT_INCLUDED} ${True} |
| 19 | +${ROAD_INDEX} ${False} | ||
| 20 | +${GMDN_INDEX} ${False} | ||
| 19 | 21 | ||
| 20 | *** Test Cases *** | 22 | *** Test Cases *** |
| 21 | ############################################################################################## | 23 | ############################################################################################## |
| @@ -16,6 +16,8 @@ ${LOT_MEAT} ${False} | @@ -16,6 +16,8 @@ ${LOT_MEAT} ${False} | ||
| 16 | ${ITEM_MEAT} ${False} | 16 | ${ITEM_MEAT} ${False} |
| 17 | ${MOZ_INTEGRATION} ${False} | 17 | ${MOZ_INTEGRATION} ${False} |
| 18 | ${VAT_INCLUDED} ${True} | 18 | ${VAT_INCLUDED} ${True} |
| 19 | +${ROAD_INDEX} ${False} | ||
| 20 | +${GMDN_INDEX} ${False} | ||
| 19 | 21 | ||
| 20 | *** Test Cases *** | 22 | *** Test Cases *** |
| 21 | ############################################################################################## | 23 | ############################################################################################## |
| @@ -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,259 @@ | @@ -7872,6 +7872,259 @@ | ||
| 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 | + } | ||
| 7959 | + }, | ||
| 7960 | + { | ||
| 7961 | + "additionalClassifications": [ | ||
| 7962 | + { | ||
| 7963 | + "scheme": "UA-ROAD", | ||
| 7964 | + "id": "М-01", | ||
| 7965 | + "description": "Київ - Чернігів - Нові Яриловичі (на м. Гомель)" | ||
| 7966 | + } | ||
| 7967 | + ], | ||
| 7968 | + "classification": { | ||
| 7969 | + "scheme": "ДК021", | ||
| 7970 | + "id": "34921000-9", | ||
| 7971 | + "description": "Дорожньо-експлуатаційне обладнання" | ||
| 7972 | + } | ||
| 7973 | + }, | ||
| 7974 | + { | ||
| 7975 | + "additionalClassifications": [ | ||
| 7976 | + { | ||
| 7977 | + "scheme": "UA-ROAD", | ||
| 7978 | + "id": "М-02", | ||
| 7979 | + "description": "Кіпті - Глухів - Бачівськ (на м. Брянськ)" | ||
| 7980 | + } | ||
| 7981 | + ], | ||
| 7982 | + "classification": { | ||
| 7983 | + "scheme": "ДК021", | ||
| 7984 | + "id": "34921100-0", | ||
| 7985 | + "description": "Підмітально-прибиральні машини" | ||
| 7986 | + } | ||
| 7987 | + }, | ||
| 7988 | + { | ||
| 7989 | + "additionalClassifications": [ | ||
| 7990 | + { | ||
| 7991 | + "scheme": "UA-ROAD", | ||
| 7992 | + "id": "М-03", | ||
| 7993 | + "description": "Київ - Харків - Довжанський (на м. Ростов-на-Дону)" | ||
| 7994 | + } | ||
| 7995 | + ], | ||
| 7996 | + "classification": { | ||
| 7997 | + "scheme": "ДК021", | ||
| 7998 | + "id": "71247000-1", | ||
| 7999 | + "description": "Нагляд за будівельними роботами" | ||
| 8000 | + } | ||
| 8001 | + }, | ||
| 8002 | + { | ||
| 8003 | + "additionalClassifications": [ | ||
| 8004 | + { | ||
| 8005 | + "scheme": "UA-ROAD", | ||
| 8006 | + "id": "М-04", | ||
| 8007 | + "description": "Знам’янка - Луганськ - Ізварине (на м. Волгоград через мм. Дніпро, Донецьк)" | ||
| 8008 | + | ||
| 8009 | + } | ||
| 8010 | + ], | ||
| 8011 | + "classification": { | ||
| 8012 | + "scheme": "ДК021", | ||
| 8013 | + "id": "71248000-8", | ||
| 8014 | + "description": "Технічний нагляд за проектами та документацією" | ||
| 8015 | + } | ||
| 8016 | + }, | ||
| 8017 | + { | ||
| 8018 | + "additionalClassifications": [ | ||
| 8019 | + { | ||
| 8020 | + "scheme": "UA-ROAD", | ||
| 8021 | + "id": "М-19", | ||
| 8022 | + "description": "Доманове (на м. Брест) - Ковель - Чернівці - Тереблече (на м. Бухарест)" | ||
| 8023 | + } | ||
| 8024 | + ], | ||
| 8025 | + "classification": { | ||
| 8026 | + "scheme": "ДК021", | ||
| 8027 | + "id": "63712311-6", | ||
| 8028 | + "description": "Послуги зі стягнення плати за користування мостами" | ||
| 8029 | + } | ||
| 8030 | + }, | ||
| 8031 | + { | ||
| 8032 | + "additionalClassifications": [ | ||
| 8033 | + { | ||
| 8034 | + "scheme": "UA-ROAD", | ||
| 8035 | + "id": "М-27", | ||
| 8036 | + "description": "Одеса - Чорноморськ" | ||
| 8037 | + } | ||
| 8038 | + ], | ||
| 8039 | + "classification": { | ||
| 8040 | + "scheme": "ДК021", | ||
| 8041 | + "id": "63712320-2", | ||
| 8042 | + "description": "Послуги зі стягнення плати за користування мостами" | ||
| 8043 | + } | ||
| 8044 | + }, | ||
| 8045 | + { | ||
| 8046 | + "additionalClassifications": [ | ||
| 8047 | + { | ||
| 8048 | + "scheme": "GMDN", | ||
| 8049 | + "id": "10058", | ||
| 8050 | + "description": "Пінцети обструкції дихальних шляхів" | ||
| 8051 | + } | ||
| 8052 | + ], | ||
| 8053 | + "classification": { | ||
| 8054 | + "scheme": "ДК021", | ||
| 8055 | + "id": "33111000-1", | ||
| 8056 | + "description": "Рентгенологічне обладнання" | ||
| 8057 | + } | ||
| 8058 | + }, | ||
| 8059 | + { | ||
| 8060 | + "additionalClassifications": [ | ||
| 8061 | + { | ||
| 8062 | + "scheme": "GMDN", | ||
| 8063 | + "id": "10184", | ||
| 8064 | + "description": "Багаторазовий каркас" | ||
| 8065 | + } | ||
| 8066 | + ], | ||
| 8067 | + "classification": { | ||
| 8068 | + "scheme": "ДК021", | ||
| 8069 | + "id": "33111100-2", | ||
| 8070 | + "description": "Рентгенівські столи" | ||
| 8071 | + } | ||
| 8072 | + }, | ||
| 8073 | + { | ||
| 8074 | + "additionalClassifications": [ | ||
| 8075 | + { | ||
| 8076 | + "scheme": "GMDN", | ||
| 8077 | + "id": "10298", | ||
| 8078 | + "description": "Стенд для чаші, таза" | ||
| 8079 | + } | ||
| 8080 | + ], | ||
| 8081 | + "classification": { | ||
| 8082 | + "scheme": "ДК021", | ||
| 8083 | + "id": "33793000-5", | ||
| 8084 | + "description": "Скляний посуд лабораторного призначення" | ||
| 8085 | + } | ||
| 8086 | + }, | ||
| 8087 | + { | ||
| 8088 | + "additionalClassifications": [ | ||
| 8089 | + { | ||
| 8090 | + "scheme": "GMDN", | ||
| 8091 | + "id": "10531", | ||
| 8092 | + "description": "Приліжкова шафа" | ||
| 8093 | + } | ||
| 8094 | + ], | ||
| 8095 | + "classification": { | ||
| 8096 | + "scheme": "ДК021", | ||
| 8097 | + "id": "33791000-1", | ||
| 8098 | + "description": "Скляний посуд санітарно-гігієнічного призначення" | ||
| 8099 | + } | ||
| 8100 | + }, | ||
| 8101 | + { | ||
| 8102 | + "additionalClassifications": [ | ||
| 8103 | + { | ||
| 8104 | + "scheme": "GMDN", | ||
| 8105 | + "id": "10729", | ||
| 8106 | + "description": "Центральний венозний катетер" | ||
| 8107 | + } | ||
| 8108 | + ], | ||
| 8109 | + "classification": { | ||
| 8110 | + "scheme": "ДК021", | ||
| 8111 | + "id": "38946000-7", | ||
| 8112 | + "description": "Вимірювачі пікової напруги в кіловольтах" | ||
| 8113 | + } | ||
| 8114 | + }, | ||
| 8115 | + { | ||
| 8116 | + "additionalClassifications": [ | ||
| 8117 | + { | ||
| 8118 | + "scheme": "GMDN", | ||
| 8119 | + "id": "13201", | ||
| 8120 | + "description": "Помпа для розведення барвника" | ||
| 8121 | + } | ||
| 8122 | + ], | ||
| 8123 | + "classification": { | ||
| 8124 | + "scheme": "ДК021", | ||
| 8125 | + "id": "38947000-7", | ||
| 8126 | + "description": "Рентгенологічні мікроаналізатори" | ||
| 8127 | + } | ||
| 7875 | } | 8128 | } |
| 7876 | ], | 8129 | ], |
| 7877 | "units": [ | 8130 | "units": [ |
| @@ -7970,7 +8223,13 @@ | @@ -7970,7 +8223,13 @@ | ||
| 7970 | "30192130-1", | 8223 | "30192130-1", |
| 7971 | "30197600-2", | 8224 | "30197600-2", |
| 7972 | "30199000-0", | 8225 | "30199000-0", |
| 7973 | - "99999999-9" | 8226 | + "99999999-9", |
| 8227 | + "34920000-2", | ||
| 8228 | + "71246000-4", | ||
| 8229 | + "63712320-2", | ||
| 8230 | + "33110000-4", | ||
| 8231 | + "33792000-8", | ||
| 8232 | + "38945000-7" | ||
| 7974 | ], | 8233 | ], |
| 7975 | "moz_cpvs": [ | 8234 | "moz_cpvs": [ |
| 7976 | "33615100-5", | 8235 | "33615100-5", |
| @@ -7981,6 +8240,29 @@ | @@ -7981,6 +8240,29 @@ | ||
| 7981 | "33692100-8", | 8240 | "33692100-8", |
| 7982 | "33600000-6" | 8241 | "33600000-6" |
| 7983 | ], | 8242 | ], |
| 8243 | + "road_cpvs": [ | ||
| 8244 | + "34920000-2", | ||
| 8245 | + "34921000-9", | ||
| 8246 | + "34921100-0", | ||
| 8247 | + "71246000-4", | ||
| 8248 | + "71247000-1", | ||
| 8249 | + "71248000-8", | ||
| 8250 | + "63712310-9", | ||
| 8251 | + "63712311-6", | ||
| 8252 | + "63712320-2" | ||
| 8253 | + ], | ||
| 8254 | + "gmdn_cpvs": [ | ||
| 8255 | + "33110000-4", | ||
| 8256 | + "33111000-1", | ||
| 8257 | + "33111100-2", | ||
| 8258 | + "33792000-8", | ||
| 8259 | + "33793000-5", | ||
| 8260 | + "33791000-1", | ||
| 8261 | + "38945000-7", | ||
| 8262 | + "38946000-7", | ||
| 8263 | + "38947000-7" | ||
| 8264 | + ], | ||
| 8265 | + | ||
| 7984 | "items_base_data": [ | 8266 | "items_base_data": [ |
| 7985 | { | 8267 | { |
| 7986 | "cpv_id": "99999999-9", | 8268 | "cpv_id": "99999999-9", |
| @@ -8201,6 +8483,204 @@ | @@ -8201,6 +8483,204 @@ | ||
| 8201 | "code": "VI", | 8483 | "code": "VI", |
| 8202 | "name": "Флакон" | 8484 | "name": "Флакон" |
| 8203 | } | 8485 | } |
| 8486 | + }, | ||
| 8487 | + { | ||
| 8488 | + "cpv_id": "34920000-2", | ||
| 8489 | + "description": "Дорожнє обладнання", | ||
| 8490 | + "description_ru": "Дорожное оборудование", | ||
| 8491 | + "description_en": "Road Equipment", | ||
| 8492 | + "quantity": 15, | ||
| 8493 | + "unit": { | ||
| 8494 | + "code": "H87", | ||
| 8495 | + "name": "Штуки" | ||
| 8496 | + } | ||
| 8497 | + }, | ||
| 8498 | + { | ||
| 8499 | + "cpv_id": "33110000-4", | ||
| 8500 | + "description": "Візуалізаційне обладнання для потреб медицини, стоматології та ветеринарної медицини", | ||
| 8501 | + "description_ru": "Визуализационное оборудование", | ||
| 8502 | + "description_en": "Visual Equipment", | ||
| 8503 | + "quantity": 15, | ||
| 8504 | + "unit": { | ||
| 8505 | + "code": "H87", | ||
| 8506 | + "name": "Штуки" | ||
| 8507 | + } | ||
| 8508 | + }, | ||
| 8509 | + { | ||
| 8510 | + "cpv_id": "71246000-4", | ||
| 8511 | + "description": "Здійснення та документування необхідних будівельних розрахунків", | ||
| 8512 | + "description_ru": "Здійснення та документування необхідних будівельних розрахунків", | ||
| 8513 | + "description_en": "Implementation and documentation of necessary construction calculations", | ||
| 8514 | + "quantity": 15, | ||
| 8515 | + "unit": { | ||
| 8516 | + "code": "H87", | ||
| 8517 | + "name": "Штуки" | ||
| 8518 | + } | ||
| 8519 | + }, | ||
| 8520 | + { | ||
| 8521 | + "cpv_id": "33792000-8", | ||
| 8522 | + "description": "Скляний посуд фармацевтичного призначення", | ||
| 8523 | + "description_ru": "Скляний посуд фармацевтичного призначення", | ||
| 8524 | + "description_en": "Glass Dishes for Pharmaceutical Purposes", | ||
| 8525 | + "quantity": 15, | ||
| 8526 | + "unit": { | ||
| 8527 | + "code": "H87", | ||
| 8528 | + "name": "Штуки" | ||
| 8529 | + } | ||
| 8530 | + }, | ||
| 8531 | + { | ||
| 8532 | + "cpv_id": "63712310-9", | ||
| 8533 | + "description": "Послуги з експлуатації мостів", | ||
| 8534 | + "description_ru": "Послуги з експлуатації мостів", | ||
| 8535 | + "description_en": "Bridges service", | ||
| 8536 | + "quantity": 15, | ||
| 8537 | + "unit": { | ||
| 8538 | + "code": "H87", | ||
| 8539 | + "name": "Штуки" | ||
| 8540 | + } | ||
| 8541 | + }, | ||
| 8542 | + { | ||
| 8543 | + "cpv_id": "38945000-7", | ||
| 8544 | + "description": "Лічильники гамма-частинок", | ||
| 8545 | + "description_ru": "Лічильники гамма-частинок", | ||
| 8546 | + "description_en": "Gamma Particle Counters", | ||
| 8547 | + "quantity": 15, | ||
| 8548 | + "unit": { | ||
| 8549 | + "code": "H87", | ||
| 8550 | + "name": "Штуки" | ||
| 8551 | + } | ||
| 8552 | + }, | ||
| 8553 | + { | ||
| 8554 | + "cpv_id": "34921000-9", | ||
| 8555 | + "description": "Дорожньо-експлуатаційне обладнання", | ||
| 8556 | + "description_ru": "Дорожньо-експлуатаційне обладнання", | ||
| 8557 | + "description_en": "Road-maintenance equipment", | ||
| 8558 | + "quantity": 15, | ||
| 8559 | + "unit": { | ||
| 8560 | + "code": "H87", | ||
| 8561 | + "name": "Штуки" | ||
| 8562 | + } | ||
| 8563 | + }, | ||
| 8564 | + { | ||
| 8565 | + "cpv_id": "34921100-0", | ||
| 8566 | + "description": "Підмітально-прибиральні машини", | ||
| 8567 | + "description_ru": "Підмітально-прибиральні машини", | ||
| 8568 | + "description_en": "Sweepers", | ||
| 8569 | + "quantity": 15, | ||
| 8570 | + "unit": { | ||
| 8571 | + "code": "H87", | ||
| 8572 | + "name": "Штуки" | ||
| 8573 | + } | ||
| 8574 | + }, | ||
| 8575 | + { | ||
| 8576 | + "cpv_id": "71247000-1", | ||
| 8577 | + "description": "Нагляд за будівельними роботами", | ||
| 8578 | + "description_ru": "Нагляд за будівельними роботами", | ||
| 8579 | + "description_en": "Construction supervision", | ||
| 8580 | + "quantity": 15, | ||
| 8581 | + "unit": { | ||
| 8582 | + "code": "H87", | ||
| 8583 | + "name": "Штуки" | ||
| 8584 | + } | ||
| 8585 | + }, | ||
| 8586 | + { | ||
| 8587 | + "cpv_id": "71248000-8", | ||
| 8588 | + "description": "Технічний нагляд за проектами та документацією", | ||
| 8589 | + "description_ru": "Технічний нагляд за проектами та документацією", | ||
| 8590 | + "description_en": "Technical supervision of projects and documentation", | ||
| 8591 | + "quantity": 15, | ||
| 8592 | + "unit": { | ||
| 8593 | + "code": "H87", | ||
| 8594 | + "name": "Штуки" | ||
| 8595 | + } | ||
| 8596 | + }, | ||
| 8597 | + { | ||
| 8598 | + "cpv_id": "63712311-6", | ||
| 8599 | + "description": "Послуги зі стягнення плати за користування мостами", | ||
| 8600 | + "description_ru": "Послуги зі стягнення плати за користування мостами", | ||
| 8601 | + "description_en": "Services for charging for the use of bridges", | ||
| 8602 | + "quantity": 15, | ||
| 8603 | + "unit": { | ||
| 8604 | + "code": "H87", | ||
| 8605 | + "name": "Штуки" | ||
| 8606 | + } | ||
| 8607 | + }, | ||
| 8608 | + { | ||
| 8609 | + "cpv_id": "63712320-2", | ||
| 8610 | + "description": "Послуги з експлуатації тунелів", | ||
| 8611 | + "description_ru": "Послуги з експлуатації тунелів", | ||
| 8612 | + "description_en": "Operation of tunnels", | ||
| 8613 | + "quantity": 15, | ||
| 8614 | + "unit": { | ||
| 8615 | + "code": "H87", | ||
| 8616 | + "name": "Штуки" | ||
| 8617 | + } | ||
| 8618 | + }, | ||
| 8619 | + { | ||
| 8620 | + "cpv_id": "33111000-1", | ||
| 8621 | + "description": "Рентгенологічне обладнання", | ||
| 8622 | + "description_ru": "Рентгенологічне обладнання", | ||
| 8623 | + "description_en": "X-ray equipment", | ||
| 8624 | + "quantity": 15, | ||
| 8625 | + "unit": { | ||
| 8626 | + "code": "H87", | ||
| 8627 | + "name": "Штуки" | ||
| 8628 | + } | ||
| 8629 | + }, | ||
| 8630 | + { | ||
| 8631 | + "cpv_id": "33111100-2", | ||
| 8632 | + "description": "Рентгенівські столи", | ||
| 8633 | + "description_ru": "Рентгенівські столи", | ||
| 8634 | + "description_en": "X-ray tables", | ||
| 8635 | + "quantity": 15, | ||
| 8636 | + "unit": { | ||
| 8637 | + "code": "H87", | ||
| 8638 | + "name": "Штуки" | ||
| 8639 | + } | ||
| 8640 | + }, | ||
| 8641 | + { | ||
| 8642 | + "cpv_id": "33793000-5", | ||
| 8643 | + "description": "Скляний посуд лабораторного призначення", | ||
| 8644 | + "description_ru": "Скляний посуд лабораторного призначення", | ||
| 8645 | + "description_en": "Glassware for laboratory purposes", | ||
| 8646 | + "quantity": 15, | ||
| 8647 | + "unit": { | ||
| 8648 | + "code": "H87", | ||
| 8649 | + "name": "Штуки" | ||
| 8650 | + } | ||
| 8651 | + }, | ||
| 8652 | + { | ||
| 8653 | + "cpv_id": "33791000-1", | ||
| 8654 | + "description": "Скляний посуд санітарно-гігієнічного призначення", | ||
| 8655 | + "description_ru": "Скляний посуд санітарно-гігієнічного призначення", | ||
| 8656 | + "description_en": "Glassware for sanitary purposes", | ||
| 8657 | + "quantity": 15, | ||
| 8658 | + "unit": { | ||
| 8659 | + "code": "H87", | ||
| 8660 | + "name": "Штуки" | ||
| 8661 | + } | ||
| 8662 | + }, | ||
| 8663 | + { | ||
| 8664 | + "cpv_id": "38946000-7", | ||
| 8665 | + "description": "Вимірювачі пікової напруги в кіловольтах", | ||
| 8666 | + "description_ru": "Вимірювачі пікової напруги в кіловольтах", | ||
| 8667 | + "description_en": "Measuring Peak Volts in Kilowatts", | ||
| 8668 | + "quantity": 15, | ||
| 8669 | + "unit": { | ||
| 8670 | + "code": "H87", | ||
| 8671 | + "name": "Штуки" | ||
| 8672 | + } | ||
| 8673 | + }, | ||
| 8674 | + { | ||
| 8675 | + "cpv_id": "38947000-7", | ||
| 8676 | + "description": "Рентгенологічні мікроаналізатори", | ||
| 8677 | + "description_ru": "Рентгенологічні мікроаналізатори", | ||
| 8678 | + "description_en": "X-ray Microanalysers", | ||
| 8679 | + "quantity": 15, | ||
| 8680 | + "unit": { | ||
| 8681 | + "code": "H87", | ||
| 8682 | + "name": "Штуки" | ||
| 8683 | + } | ||
| 8204 | } | 8684 | } |
| 8205 | ], | 8685 | ], |
| 8206 | "rationale_types": [ | 8686 | "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 |
| @@ -16,6 +16,8 @@ ${LOT_MEAT} ${False} | @@ -16,6 +16,8 @@ ${LOT_MEAT} ${False} | ||
| 16 | ${ITEM_MEAT} ${False} | 16 | ${ITEM_MEAT} ${False} |
| 17 | ${MOZ_INTEGRATION} ${False} | 17 | ${MOZ_INTEGRATION} ${False} |
| 18 | ${VAT_INCLUDED} ${True} | 18 | ${VAT_INCLUDED} ${True} |
| 19 | +${ROAD_INDEX} ${False} | ||
| 20 | +${GMDN_INDEX} ${False} | ||
| 19 | 21 | ||
| 20 | *** Test Cases *** | 22 | *** Test Cases *** |
| 21 | ############################################################################################## | 23 | ############################################################################################## |
| @@ -15,6 +15,8 @@ ${TENDER_MEAT} ${True} | @@ -15,6 +15,8 @@ ${TENDER_MEAT} ${True} | ||
| 15 | ${LOT_MEAT} ${False} | 15 | ${LOT_MEAT} ${False} |
| 16 | ${ITEM_MEAT} ${False} | 16 | ${ITEM_MEAT} ${False} |
| 17 | ${MOZ_INTEGRATION} ${False} | 17 | ${MOZ_INTEGRATION} ${False} |
| 18 | +${ROAD_INDEX} ${False} | ||
| 19 | +${GMDN_INDEX} ${False} | ||
| 18 | 20 | ||
| 19 | *** Test Cases *** | 21 | *** Test Cases *** |
| 20 | Можливість оголосити тендер другого етапу | 22 | Можливість оголосити тендер другого етапу |
| @@ -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 |
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_inn_addclass | ||
| 20 | + |
Please
register
or
login
to post a comment