Commit f79dac4e87ad5dcebd1a03f935f4d04f6cab2b2b

Authored by selurvedu
2 parents 1df406b0 bc3f0755

Merge pull request #696 from OrysiaDrabych/moz

Add tests for integration with MOZ
... ... @@ -17,6 +17,7 @@ Resource resource.robot
17 17 ... lot_meat=${${LOT_MEAT}}
18 18 ... item_meat=${${ITEM_MEAT}}
19 19 ... api_host_url=${API_HOST_URL}
  20 + ... moz_integration=${${MOZ_INTEGRATION}}
20 21 ${DIALOGUE_TYPE}= Get Variable Value ${DIALOGUE_TYPE}
21 22 Run keyword if '${DIALOGUE_TYPE}' != '${None}' Set to dictionary ${tender_parameters} dialogue_type=${DIALOGUE_TYPE}
22 23 ${tender_data}= Підготувати дані для створення тендера ${tender_parameters}
... ...
... ... @@ -150,7 +150,10 @@ def test_tender_data(params,
150 150 inc_dt += timedelta(minutes=params['intervals'][period_name][i])
151 151 period_dict[period_name + "Period"][j + "Date"] = inc_dt.astimezone(TZ).isoformat()
152 152 data.update(period_dict)
153   - cpv_group = fake.cpv()[:4]
  153 + if params.get('moz_integration'):
  154 + cpv_group = 336
  155 + else:
  156 + cpv_group = fake.cpv()[:4]
154 157 if params.get('number_of_lots'):
155 158 data['lots'] = []
156 159 for lot_number in range(params['number_of_lots']):
... ...
... ... @@ -235,7 +235,8 @@ Get Broker Property By Username
235 235
236 236 Підготувати дані для створення предмету закупівлі
237 237 [Arguments] ${cpv}
238   - ${item}= test_item_data ${cpv[0:4]}
  238 + ${index}= Set variable if ${moz_integration} 3 4
  239 + ${item}= test_item_data ${cpv[:${index}]}
239 240 [Return] ${item}
240 241
241 242
... ...
... ... @@ -11,8 +11,9 @@ ${MODE} negotiation.quick
11 11 ${NUMBER_OF_ITEMS} ${2}
12 12 ${NUMBER_OF_LOTS} ${0}
13 13 ${TENDER_MEAT} ${False}
14   -${LOT_MEAT} ${False}
15   -${ITEM_MEAT} ${False}
  14 +${LOT_MEAT} ${False}
  15 +${ITEM_MEAT} ${False}
  16 +${MOZ_INTEGRATION} ${False}
16 17
17 18 *** Test Cases ***
18 19 ##############################################################################################
... ...
... ... @@ -11,8 +11,9 @@ ${MODE} negotiation
11 11 ${NUMBER_OF_ITEMS} ${2}
12 12 ${NUMBER_OF_LOTS} ${0}
13 13 ${TENDER_MEAT} ${False}
14   -${LOT_MEAT} ${False}
15   -${ITEM_MEAT} ${False}
  14 +${LOT_MEAT} ${False}
  15 +${ITEM_MEAT} ${False}
  16 +${MOZ_INTEGRATION} ${False}
16 17
17 18 *** Test Cases ***
18 19 ##############################################################################################
... ...
... ... @@ -101,8 +101,15 @@ class OP_Provider(BaseProvider):
101 101 return self.random_element(self.funders_scheme_list)
102 102
103 103 @classmethod
104   - def cpv(self):
105   - return self.random_element(self.cpvs)
  104 + def cpv(self, cpv_group=None):
  105 + if cpv_group:
  106 + cpvs = []
  107 + for cpv_element in self.cpvs:
  108 + if cpv_element.startswith(cpv_group):
  109 + cpvs.append(cpv_element)
  110 + return self.random_element(cpvs)
  111 + else:
  112 + return self.random_element(self.cpvs)
106 113
107 114 @classmethod
108 115 def fake_item(self, cpv_group=None):
... ... @@ -113,6 +120,7 @@ class OP_Provider(BaseProvider):
113 120 from a specific cpv group. Cpv group is three digits
114 121 in the beginning of each cpv id.
115 122 """
  123 + item_base_data = None
116 124 if cpv_group is None:
117 125 item_base_data = self.random_element(self.items_base_data)
118 126 else:
... ... @@ -126,12 +134,16 @@ class OP_Provider(BaseProvider):
126 134 if entity["cpv_id"] == cpv:
127 135 item_base_data = entity
128 136 break
  137 + if not item_base_data:
  138 + raise ValueError('unable to find an item with CPV ' + cpv)
129 139
130 140 # choose appropriate additional classification for item_base_data's cpv
131 141 additional_class = []
132 142 for entity in self.classifications:
133 143 if entity["classification"]["id"] == item_base_data["cpv_id"]:
134 144 additional_class.append(entity)
  145 + if not additional_class:
  146 + raise ValueError('unable to find a matching additional classification for CPV ' + cpv)
135 147 classification = self.random_element(additional_class)
136 148
137 149 dk_descriptions = {
... ... @@ -141,6 +153,7 @@ class OP_Provider(BaseProvider):
141 153 }
142 154 address = self.random_element(self.addresses)
143 155 item = {
  156 + "additionalClassifications": classification["additionalClassifications"],
144 157 "classification": classification["classification"],
145 158 "deliveryAddress": address["deliveryAddress"],
146 159 "deliveryLocation": address["deliveryLocation"],
... ... @@ -150,7 +163,6 @@ class OP_Provider(BaseProvider):
150 163 if item_base_data["cpv_id"] == "99999999-9":
151 164 scheme = classification["additionalClassifications"][0]["scheme"]
152 165 item.update({
153   - "additionalClassifications": classification["additionalClassifications"],
154 166 "description": dk_descriptions[scheme][0],
155 167 "description_ru": dk_descriptions[scheme][1],
156 168 "description_en": dk_descriptions[scheme][2]
... ...
... ... @@ -7557,6 +7557,146 @@
7557 7557 "id": "22993000-7",
7558 7558 "description": "Фоточутливі, термочутливі та термографічні папір та картон"
7559 7559 }
  7560 + },
  7561 + {
  7562 + "additionalClassifications": [
  7563 + {
  7564 + "scheme": "INN",
  7565 + "description": "Ibuprofen",
  7566 + "id": "ibuprofen"
  7567 + },
  7568 + {
  7569 + "scheme": "ATC",
  7570 + "description": "ibuprofen",
  7571 + "id": "M01AE01"
  7572 + }
  7573 +
  7574 + ],
  7575 + "classification": {
  7576 + "scheme": "ДК021",
  7577 + "id": "33632100-0",
  7578 + "description": "Протизапальні та протиревматичні засоби"
  7579 + }
  7580 + },
  7581 + {
  7582 + "additionalClassifications": [
  7583 + {
  7584 + "scheme": "INN",
  7585 + "description": "Clonidine",
  7586 + "id": "clonidine"
  7587 + },
  7588 + {
  7589 + "scheme": "ATC",
  7590 + "description": "clonidine",
  7591 + "id": "C02AC01"
  7592 + }
  7593 +
  7594 + ],
  7595 + "classification": {
  7596 + "scheme": "ДК021",
  7597 + "id": "33622200-8",
  7598 + "description": "Протигіпертонічні засоби"
  7599 + }
  7600 + },
  7601 + {
  7602 + "additionalClassifications": [
  7603 + {
  7604 + "scheme": "INN",
  7605 + "description": "Insulin (human)",
  7606 + "id": "insulin (human)"
  7607 + },
  7608 + {
  7609 + "scheme": "ATC",
  7610 + "description": "insulin (human)",
  7611 + "id": "A10AB01"
  7612 + }
  7613 +
  7614 + ],
  7615 + "classification": {
  7616 + "scheme": "ДК021",
  7617 + "id": "33615100-5",
  7618 + "description": "Інсулін"
  7619 + }
  7620 + },
  7621 + {
  7622 + "additionalClassifications": [
  7623 + {
  7624 + "scheme": "INN",
  7625 + "description": "Lactulose",
  7626 + "id": "lactulose"
  7627 + },
  7628 + {
  7629 + "scheme": "ATC",
  7630 + "description": "lactulose",
  7631 + "id": "A06AD11"
  7632 + }
  7633 +
  7634 + ],
  7635 + "classification": {
  7636 + "scheme": "ДК021",
  7637 + "id": "33612000-3",
  7638 + "description": "Лікарські засоби для лікування функціональних розладів шлунково-кишкового тракту"
  7639 + }
  7640 + },
  7641 + {
  7642 + "additionalClassifications": [
  7643 + {
  7644 + "scheme": "INN",
  7645 + "description": "Piracetam",
  7646 + "id": "piracetam"
  7647 + },
  7648 + {
  7649 + "scheme": "ATC",
  7650 + "description": "piracetam",
  7651 + "id": "N06BX03"
  7652 + }
  7653 +
  7654 + ],
  7655 + "classification": {
  7656 + "scheme": "ДК021",
  7657 + "id": "33692500-2",
  7658 + "description": "Розчини для ін’єкцій"
  7659 + }
  7660 + },
  7661 + {
  7662 + "additionalClassifications": [
  7663 + {
  7664 + "scheme": "INN",
  7665 + "description": "Atracurium",
  7666 + "id": "atracurium"
  7667 + },
  7668 + {
  7669 + "scheme": "ATC",
  7670 + "description": "atracurium",
  7671 + "id": "M03AC04"
  7672 + }
  7673 +
  7674 + ],
  7675 + "classification": {
  7676 + "scheme": "ДК021",
  7677 + "id": "33692500-2",
  7678 + "description": "Розчини для ін’єкцій"
  7679 + }
  7680 + },
  7681 + {
  7682 + "additionalClassifications": [
  7683 + {
  7684 + "scheme": "INN",
  7685 + "description": "Moxifloxacin",
  7686 + "id": "moxifloxacin"
  7687 + },
  7688 + {
  7689 + "scheme": "ATC",
  7690 + "description": "moxifloxacin",
  7691 + "id": "S01AE07"
  7692 + }
  7693 +
  7694 + ],
  7695 + "classification": {
  7696 + "scheme": "ДК021",
  7697 + "id": "33692100-8",
  7698 + "description": "Інфузійні розчини"
  7699 + }
7560 7700 }
7561 7701 ],
7562 7702 "units": [
... ... @@ -7639,18 +7779,28 @@
7639 7779 {
7640 7780 "code": "D64",
7641 7781 "name": "блок"
  7782 + },
  7783 + {
  7784 + "code": "VI",
  7785 + "name": "флакон"
7642 7786 }
7643 7787 ],
7644 7788 "cpvs": [
7645   - "30199000-0",
7646   - "24910000-6",
7647   - "22990000-6",
  7789 + "22200000-2",
  7790 + "22212000-9",
7648 7791 "22800000-8",
  7792 + "22990000-6",
  7793 + "24910000-6",
7649 7794 "30192121-5",
7650 7795 "30192130-1",
7651 7796 "30197600-2",
7652   - "22200000-2",
7653   - "22212000-9",
  7797 + "30199000-0",
  7798 + "33615100-5",
  7799 + "33622200-8",
  7800 + "33632100-0",
  7801 + "33612000-3",
  7802 + "33692500-2",
  7803 + "33692100-8",
7654 7804 "99999999-9"
7655 7805 ],
7656 7806 "items_base_data": [
... ... @@ -7763,6 +7913,72 @@
7763 7913 "code": "SET",
7764 7914 "name": "набір"
7765 7915 }
  7916 + },
  7917 + {
  7918 + "cpv_id": "33632100-0",
  7919 + "description": "Протизапальний та протиревматичний засіб Ібупрофен",
  7920 + "description_ru": "Противовоспалительное и противоревматическое средство Ибупрофен",
  7921 + "description_en": "Anti-inflammatory and antirheumatic agent Ibuprofen",
  7922 + "quantity": 15,
  7923 + "unit": {
  7924 + "code": "PK",
  7925 + "name": "упаковка"
  7926 + }
  7927 + },
  7928 + {
  7929 + "cpv_id": "33622200-8",
  7930 + "description": "Протигіпертонічний засіб Клонідін",
  7931 + "description_ru": "Противогипертонические средство Клонидин",
  7932 + "description_en": "Antihypertensive agent Clonidine",
  7933 + "quantity": 15,
  7934 + "unit": {
  7935 + "code": "PK",
  7936 + "name": "упаковка"
  7937 + }
  7938 + },
  7939 + {
  7940 + "cpv_id": "33615100-5",
  7941 + "description": "Інсулін людський генно-інженерний короткої дії у флаконах 5 мл (500 Од у флаконі) № 5",
  7942 + "description_ru": "Инсулин человеческий генно-инженерный краткосрочного действия у флаконах 5 мл (500 Од в флаконе) № 5",
  7943 + "description_en": "Insulin human genetically-engineered short-acting in vials of 5 ml (500 IU vial) No. 5",
  7944 + "quantity": 15,
  7945 + "unit": {
  7946 + "code": "VI",
  7947 + "name": "флакон"
  7948 + }
  7949 + },
  7950 + {
  7951 + "cpv_id": "33612000-3",
  7952 + "description": "Засіб для лікування функціональних розладів шлунково-кишкового тракту Лактулоза",
  7953 + "description_ru": "Средство для лечения функциональных расстройств желудочно-кишечного тракта Лактулоза",
  7954 + "description_en": "Agent for functional gastrointestinal disorders treatment Lactulose",
  7955 + "quantity": 15,
  7956 + "unit": {
  7957 + "code": "PK",
  7958 + "name": "упаковка"
  7959 + }
  7960 + },
  7961 + {
  7962 + "cpv_id": "33692500-2",
  7963 + "description": "Розчин для ін’єкцій",
  7964 + "description_ru": "Раствор для инъекций",
  7965 + "description_en": "Injectable solution",
  7966 + "quantity": 15,
  7967 + "unit": {
  7968 + "code": "VI",
  7969 + "name": "флакон"
  7970 + }
  7971 + },
  7972 + {
  7973 + "cpv_id": "33692100-8",
  7974 + "description": "АВЕЛОКС розчин для інфузій 400 мг/250 мл 250 мл флакони № 1",
  7975 + "description_ru": "Авелокс раствор для инфузий 400 мг / 250 мл 250 мл флаконы № 1",
  7976 + "description_en": "AVELLOX solution for infusion 400 mg / 250 ml 250 ml bottle № 1",
  7977 + "quantity": 15,
  7978 + "unit": {
  7979 + "code": "VI",
  7980 + "name": "флакон"
  7981 + }
7766 7982 }
7767 7983 ],
7768 7984 "rationale_types": [
... ...
... ... @@ -15,7 +15,7 @@ ${NUMBER_OF_LOTS} ${1}
15 15 ${TENDER_MEAT} ${True}
16 16 ${LOT_MEAT} ${True}
17 17 ${ITEM_MEAT} ${True}
18   -
  18 +${MOZ_INTEGRATION} ${False}
19 19
20 20 *** Test Cases ***
21 21 Можливість оголосити тендер
... ...
... ... @@ -11,8 +11,9 @@ ${MODE} reporting
11 11 ${NUMBER_OF_ITEMS} ${2}
12 12 ${NUMBER_OF_LOTS} ${0}
13 13 ${TENDER_MEAT} ${False}
14   -${LOT_MEAT} ${False}
15   -${ITEM_MEAT} ${False}
  14 +${LOT_MEAT} ${False}
  15 +${ITEM_MEAT} ${False}
  16 +${MOZ_INTEGRATION} ${False}
16 17
17 18 *** Test Cases ***
18 19 ##############################################################################################
... ...
Please register or login to post a comment