Commit d1af3f16a933b7ddb17b0a5910d599bc402a9daa
Committed by
GitHub
Merge pull request #456 from OrysiaDrabych/defense
OpenUA_defense procedure
Showing
10 changed files
with
193 additions
and
19 deletions
... | ... | @@ -14,9 +14,12 @@ Resource base_keywords.robot |
14 | 14 | Require Failure ${tender_owner} Внести зміни в тендер ${TENDER['TENDER_UAID']} description description |
15 | 15 | |
16 | 16 | |
17 | -Можливість продовжити період подання пропозиції на 7 днів | |
18 | - ${endDate}= add_minutes_to_date ${USERS.users['${tender_owner}'].tender_data.data.tenderPeriod.endDate} 7 | |
17 | +Можливість продовжити період подання пропозиції на ${number_of_days} днів | |
18 | + ${period_intervals}= compute_intrs ${BROKERS} ${used_brokers} | |
19 | + ${number_of_minutes}= get_number_of_minutes ${number_of_days} ${period_intervals.${MODE}.accelerator} | |
20 | + ${endDate}= add_minutes_to_date ${USERS.users['${tender_owner}'].tender_data.data.tenderPeriod.endDate} ${number_of_minutes} | |
19 | 21 | Можливість змінити поле tenderPeriod.endDate тендера на ${endDate} |
22 | + Remove From Dictionary ${USERS.users['${tender_owner}'].tender_data.data.tenderPeriod} endDate | |
20 | 23 | |
21 | 24 | ############################################################################################## |
22 | 25 | # BIDDING |
... | ... | @@ -31,7 +34,7 @@ Resource base_keywords.robot |
31 | 34 | |
32 | 35 | Можливість підтвердити цінову пропозицію учасником ${username} |
33 | 36 | ${status}= Run Keyword IF '${MODE}'=='openeu' Set Variable pending |
34 | - ... ELSE IF '${MODE}'=='openua' Set Variable active | |
37 | + ... ELSE IF '${MODE}'=='openua' or '${MODE}'=='openua_defense' Set Variable active | |
35 | 38 | Run As ${username} Змінити цінову пропозицію ${TENDER['TENDER_UAID']} status ${status} |
36 | 39 | |
37 | 40 | ############################################################################################## | ... | ... |
... | ... | @@ -683,10 +683,10 @@ Resource resource.robot |
683 | 683 | Set To Dictionary ${USERS.users['${provider}']} claim_data ${claim_data} |
684 | 684 | |
685 | 685 | |
686 | -Можливість створити вимогу про виправлення умов закупівлі із документацією | |
686 | +Можливість створити вимогу про виправлення умов закупівлі із документацією користувачем ${username} | |
687 | 687 | ${claim}= Підготувати дані для подання вимоги |
688 | 688 | ${file_path} ${file_name} ${file_content}= create_fake_doc |
689 | - ${complaintID}= Run As ${provider} | |
689 | + ${complaintID}= Run As ${username} | |
690 | 690 | ... Створити вимогу про виправлення умов закупівлі |
691 | 691 | ... ${TENDER['TENDER_UAID']} |
692 | 692 | ... ${claim} |
... | ... | @@ -699,7 +699,7 @@ Resource resource.robot |
699 | 699 | ... doc_id=${doc_id} |
700 | 700 | ... doc_content=${file_content} |
701 | 701 | ${claim_data}= munch_dict arg=${claim_data} |
702 | - Set To Dictionary ${USERS.users['${provider}']} tender_claim_data ${claim_data} | |
702 | + Set To Dictionary ${USERS.users['${username}']} tender_claim_data ${claim_data} | |
703 | 703 | Remove File ${file_path} |
704 | 704 | |
705 | 705 | ... | ... |
... | ... | @@ -64,7 +64,7 @@ ${award_index} ${0} |
64 | 64 | ... critical |
65 | 65 | [Setup] Дочекатись синхронізації з майданчиком ${provider} |
66 | 66 | [Teardown] Оновити LAST_MODIFICATION_DATE |
67 | - Можливість створити вимогу про виправлення умов закупівлі із документацією | |
67 | + Можливість створити вимогу про виправлення умов закупівлі із документацією користувачем ${provider} | |
68 | 68 | |
69 | 69 | |
70 | 70 | Відображення опису вимоги |
... | ... | @@ -262,7 +262,7 @@ ${award_index} ${0} |
262 | 262 | ... tender_complaint |
263 | 263 | ... critical |
264 | 264 | [Teardown] Оновити LAST_MODIFICATION_DATE |
265 | - Можливість створити вимогу про виправлення умов закупівлі із документацією | |
265 | + Можливість створити вимогу про виправлення умов закупівлі із документацією користувачем ${provider} | |
266 | 266 | Можливість скасувати вимогу про виправлення умов закупівлі |
267 | 267 | |
268 | 268 | |
... | ... | @@ -298,7 +298,7 @@ ${award_index} ${0} |
298 | 298 | ... tender_complaint |
299 | 299 | ... critical |
300 | 300 | [Teardown] Оновити LAST_MODIFICATION_DATE |
301 | - Можливість створити вимогу про виправлення умов закупівлі із документацією | |
301 | + Можливість створити вимогу про виправлення умов закупівлі із документацією користувачем ${provider} | |
302 | 302 | Дочекатись синхронізації з майданчиком ${tender_owner} |
303 | 303 | Можливість відповісти на вимогу про виправлення умов закупівлі |
304 | 304 | Дочекатись синхронізації з майданчиком ${provider} |
... | ... | @@ -340,7 +340,7 @@ ${award_index} ${0} |
340 | 340 | ... tender_complaint |
341 | 341 | ... critical |
342 | 342 | [Teardown] Оновити LAST_MODIFICATION_DATE |
343 | - Можливість створити вимогу про виправлення умов закупівлі із документацією | |
343 | + Можливість створити вимогу про виправлення умов закупівлі із документацією користувачем ${provider} | |
344 | 344 | Дочекатись синхронізації з майданчиком ${tender_owner} |
345 | 345 | Можливість відповісти на вимогу про виправлення умов закупівлі |
346 | 346 | Дочекатись синхронізації з майданчиком ${provider} | ... | ... |
... | ... | @@ -7,7 +7,7 @@ Default: |
7 | 7 | # |
8 | 8 | # Each field is a mode name |
9 | 9 | # Current modes are: |
10 | - # single, multi, limited, openua, openeu | |
10 | + # single, multi, limited, openua, openeu, openua_defense | |
11 | 11 | # |
12 | 12 | # See `prepare_test_tender_data()` |
13 | 13 | # in `service_keywords.py` for more details |
... | ... | @@ -32,12 +32,15 @@ Default: |
32 | 32 | openua: |
33 | 33 | accelerator: 1440 |
34 | 34 | tender: [0, 15] |
35 | - # Please remember that openUA and openEU procedures | |
35 | + # Please remember that openUA, openEU and openUA_defense procedures | |
36 | 36 | # forbid anyone to set or modify enquiryPeriod |
37 | 37 | # (it is set automatically) |
38 | 38 | openeu: |
39 | 39 | accelerator: 1440 |
40 | 40 | tender: [0, 30] |
41 | + openua_defense: | |
42 | + accelerator: 1440 | |
43 | + tender: [0, 6] | |
41 | 44 | open_competitive_dialogue: |
42 | 45 | accelerator: 1440 |
43 | 46 | tender: [0, 30] |
... | ... | @@ -52,6 +55,8 @@ Quinta: |
52 | 55 | tender: [1, 30] |
53 | 56 | openeu: |
54 | 57 | tender: [1, 35] |
58 | + openua_defense: | |
59 | + tender: [0, 30] | |
55 | 60 | open_competitive_dialogue: |
56 | 61 | accelerator: 1440 |
57 | 62 | tender: [0, 30] | ... | ... |
... | ... | @@ -50,6 +50,8 @@ def subtraction(value1, value2): |
50 | 50 | def create_fake_value_amount(): |
51 | 51 | return fake.random_int(min=1) |
52 | 52 | |
53 | +def get_number_of_minutes(days, accelerator): | |
54 | + return 1440 * int(days) / accelerator | |
53 | 55 | |
54 | 56 | def field_with_id(prefix, sentence): |
55 | 57 | return u"{}-{}: {}".format(prefix, fake.uuid4()[:8], sentence) |
... | ... | @@ -466,6 +468,16 @@ def test_tender_data_openua(params, submissionMethodDetails): |
466 | 468 | return data |
467 | 469 | |
468 | 470 | |
471 | +def test_tender_data_openua_defense(params, submissionMethodDetails): | |
472 | + """We should not provide any values for `enquiryPeriod` when creating | |
473 | + an openUA, openEU or openUA_defense procedure. That field should not be present at all. | |
474 | + Therefore, we pass a nondefault list of periods to `test_tender_data()`.""" | |
475 | + data = test_tender_data(params, ('tender',), submissionMethodDetails) | |
476 | + data['procurementMethodType'] = 'aboveThresholdUA.defense' | |
477 | + data['procuringEntity']['kind'] = 'defense' | |
478 | + return data | |
479 | + | |
480 | + | |
469 | 481 | def test_tender_data_openeu(params, submissionMethodDetails): |
470 | 482 | # We should not provide any values for `enquiryPeriod` when creating |
471 | 483 | # an openUA or openEU procedure. That field should not be present at all. | ... | ... |
... | ... | @@ -761,6 +761,20 @@ Require Failure |
761 | 761 | ... ${next_status} |
762 | 762 | |
763 | 763 | |
764 | +Дочекатись дати закінчення періоду уточнень | |
765 | + [Arguments] ${username} | |
766 | + Дочекатись дати ${USERS.users['${username}'].tender_data.data.enquiryPeriod.endDate} | |
767 | + Оновити LAST_MODIFICATION_DATE | |
768 | + Дочекатись синхронізації з майданчиком ${username} | |
769 | + | |
770 | + | |
771 | +Дочекатись дати закінчення періоду відповідей на запитання | |
772 | + [Arguments] ${username} | |
773 | + Дочекатись дати ${USERS.users['${username}'].tender_data.data.enquiryPeriod.clarificationsUntil} | |
774 | + Оновити LAST_MODIFICATION_DATE | |
775 | + Дочекатись синхронізації з майданчиком ${username} | |
776 | + | |
777 | + | |
764 | 778 | Звірити статус тендера |
765 | 779 | [Arguments] ${username} ${tender_uaid} ${left} |
766 | 780 | ${right}= Run as ${username} Отримати інформацію із тендера ${tender_uaid} status | ... | ... |
... | ... | @@ -943,7 +943,7 @@ ${ITEM_MEAT} ${True} |
943 | 943 | ... create_tender_claim |
944 | 944 | [Setup] Дочекатись синхронізації з майданчиком ${provider} |
945 | 945 | [Teardown] Оновити LAST_MODIFICATION_DATE |
946 | - Можливість створити вимогу про виправлення умов закупівлі із документацією | |
946 | + Можливість створити вимогу про виправлення умов закупівлі із документацією користувачем ${provider} | |
947 | 947 | |
948 | 948 | |
949 | 949 | Відображення опису вимоги про виправлення умов закупівлі |
... | ... | @@ -1454,6 +1454,66 @@ ${ITEM_MEAT} ${True} |
1454 | 1454 | Можливість завантажити eligibility_documents документ до пропозиції учасником ${provider} |
1455 | 1455 | |
1456 | 1456 | |
1457 | +Неможливість задати запитання на тендер після завершення періоду уточнень | |
1458 | + [Tags] ${USERS.users['${provider}'].broker}: Задання запитання | |
1459 | + ... provider | |
1460 | + ... ${USERS.users['${provider}'].broker} | |
1461 | + ... ask_question_after_enquiry_period | |
1462 | + [Setup] Дочекатись дати закінчення періоду уточнень ${provider} | |
1463 | + Run Keyword And Expect Error * Можливість задати запитання на тендер користувачем ${provider} | |
1464 | + | |
1465 | + | |
1466 | +Неможливість подати вимогу про виправлення умов закупівлі після закінчення періоду подання скарг | |
1467 | + [Tags] ${USERS.users['${provider}'].broker}: Процес оскарження | |
1468 | + ... provider | |
1469 | + ... ${USERS.users['${provider}'].broker} | |
1470 | + ... create_tender_complaint_after_complaint_period | |
1471 | + [Setup] Дочекатись дати закінчення періоду подання скарг ${provider} | |
1472 | + Run Keyword And Expect Error * Можливість створити вимогу про виправлення умов закупівлі із документацією користувачем ${provider} | |
1473 | + | |
1474 | + | |
1475 | +Неможливість відповісти на запитання до тендера після завершення періоду відповідей | |
1476 | + [Tags] ${USERS.users['${tender_owner}'].broker}: Відповідь на запитання | |
1477 | + ... tender_owner | |
1478 | + ... ${USERS.users['${tender_owner}'].broker} | |
1479 | + ... answer_question_after_clarifications_period | |
1480 | + [Setup] Дочекатись дати закінчення періоду відповідей на запитання ${tender_owner} | |
1481 | + Run Keyword And Expect Error * Можливість відповісти на запитання на тендер | |
1482 | + | |
1483 | + | |
1484 | +Неможливість редагувати однопредметний тендер менше ніж за 2 дні до завершення періоду подання пропозицій | |
1485 | + [Tags] ${USERS.users['${tender_owner}'].broker}: Можливість редагувати тендер | |
1486 | + ... tender_owner | |
1487 | + ... ${USERS.users['${tender_owner}'].broker} | |
1488 | + ... modify_tender_in_tendering_period | |
1489 | + ${new_description}= create_fake_sentence | |
1490 | + Run Keyword And Expect Error * Можливість змінити поле description тендера на ${new_description} | |
1491 | + | |
1492 | + | |
1493 | +Можливість відповісти на запитання до тендера після продовження періоду прийому пропозицій | |
1494 | + [Tags] ${USERS.users['${tender_owner}'].broker}: Відповідь на запитання | |
1495 | + ... tender_owner | |
1496 | + ... ${USERS.users['${tender_owner}'].broker} | |
1497 | + ... answer_question_after_clarifications_period | |
1498 | + ... extend_enquiry_period | |
1499 | + [Setup] Дочекатись синхронізації з майданчиком ${tender_owner} | |
1500 | + [Teardown] Оновити LAST_MODIFICATION_DATE | |
1501 | + Можливість продовжити період подання пропозиції на 3 днів | |
1502 | + Можливість відповісти на запитання на тендер | |
1503 | + | |
1504 | + | |
1505 | +Можливість редагувати тендер після продовження періоду прийому пропозицій | |
1506 | + [Tags] ${USERS.users['${tender_owner}'].broker}: Можливість редагувати тендер | |
1507 | + ... tender_owner | |
1508 | + ... ${USERS.users['${tender_owner}'].broker} | |
1509 | + ... modify_tender_in_tendering_period | |
1510 | + [Setup] Дочекатись синхронізації з майданчиком ${tender_owner} | |
1511 | + [Teardown] Оновити LAST_MODIFICATION_DATE | |
1512 | + ${new_description}= create_fake_sentence | |
1513 | + Можливість змінити поле description тендера на ${new_description} | |
1514 | + Remove From Dictionary ${USERS.users['${tender_owner}'].tender_data.data} description | |
1515 | + | |
1516 | + | |
1457 | 1517 | Можливість редагувати однопредметний тендер більше ніж за 7 днів до завершення періоду подання пропозицій |
1458 | 1518 | [Tags] ${USERS.users['${tender_owner}'].broker}: Можливість редагувати тендер |
1459 | 1519 | ... tender_owner |
... | ... | @@ -1540,12 +1600,12 @@ ${ITEM_MEAT} ${True} |
1540 | 1600 | ############################################################################################## |
1541 | 1601 | |
1542 | 1602 | Неможливість завантажити документ першим учасником після закінчення прийому пропозицій |
1543 | - [Tags] ${USERS.users['${provider1}'].broker}: Подання пропозиції | |
1603 | + [Tags] ${USERS.users['${provider}'].broker}: Подання пропозиції | |
1544 | 1604 | ... provider |
1545 | - ... ${USERS.users['${provider1}'].broker} | |
1605 | + ... ${USERS.users['${provider}'].broker} | |
1546 | 1606 | ... add_bid_doc_after_tendering_period_by_provider |
1547 | 1607 | ... non-critical |
1548 | - [Setup] Дочекатись дати закінчення прийому пропозицій ${viewer} ${TENDER['TENDER_UAID']} | |
1608 | + [Setup] Дочекатись дати закінчення прийому пропозицій ${provider} ${TENDER['TENDER_UAID']} | |
1549 | 1609 | Run Keyword And Expect Error * Можливість завантажити документ в пропозицію користувачем ${provider} |
1550 | 1610 | |
1551 | 1611 | ... | ... |
... | ... | @@ -212,10 +212,11 @@ ${award_index} ${0} |
212 | 212 | ############################################################################################## |
213 | 213 | |
214 | 214 | Можливість дочекатися перевірки переможців по ЄДРПОУ |
215 | - [Tags] ${USERS.users['${viewer}'].broker}: Перевірка користувача по ЄДРПОУ | |
215 | + [Tags] ${USERS.users['${tender_owner}'].broker}: Перевірка користувача по ЄДРПОУ | |
216 | 216 | ... tender_owner |
217 | 217 | ... ${USERS.users['${tender_owner}'].broker} |
218 | 218 | ... qualifications_check_by_edrpou |
219 | + [Setup] Дочекатись дати початку періоду кваліфікації ${tender_owner} ${TENDER['TENDER_UAID']} | |
219 | 220 | Дочекатися перевірки кваліфікацій ${tender_owner} ${TENDER['TENDER_UAID']} |
220 | 221 | |
221 | 222 | ... | ... |
... | ... | @@ -47,14 +47,16 @@ from .initial_data import ( |
47 | 47 | test_tender_data_openeu, |
48 | 48 | test_tender_data_openua, |
49 | 49 | test_tender_data_planning, |
50 | + test_tender_data_openua_defense, | |
50 | 51 | create_fake_title, |
51 | 52 | create_fake_value_amount, |
52 | 53 | test_change_document_data, |
53 | 54 | convert_amount, |
55 | + get_number_of_minutes, | |
54 | 56 | ) |
55 | 57 | from barbecue import chef |
56 | 58 | from restkit import request |
57 | -# End of non-pointless imports | |
59 | +# End of non-pointless import | |
58 | 60 | import os |
59 | 61 | import re |
60 | 62 | |
... | ... | @@ -315,6 +317,9 @@ def prepare_test_tender_data(procedure_intervals, |
315 | 317 | elif mode == 'openua': |
316 | 318 | return munchify({'data': test_tender_data_openua( |
317 | 319 | tender_parameters, submissionMethodDetails)}) |
320 | + elif mode == 'openua_defense': | |
321 | + return munchify({'data': test_tender_data_openua_defense( | |
322 | + tender_parameters, submissionMethodDetails)}) | |
318 | 323 | elif mode == 'open_competitive_dialogue': |
319 | 324 | return munchify({'data': test_tender_data_competitive_dialogue( |
320 | 325 | tender_parameters, submissionMethodDetails)}) |
... | ... | @@ -511,7 +516,13 @@ def get_object_by_id(data, given_object_id, slice_element, object_id): |
511 | 516 | |
512 | 517 | def generate_test_bid_data(tender_data): |
513 | 518 | bid = test_bid_data() |
514 | - if tender_data.get('procurementMethodType', '')[:-2] in ('aboveThreshold', 'competitiveDialogue'): | |
519 | + if tender_data.get('procurementMethodType', '') in ( | |
520 | + 'aboveThresholdUA', | |
521 | + 'aboveThresholdUA.defense', | |
522 | + 'aboveThresholdEU', | |
523 | + 'competitiveDialogueUA' | |
524 | + 'competitiveDialogueEU' | |
525 | + ): | |
515 | 526 | bid.data.selfEligible = True |
516 | 527 | bid.data.selfQualified = True |
517 | 528 | if 'lots' in tender_data: | ... | ... |
1 | +-v MODE:openua_defense | |
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 | + | |
10 | + | |
11 | +-i create_tender | |
12 | +-i find_tender | |
13 | +-i tender_view | |
14 | +-i meat_view | |
15 | +-i lot_view | |
16 | +-i open_tender_view | |
17 | + | |
18 | +-i extend_tendering_period | |
19 | +-i add_tender_doc | |
20 | +-i add_lot_doc | |
21 | +-i modify_lot_value_amount | |
22 | +-i add_lot | |
23 | + -i delete_lot | |
24 | +-i add_item | |
25 | + -i delete_item | |
26 | +-i add_tender_meat | |
27 | + -i delete_tender_meat | |
28 | +-i add_lot_meat | |
29 | + -i delete_lot_meat | |
30 | +-i add_item_meat | |
31 | + -i delete_item_meat | |
32 | + | |
33 | +-i ask_question_to_tender | |
34 | +-i ask_question_to_item | |
35 | + -i answer_question_to_item | |
36 | +-i ask_question_to_lot | |
37 | + -i answer_question_to_lot | |
38 | +-i modify_tender_after_questions | |
39 | +-i modify_lot_after_questions | |
40 | + | |
41 | +-i create_tender_claim | |
42 | + -i answer_tender_claim | |
43 | + -i resolve_tender_claim | |
44 | +-i modify_tender_after_claim | |
45 | + | |
46 | +-i create_lot_claim | |
47 | + -i answer_lot_claim | |
48 | + -i resolve_lot_claim | |
49 | +-i modify_lot_after_claim | |
50 | + | |
51 | +-i make_bid_without_related_lot | |
52 | +-i make_bid_without_parameters | |
53 | +-i make_bid_by_provider | |
54 | + -i modify_bid_by_provider | |
55 | + -i add_doc_to_bid_by_provider | |
56 | +-i ask_question_after_enquiry_period | |
57 | +-i create_tender_complaint_after_complaint_period | |
58 | +-i answer_question_after_clarifications_period | |
59 | +-i modify_tender_in_tendering_period | |
60 | + -i open_confirm_first_bid | |
61 | +-i bid_view_in_tendering_period | |
62 | + | |
63 | +-i add_bid_doc_after_tendering_period_by_provider | |
64 | + | |
65 | +-i qualification_add_doc_to_first_award | |
66 | +-i qualification_approve_first_award | |
67 | + | |
68 | +-i contract_sign | |
\ No newline at end of file | ... | ... |
Please
register
or
login
to post a comment