Showing
2 changed files
with
94 additions
and
303 deletions
| ... | ... | @@ -4,11 +4,14 @@ from faker import Factory |
| 4 | 4 | from munch import munchify |
| 5 | 5 | from tempfile import NamedTemporaryFile |
| 6 | 6 | from .local_time import get_now |
| 7 | +from .op_faker import OP_Provider | |
| 7 | 8 | import random |
| 8 | 9 | |
| 10 | + | |
| 9 | 11 | fake = Factory.create('uk_UA') |
| 10 | 12 | fake_ru = Factory.create('ru') |
| 11 | 13 | fake_en = Factory.create() |
| 14 | +fake.add_provider(OP_Provider) | |
| 12 | 15 | |
| 13 | 16 | |
| 14 | 17 | def create_fake_sentence(): |
| ... | ... | @@ -16,7 +19,21 @@ def create_fake_sentence(): |
| 16 | 19 | |
| 17 | 20 | |
| 18 | 21 | def field_with_id(prefix, sentence): |
| 19 | - return "{}-{}: {}".format(prefix, fake.uuid4()[:8], sentence) | |
| 22 | + return u"{}-{}: {}".format(prefix, fake.uuid4()[:8], sentence) | |
| 23 | + | |
| 24 | + | |
| 25 | +def translate_country_en(country): | |
| 26 | + if country == u"Україна": | |
| 27 | + return "Ukraine" | |
| 28 | + else: | |
| 29 | + raise Exception(u"Cannot translate country to english: {}".format(country)) | |
| 30 | + | |
| 31 | + | |
| 32 | +def translate_country_ru(country): | |
| 33 | + if country == u"Україна": | |
| 34 | + return u"Украина" | |
| 35 | + else: | |
| 36 | + raise Exception(u"Cannot translate country to russian: {}".format(country)) | |
| 20 | 37 | |
| 21 | 38 | |
| 22 | 39 | def create_fake_doc(): |
| ... | ... | @@ -30,38 +47,17 @@ def create_fake_doc(): |
| 30 | 47 | |
| 31 | 48 | def test_tender_data(intervals, periods=("enquiry", "tender")): |
| 32 | 49 | now = get_now() |
| 33 | - value_amount = 50000.99 | |
| 34 | - t_data = { | |
| 35 | - "title": u"[ТЕСТУВАННЯ] " + fake.catch_phrase(), | |
| 50 | + value_amount = round(random.uniform(3000, 250000000000), 2) #max value equals to budget of Ukraine in hryvnias | |
| 51 | + data = { | |
| 36 | 52 | "mode": "test", |
| 37 | 53 | "submissionMethodDetails": "quick", |
| 38 | - "description": u"Тестовий тендер", | |
| 39 | - "description_ru": u"Тестовый тендер", | |
| 40 | - "description_en": "Test tender", | |
| 41 | - "procuringEntity": { | |
| 42 | - "name": fake.company(), | |
| 43 | - "name_ru": fake_ru.company(), | |
| 44 | - "name_en": fake_en.company(), | |
| 45 | - "identifier": { | |
| 46 | - "scheme": u"UA-EDR", | |
| 47 | - "id": u"{:08d}".format(fake.pyint()), | |
| 48 | - "uri": fake.image_url(width=None, height=None) | |
| 49 | - }, | |
| 50 | - "address": { | |
| 51 | - "countryName": u"Україна", | |
| 52 | - "countryName_ru": u"Украина", | |
| 53 | - "countryName_en": "Ukraine", | |
| 54 | - "postalCode": fake.postalcode(), | |
| 55 | - "region": u"м. Київ", | |
| 56 | - "locality": u"м. Київ", | |
| 57 | - "streetAddress": fake.street_address() | |
| 58 | - }, | |
| 59 | - "contactPoint": { | |
| 60 | - "name": fake.name(), | |
| 61 | - "telephone": fake.phone_number() | |
| 62 | - }, | |
| 63 | - "kind": "other" | |
| 64 | - }, | |
| 54 | + "description": fake.description(), | |
| 55 | + "description_en": fake_en.sentence(nb_words=10, variable_nb_words=True), | |
| 56 | + "description_ru": fake_ru.sentence(nb_words=10, variable_nb_words=True), | |
| 57 | + "title": fake.title(), | |
| 58 | + "title_en": fake_en.catch_phrase(), | |
| 59 | + "title_ru": fake_ru.catch_phrase(), | |
| 60 | + "procuringEntity": fake.procuringEntity(), | |
| 65 | 61 | "value": { |
| 66 | 62 | "amount": value_amount, |
| 67 | 63 | "currency": u"UAH", |
| ... | ... | @@ -73,8 +69,13 @@ def test_tender_data(intervals, periods=("enquiry", "tender")): |
| 73 | 69 | }, |
| 74 | 70 | "items": [] |
| 75 | 71 | } |
| 72 | + data["procuringEntity"]["kind"] = "other" | |
| 76 | 73 | new_item = test_item_data() |
| 77 | - t_data['items'].append(new_item) | |
| 74 | + data["items"].append(new_item) | |
| 75 | + if data.get("mode") == "test": | |
| 76 | + data["title"] = u"[ТЕСТУВАННЯ] {}".format(data["title"]) | |
| 77 | + data["title_en"] = u"[TESTING] {}".format(data["title_en"]) | |
| 78 | + data["title_ru"] = u"[ТЕСТИРОВАНИЕ] {}".format(data["title_ru"]) | |
| 78 | 79 | period_dict = {} |
| 79 | 80 | inc_dt = now |
| 80 | 81 | for period_name in periods: |
| ... | ... | @@ -82,90 +83,18 @@ def test_tender_data(intervals, periods=("enquiry", "tender")): |
| 82 | 83 | for i, j in zip(range(2), ("start", "end")): |
| 83 | 84 | inc_dt += timedelta(minutes=intervals[period_name][i]) |
| 84 | 85 | period_dict[period_name + "Period"][j + "Date"] = inc_dt.isoformat() |
| 85 | - t_data.update(period_dict) | |
| 86 | - return t_data | |
| 86 | + data.update(period_dict) | |
| 87 | + return munchify(data) | |
| 87 | 88 | |
| 88 | 89 | |
| 89 | 90 | def test_tender_data_limited(intervals, procurement_method_type): |
| 90 | - now = get_now() | |
| 91 | - data = { | |
| 92 | - "items": | |
| 93 | - [ | |
| 94 | - { | |
| 95 | - "additionalClassifications": | |
| 96 | - [ | |
| 97 | - { | |
| 98 | - "description": u"Послуги щодо забезпечення харчуванням, інші", | |
| 99 | - "id": "56.29", | |
| 100 | - "scheme": u"ДКПП" | |
| 101 | - } | |
| 102 | - ], | |
| 103 | - "classification": | |
| 104 | - { | |
| 105 | - "description": u"Послуги з організації шкільного харчування", | |
| 106 | - "id": "55523100-3", | |
| 107 | - "scheme": "CPV" | |
| 108 | - }, | |
| 109 | - "description": field_with_id('i', fake.sentence(nb_words=10, variable_nb_words=True)), | |
| 110 | - "id": "2dc54675d6364e2baffbc0f8e74432ac", | |
| 111 | - "deliveryDate": { | |
| 112 | - "endDate": (now + timedelta(days=5)).isoformat() | |
| 113 | - }, | |
| 114 | - "deliveryLocation": { | |
| 115 | - "latitude": 49.8500, | |
| 116 | - "longitude": 24.0167 | |
| 117 | - }, | |
| 118 | - "deliveryAddress": { | |
| 119 | - "countryName": u"Україна", | |
| 120 | - "countryName_ru": u"Украина", | |
| 121 | - "countryName_en": "Ukraine", | |
| 122 | - "postalCode": fake.postalcode(), | |
| 123 | - "region": u"м. Київ", | |
| 124 | - "locality": u"м. Київ", | |
| 125 | - "streetAddress": fake.street_address() | |
| 126 | - } | |
| 127 | - } | |
| 128 | - ], | |
| 129 | - "mode": "test", | |
| 130 | - "procurementMethod": "limited", | |
| 131 | - "procurementMethodType": procurement_method_type, | |
| 132 | - "procuringEntity": | |
| 133 | - { | |
| 134 | - "address": | |
| 135 | - { | |
| 136 | - "countryName": u"Україна", | |
| 137 | - "locality": u"м. Вінниця", | |
| 138 | - "postalCode": "21027", | |
| 139 | - "region": u"м. Вінниця", | |
| 140 | - "streetAddress": u"вул. Стахурського. 22" | |
| 141 | - }, | |
| 142 | - "contactPoint": | |
| 143 | - { | |
| 144 | - "name": u"Куца Світлана Валентинівна", | |
| 145 | - "telephone": "+380 (432) 46-53-02", | |
| 146 | - "url": "http://sch10.edu.vn.ua/" | |
| 147 | - }, | |
| 148 | - "identifier": | |
| 149 | - { | |
| 150 | - "id": "21725150", | |
| 151 | - "legalName": u"Заклад \"Загальноосвітня школа І-ІІІ ступенів № 10 Вінницької міської ради\"", | |
| 152 | - "scheme": u"UA-EDR" | |
| 153 | - }, | |
| 154 | - "name": u"ЗОСШ #10 м.Вінниці", | |
| 155 | - "kind": "general" | |
| 156 | - }, | |
| 157 | - "value": { | |
| 158 | - "amount": 500000, | |
| 159 | - "currency": "UAH", | |
| 160 | - "valueAddedTaxIncluded": True | |
| 161 | - }, | |
| 162 | - "description": fake.sentence(nb_words=10, variable_nb_words=True), | |
| 163 | - "description_en": fake.sentence(nb_words=10, variable_nb_words=True), | |
| 164 | - "description_ru": fake.sentence(nb_words=10, variable_nb_words=True), | |
| 165 | - "title": fake.catch_phrase(), | |
| 166 | - "title_en": fake.catch_phrase(), | |
| 167 | - "title_ru": fake.catch_phrase() | |
| 168 | - } | |
| 91 | + data = test_tender_data(intervals) | |
| 92 | + del data["submissionMethodDetails"] | |
| 93 | + del data["minimalStep"] | |
| 94 | + del data["enquiryPeriod"] | |
| 95 | + del data["tenderPeriod"] | |
| 96 | + data["procuringEntity"]["kind"] = "general" | |
| 97 | + data.update({"procurementMethodType": procurement_method_type, "procurementMethod": "limited"}) | |
| 169 | 98 | if procurement_method_type == "negotiation": |
| 170 | 99 | cause_variants = ( |
| 171 | 100 | "artContestIP", |
| ... | ... | @@ -181,13 +110,12 @@ def test_tender_data_limited(intervals, procurement_method_type): |
| 181 | 110 | cause_variants = ('quick',) |
| 182 | 111 | cause = fake.random_element(cause_variants) |
| 183 | 112 | data.update({"cause": cause}) |
| 184 | - if procurement_method_type == "negotiation" \ | |
| 185 | - or procurement_method_type == "negotiation.quick": | |
| 113 | + if procurement_method_type in ("negotiation", "negotiation.quick"): | |
| 186 | 114 | data.update({ |
| 187 | 115 | "procurementMethodDetails": "quick, accelerator=1440", |
| 188 | - "causeDescription": fake.sentence(nb_words=10, variable_nb_words=True) | |
| 116 | + "causeDescription": fake.description() | |
| 189 | 117 | }) |
| 190 | - return data | |
| 118 | + return munchify(data) | |
| 191 | 119 | |
| 192 | 120 | |
| 193 | 121 | def test_tender_data_multiple_items(intervals): |
| ... | ... | @@ -195,7 +123,7 @@ def test_tender_data_multiple_items(intervals): |
| 195 | 123 | for _ in range(4): |
| 196 | 124 | new_item = test_item_data() |
| 197 | 125 | t_data['items'].append(new_item) |
| 198 | - return t_data | |
| 126 | + return munchify(t_data) | |
| 199 | 127 | |
| 200 | 128 | |
| 201 | 129 | def test_tender_data_multiple_lots(intervals): |
| ... | ... | @@ -204,7 +132,7 @@ def test_tender_data_multiple_lots(intervals): |
| 204 | 132 | tender['items'][0]['relatedLot'] = first_lot_id |
| 205 | 133 | tender['lots'] = [test_lot_data()] |
| 206 | 134 | tender['lots'][0]['id'] = first_lot_id |
| 207 | - return tender | |
| 135 | + return munchify(tender) | |
| 208 | 136 | |
| 209 | 137 | |
| 210 | 138 | def test_tender_data_meat(intervals): |
| ... | ... | @@ -215,24 +143,24 @@ def test_tender_data_meat(intervals): |
| 215 | 143 | { |
| 216 | 144 | "code": "ee3e24bc17234a41bd3e3a04cc28e9c6", |
| 217 | 145 | "featureOf": "tenderer", |
| 218 | - "title": field_with_id('f', "Термін оплати"), | |
| 219 | - "description": "Умови відстрочки платежу після поставки товару", | |
| 146 | + "title": field_with_id("f", fake.title()), | |
| 147 | + "description": fake.description(), | |
| 220 | 148 | "enum": [ |
| 221 | 149 | { |
| 222 | 150 | "value": 0.15, |
| 223 | - "title": "180 днів та більше" | |
| 151 | + "title": fake.word() | |
| 224 | 152 | }, |
| 225 | 153 | { |
| 226 | 154 | "value": 0.1, |
| 227 | - "title": "90-179 днів", | |
| 155 | + "title": fake.word() | |
| 228 | 156 | }, |
| 229 | 157 | { |
| 230 | 158 | "value": 0.05, |
| 231 | - "title": "30-89 днів" | |
| 159 | + "title": fake.word() | |
| 232 | 160 | }, |
| 233 | 161 | { |
| 234 | 162 | "value": 0, |
| 235 | - "title": "Менше 30 днів" | |
| 163 | + "title": fake.word() | |
| 236 | 164 | } |
| 237 | 165 | ] |
| 238 | 166 | }, |
| ... | ... | @@ -240,56 +168,35 @@ def test_tender_data_meat(intervals): |
| 240 | 168 | "code": "48cfd91612c04125ab406374d7cc8d93", |
| 241 | 169 | "featureOf": "item", |
| 242 | 170 | "relatedItem": item_id, |
| 243 | - "title": field_with_id('f', "Сорт"), | |
| 244 | - "description": "Сорт продукції", | |
| 171 | + "title": field_with_id("f", fake.title()), | |
| 172 | + "description": fake.description(), | |
| 245 | 173 | "enum": [ |
| 246 | 174 | { |
| 247 | 175 | "value": 0.05, |
| 248 | - "title": "Вищий" | |
| 176 | + "title": fake.word() | |
| 249 | 177 | }, |
| 250 | 178 | { |
| 251 | 179 | "value": 0.01, |
| 252 | - "title": "Перший", | |
| 180 | + "title": fake.word() | |
| 253 | 181 | }, |
| 254 | 182 | { |
| 255 | 183 | "value": 0, |
| 256 | - "title": "Другий" | |
| 184 | + "title": fake.word() | |
| 257 | 185 | } |
| 258 | 186 | ] |
| 259 | 187 | } |
| 260 | 188 | ] |
| 261 | - return tender | |
| 189 | + return munchify(tender) | |
| 262 | 190 | |
| 263 | 191 | |
| 264 | 192 | def test_question_data(): |
| 265 | - data = munchify({ | |
| 193 | + return munchify({ | |
| 266 | 194 | "data": { |
| 267 | - "author": { | |
| 268 | - "address": { | |
| 269 | - "countryName": u"Україна", | |
| 270 | - "countryName_ru": u"Украина", | |
| 271 | - "countryName_en": "Ukraine", | |
| 272 | - "locality": u"м. Вінниця", | |
| 273 | - "postalCode": "21100", | |
| 274 | - "region": u"Вінницька область", | |
| 275 | - "streetAddress": fake.street_address() | |
| 276 | - }, | |
| 277 | - "contactPoint": { | |
| 278 | - "name": fake.name(), | |
| 279 | - "telephone": fake.phone_number() | |
| 280 | - }, | |
| 281 | - "identifier": { | |
| 282 | - "scheme": u"UA-EDR", | |
| 283 | - "id": u"{:08d}".format(fake.pyint()), | |
| 284 | - "uri": fake.image_url(width=None, height=None) | |
| 285 | - }, | |
| 286 | - "name": fake.company() | |
| 287 | - }, | |
| 288 | - "description": fake.sentence(nb_words=10, variable_nb_words=True), | |
| 289 | - "title": field_with_id('q', fake.sentence(nb_words=6, variable_nb_words=True)) | |
| 195 | + "author": fake.procuringEntity(), | |
| 196 | + "description": fake.description(), | |
| 197 | + "title": field_with_id("q", fake.title()) | |
| 290 | 198 | } |
| 291 | 199 | }) |
| 292 | - return data | |
| 293 | 200 | |
| 294 | 201 | |
| 295 | 202 | def test_question_answer_data(): |
| ... | ... | @@ -302,30 +209,10 @@ def test_question_answer_data(): |
| 302 | 209 | |
| 303 | 210 | def test_complaint_data(lot=False): |
| 304 | 211 | data = munchify({ |
| 305 | - "data": { | |
| 306 | - "author": { | |
| 307 | - "address": { | |
| 308 | - "countryName": u"Україна", | |
| 309 | - "countryName_ru": u"Украина", | |
| 310 | - "countryName_en": "Ukraine", | |
| 311 | - "locality": u"м. Вінниця", | |
| 312 | - "postalCode": "21100", | |
| 313 | - "region": u"Вінницька область", | |
| 314 | - "streetAddress": fake.street_address() | |
| 315 | - }, | |
| 316 | - "contactPoint": { | |
| 317 | - "name": fake.name(), | |
| 318 | - "telephone": fake.phone_number() | |
| 319 | - }, | |
| 320 | - "identifier": { | |
| 321 | - "scheme": u"UA-EDR", | |
| 322 | - "id": u"{:08d}".format(fake.pyint()), | |
| 323 | - "uri": fake.image_url(width=None, height=None) | |
| 324 | - }, | |
| 325 | - "name": fake.company() | |
| 326 | - }, | |
| 327 | - "description": fake.sentence(nb_words=10, variable_nb_words=True), | |
| 328 | - "title": fake.sentence(nb_words=6, variable_nb_words=True) | |
| 212 | + "data" : { | |
| 213 | + "author": fake.procuringEntity(), | |
| 214 | + "description": fake.description(), | |
| 215 | + "title": fake.title() | |
| 329 | 216 | } |
| 330 | 217 | }) |
| 331 | 218 | if lot: |
| ... | ... | @@ -336,17 +223,6 @@ def test_complaint_data(lot=False): |
| 336 | 223 | test_claim_data = test_complaint_data |
| 337 | 224 | |
| 338 | 225 | |
| 339 | -def test_complaint_answer_data(complaint_id): | |
| 340 | - return munchify({ | |
| 341 | - "data": { | |
| 342 | - "id": complaint_id, | |
| 343 | - "status": "answered", | |
| 344 | - "resolutionType": "resolved", | |
| 345 | - "resolution": fake.sentence(nb_words=40, variable_nb_words=True) | |
| 346 | - } | |
| 347 | - }) | |
| 348 | - | |
| 349 | - | |
| 350 | 226 | def test_claim_answer_satisfying_data(claim_id): |
| 351 | 227 | return munchify({ |
| 352 | 228 | "data": { |
| ... | ... | @@ -397,14 +273,6 @@ def test_cancel_claim_data(claim_id, cancellation_reason): |
| 397 | 273 | }) |
| 398 | 274 | |
| 399 | 275 | |
| 400 | -def test_change_cancellation_document_field_data(key, value): | |
| 401 | - return munchify({ | |
| 402 | - "data": { | |
| 403 | - key: value | |
| 404 | - } | |
| 405 | - }) | |
| 406 | - | |
| 407 | - | |
| 408 | 276 | def test_confirm_data(id): |
| 409 | 277 | return munchify({ |
| 410 | 278 | "data": { |
| ... | ... | @@ -435,29 +303,12 @@ def test_bid_data(mode): |
| 435 | 303 | bid = munchify({ |
| 436 | 304 | "data": { |
| 437 | 305 | "tenderers": [ |
| 438 | - { | |
| 439 | - "address": { | |
| 440 | - "countryName": u"Україна", | |
| 441 | - "countryName_ru": u"Украина", | |
| 442 | - "countryName_en": "Ukraine", | |
| 443 | - "locality": u"м. Вінниця", | |
| 444 | - "postalCode": "21100", | |
| 445 | - "region": u"Вінницька область", | |
| 446 | - "streetAddress": fake.street_address() | |
| 447 | - }, | |
| 448 | - "contactPoint": { | |
| 449 | - "name": fake.name(), | |
| 450 | - "telephone": fake.phone_number() | |
| 451 | - }, | |
| 452 | - "identifier": { | |
| 453 | - "scheme": u"UA-EDR", | |
| 454 | - "id": u"{:08d}".format(fake.pyint()), | |
| 455 | - }, | |
| 456 | - "name": fake.company() | |
| 457 | - } | |
| 306 | + fake.procuringEntity() | |
| 458 | 307 | ] |
| 459 | 308 | } |
| 460 | - }) | |
| 309 | + } | |
| 310 | + bid["data"]["tenderers"][0]["address"]["countryName_en"] = translate_country_en(bid["data"]["tenderers"][0]["address"]["countryName"]) | |
| 311 | + bid["data"]["tenderers"][0]["address"]["countryName_ru"] = translate_country_ru(bid["data"]["tenderers"][0]["address"]["countryName"]) | |
| 461 | 312 | if 'open' in mode: |
| 462 | 313 | bid.data['selfEligible'] = True |
| 463 | 314 | bid.data['selfQualified'] = True |
| ... | ... | @@ -500,30 +351,10 @@ def test_supplier_data(): |
| 500 | 351 | return munchify({ |
| 501 | 352 | "data": { |
| 502 | 353 | "suppliers": [ |
| 503 | - { | |
| 504 | - "address": { | |
| 505 | - "countryName": u"Україна", | |
| 506 | - "locality": u"м. Вінниця", | |
| 507 | - "postalCode": "21100", | |
| 508 | - "region": u"м. Вінниця", | |
| 509 | - "streetAddress": u"вул. Островського, 33" | |
| 510 | - }, | |
| 511 | - "contactPoint": { | |
| 512 | - "email": "soleksuk@gmail.com", | |
| 513 | - "name": u"Сергій Олексюк", | |
| 514 | - "telephone": "+380 (432) 21-69-30" | |
| 515 | - }, | |
| 516 | - "identifier": { | |
| 517 | - "id": "13313462", | |
| 518 | - "legalName": u"Державне комунальне підприємство громадського харчування «Школяр»", | |
| 519 | - "scheme": "UA-EDR", | |
| 520 | - "uri": "http://sch10.edu.vn.ua/" | |
| 521 | - }, | |
| 522 | - "name": u"ДКП «Школяр»" | |
| 523 | - } | |
| 354 | + fake.procuringEntity() | |
| 524 | 355 | ], |
| 525 | 356 | "value": { |
| 526 | - "amount": 475000, | |
| 357 | + "amount": fake.random_int(min=1), | |
| 527 | 358 | "currency": "UAH", |
| 528 | 359 | "valueAddedTaxIncluded": True |
| 529 | 360 | } |
| ... | ... | @@ -531,52 +362,14 @@ def test_supplier_data(): |
| 531 | 362 | }) |
| 532 | 363 | |
| 533 | 364 | |
| 534 | -def test_award_data(): | |
| 535 | - return munchify({'data': {}}) | |
| 536 | - | |
| 537 | - | |
| 538 | -def test_item_data(): | |
| 539 | - now = get_now() | |
| 540 | - return munchify({ | |
| 541 | - "description": field_with_id('i', fake.catch_phrase()), | |
| 542 | - "deliveryDate": { | |
| 543 | - "endDate": (now + timedelta(days=5)).isoformat() | |
| 544 | - }, | |
| 545 | - "deliveryLocation": { | |
| 546 | - "latitude": 49.8500, | |
| 547 | - "longitude": 24.0167 | |
| 548 | - }, | |
| 549 | - "deliveryAddress": { | |
| 550 | - "countryName": u"Україна", | |
| 551 | - "countryName_ru": u"Украина", | |
| 552 | - "countryName_en": "Ukraine", | |
| 553 | - "postalCode": fake.postalcode(), | |
| 554 | - "region": u"м. Київ", | |
| 555 | - "locality": u"м. Київ", | |
| 556 | - "streetAddress": fake.street_address() | |
| 557 | - }, | |
| 558 | - "classification": { | |
| 559 | - "scheme": u"CPV", | |
| 560 | - "id": u"44617100-9", | |
| 561 | - "description": u"Картонні коробки", | |
| 562 | - "description_ru": u"Большие картонные коробки", | |
| 563 | - "description_en": u"Cartons" | |
| 564 | - }, | |
| 565 | - "additionalClassifications": [ | |
| 566 | - { | |
| 567 | - "scheme": u"ДКПП", | |
| 568 | - "id": u"17.21.1", | |
| 569 | - "description": u"Папір і картон гофровані, паперова й картонна тара" | |
| 570 | - } | |
| 571 | - ], | |
| 572 | - "unit": { | |
| 573 | - "name": u"кілограм", | |
| 574 | - "name_ru": u"килограмм", | |
| 575 | - "name_en": "kilogram", | |
| 576 | - "code": u"KGM" | |
| 577 | - }, | |
| 578 | - "quantity": fake.pyint() | |
| 579 | - }) | |
| 365 | +def test_item_data(cpv=None): | |
| 366 | + data = fake.fake_item(cpv) | |
| 367 | + data["description"] = field_with_id("i", data["description"]) | |
| 368 | + days = fake.random_int(min=1, max=30) | |
| 369 | + data["deliveryDate"] = {"endDate": (get_now() + timedelta(days=days)).isoformat()} | |
| 370 | + data["deliveryAddress"]["countryName_en"] = translate_country_en(data["deliveryAddress"]["countryName"]) | |
| 371 | + data["deliveryAddress"]["countryName_ru"] = translate_country_ru(data["deliveryAddress"]["countryName"]) | |
| 372 | + return munchify(data) | |
| 580 | 373 | |
| 581 | 374 | |
| 582 | 375 | def test_invalid_features_data(): |
| ... | ... | @@ -584,16 +377,16 @@ def test_invalid_features_data(): |
| 584 | 377 | { |
| 585 | 378 | "code": "ee3e24bc17234a41bd3e3a04cc28e9c6", |
| 586 | 379 | "featureOf": "tenderer", |
| 587 | - "title": "Термін оплати", | |
| 588 | - "description": "Умови відстрочки платежу після поставки товару", | |
| 380 | + "title": fake.title(), | |
| 381 | + "description": fake.description(), | |
| 589 | 382 | "enum": [ |
| 590 | 383 | { |
| 591 | 384 | "value": 0.35, |
| 592 | - "title": "180 днів та більше" | |
| 385 | + "title": fake.word() | |
| 593 | 386 | }, |
| 594 | 387 | { |
| 595 | 388 | "value": 0, |
| 596 | - "title": "Менше 30 днів" | |
| 389 | + "title": fake.word() | |
| 597 | 390 | } |
| 598 | 391 | ] |
| 599 | 392 | }, |
| ... | ... | @@ -601,16 +394,16 @@ def test_invalid_features_data(): |
| 601 | 394 | "code": "48cfd91612c04125ab406374d7cc8d93", |
| 602 | 395 | "featureOf": "item", |
| 603 | 396 | "relatedItem": "edd0032574bf4402877ad5f362df225a", |
| 604 | - "title": "Сорт", | |
| 605 | - "description": "Сорт продукції", | |
| 397 | + "title": fake.title(), | |
| 398 | + "description": fake.description(), | |
| 606 | 399 | "enum": [ |
| 607 | 400 | { |
| 608 | 401 | "value": 0.35, |
| 609 | - "title": "Вищий" | |
| 402 | + "title": fake.word() | |
| 610 | 403 | }, |
| 611 | 404 | { |
| 612 | 405 | "value": 0, |
| 613 | - "title": "Другий" | |
| 406 | + "title": fake.word() | |
| 614 | 407 | } |
| 615 | 408 | ] |
| 616 | 409 | } |
| ... | ... | @@ -618,18 +411,19 @@ def test_invalid_features_data(): |
| 618 | 411 | |
| 619 | 412 | |
| 620 | 413 | def test_lot_data(): |
| 414 | + value_amount = round(random.uniform(3000, 250000000000), 2) #max value equals to budget of Ukraine in hryvnias | |
| 621 | 415 | return munchify( |
| 622 | 416 | { |
| 623 | - "description": fake.sentence(nb_words=10, variable_nb_words=True), | |
| 624 | - "title": field_with_id('l', fake.sentence(nb_words=6, variable_nb_words=True)), | |
| 417 | + "description": fake.description(), | |
| 418 | + "title": field_with_id('l', fake.title()), | |
| 625 | 419 | "value": { |
| 626 | 420 | "currency": "UAH", |
| 627 | - "amount": 2000 + fake.pyfloat(left_digits=4, right_digits=1, positive=True), | |
| 421 | + "amount": value_amount, | |
| 628 | 422 | "valueAddedTaxIncluded": True |
| 629 | 423 | }, |
| 630 | 424 | "minimalStep": { |
| 631 | 425 | "currency": "UAH", |
| 632 | - "amount": 30.0, | |
| 426 | + "amount": round(random.uniform(0.005, 0.03) * value_amount, 2), | |
| 633 | 427 | "valueAddedTaxIncluded": True |
| 634 | 428 | }, |
| 635 | 429 | "status": "active" | ... | ... |
| ... | ... | @@ -20,15 +20,12 @@ from math import radians, cos, sin, asin, sqrt |
| 20 | 20 | from .initial_data import ( |
| 21 | 21 | create_fake_doc, |
| 22 | 22 | create_fake_sentence, |
| 23 | - test_award_data, | |
| 24 | 23 | test_bid_data, |
| 25 | 24 | test_cancel_claim_data, |
| 26 | 25 | test_cancel_tender_data, |
| 27 | - test_change_cancellation_document_field_data, | |
| 28 | 26 | test_claim_answer_data, |
| 29 | 27 | test_claim_answer_satisfying_data, |
| 30 | 28 | test_claim_data, |
| 31 | - test_complaint_answer_data, | |
| 32 | 29 | test_complaint_data, |
| 33 | 30 | test_complaint_reply_data, |
| 34 | 31 | test_confirm_data, | ... | ... |
Please
register
or
login
to post a comment