Showing
5 changed files
with
82 additions
and
2 deletions
op_robot_tests/tests_files/base_keywords.robot
100644 → 100755
| @@ -9,10 +9,12 @@ Resource resource.robot | @@ -9,10 +9,12 @@ Resource resource.robot | ||
| 9 | Можливість оголосити тендер | 9 | Можливість оголосити тендер |
| 10 | ${NUMBER_OF_LOTS}= Convert To Integer ${NUMBER_OF_LOTS} | 10 | ${NUMBER_OF_LOTS}= Convert To Integer ${NUMBER_OF_LOTS} |
| 11 | ${NUMBER_OF_ITEMS}= Convert To Integer ${NUMBER_OF_ITEMS} | 11 | ${NUMBER_OF_ITEMS}= Convert To Integer ${NUMBER_OF_ITEMS} |
| 12 | + ${NUMBER_OF_MILESTONES}= Convert To Integer ${NUMBER_OF_MILESTONES} | ||
| 12 | ${tender_parameters}= Create Dictionary | 13 | ${tender_parameters}= Create Dictionary |
| 13 | ... mode=${MODE} | 14 | ... mode=${MODE} |
| 14 | ... number_of_items=${NUMBER_OF_ITEMS} | 15 | ... number_of_items=${NUMBER_OF_ITEMS} |
| 15 | ... number_of_lots=${NUMBER_OF_LOTS} | 16 | ... number_of_lots=${NUMBER_OF_LOTS} |
| 17 | + ... number_of_milestones=${NUMBER_OF_MILESTONES} | ||
| 16 | ... tender_meat=${${TENDER_MEAT}} | 18 | ... tender_meat=${${TENDER_MEAT}} |
| 17 | ... lot_meat=${${LOT_MEAT}} | 19 | ... lot_meat=${${LOT_MEAT}} |
| 18 | ... item_meat=${${ITEM_MEAT}} | 20 | ... item_meat=${${ITEM_MEAT}} |
| @@ -401,6 +403,17 @@ Resource resource.robot | @@ -401,6 +403,17 @@ Resource resource.robot | ||
| 401 | \ Звірити відображення поля ${field} ${item_index} предмету для користувача ${username} | 403 | \ Звірити відображення поля ${field} ${item_index} предмету для користувача ${username} |
| 402 | 404 | ||
| 403 | 405 | ||
| 406 | +Звірити відображення поля ${field} усіх умов оплати для усіх користувачів | ||
| 407 | + :FOR ${username} IN ${viewer} ${tender_owner} ${provider} ${provider1} ${provider2} | ||
| 408 | + \ Звірити відображення поля ${field} усіх умов оплати для користувача ${username} | ||
| 409 | + | ||
| 410 | + | ||
| 411 | +Звірити відображення поля ${field} усіх умов оплати для користувача ${username} | ||
| 412 | + :FOR ${milestone_index} IN RANGE ${NUMBER_OF_MILESTONES} | ||
| 413 | + \ ${milestone_id}= get_id_from_object ${USERS.users['${tender_owner}'].initial_data.data['milestones'][${milestone_index}]} | ||
| 414 | + \ Звірити поле тендера із значенням ${username} ${TENDER['TENDER_UAID']} ${USERS.users['${tender_owner}'].initial_data.data['milestones'][${milestone_index}].${field}} ${field} ${milestone_id} | ||
| 415 | + | ||
| 416 | + | ||
| 404 | Звірити відображення ${field} усіх предметів плану для усіх користувачів | 417 | Звірити відображення ${field} усіх предметів плану для усіх користувачів |
| 405 | :FOR ${username} IN ${viewer} ${tender_owner} | 418 | :FOR ${username} IN ${viewer} ${tender_owner} |
| 406 | \ Звірити відображення ${field} усіх предметів плану для користувача ${username} | 419 | \ Звірити відображення ${field} усіх предметів плану для користувача ${username} |
op_robot_tests/tests_files/initial_data.py
100644 → 100755
| @@ -200,6 +200,19 @@ def test_tender_data(params, | @@ -200,6 +200,19 @@ def test_tender_data(params, | ||
| 200 | for i in range(params['number_of_items']): | 200 | for i in range(params['number_of_items']): |
| 201 | new_item = test_item_data(cpv_group) | 201 | new_item = test_item_data(cpv_group) |
| 202 | data['items'].append(new_item) | 202 | data['items'].append(new_item) |
| 203 | + milestones = params.get('number_of_milestones') | ||
| 204 | + if milestones: | ||
| 205 | + data['milestones'] = [] | ||
| 206 | + percentage_data = percentage_generation(milestones) | ||
| 207 | + for percentage in percentage_data: | ||
| 208 | + milestone_element = test_milestone_data() | ||
| 209 | + milestone_element['sequenceNumber'] = len(data['milestones']) | ||
| 210 | + milestone_element['percentage'] = percentage | ||
| 211 | + if milestone_element['title'] == 'anotherEvent': | ||
| 212 | + milestone_element['description'] = fake.sentence(nb_words=40, variable_nb_words=True) | ||
| 213 | + if params.get('number_of_lots'): | ||
| 214 | + milestone_element['relatedLot'] = lot_id | ||
| 215 | + data["milestones"].append(milestone_element) | ||
| 203 | if params.get('tender_meat'): | 216 | if params.get('tender_meat'): |
| 204 | new_feature = test_feature_data() | 217 | new_feature = test_feature_data() |
| 205 | new_feature.featureOf = "tenderer" | 218 | new_feature.featureOf = "tenderer" |
| @@ -820,4 +833,24 @@ def test_tender_data_esco(params, submissionMethodDetails): | @@ -820,4 +833,24 @@ def test_tender_data_esco(params, submissionMethodDetails): | ||
| 820 | data['yearlyPaymentsPercentageRange'] = min(percentage_list) | 833 | data['yearlyPaymentsPercentageRange'] = min(percentage_list) |
| 821 | for index in range(params['number_of_items']): | 834 | for index in range(params['number_of_items']): |
| 822 | del data['items'][index]['deliveryDate'] | 835 | del data['items'][index]['deliveryDate'] |
| 823 | - return data | ||
| 836 | + return data | ||
| 837 | + | ||
| 838 | + | ||
| 839 | +def test_milestone_data(): | ||
| 840 | + return munchify({ | ||
| 841 | + "code": random.choice(["prepayment", "postpayment"]), | ||
| 842 | + "title": fake.milestone_title(), | ||
| 843 | + "duration": { | ||
| 844 | + "type": random.choice(["working", "banking", "calendar"]), | ||
| 845 | + "days": random.randint(1, 364) | ||
| 846 | + }, | ||
| 847 | + "type": "financing" | ||
| 848 | + }) | ||
| 849 | + | ||
| 850 | + | ||
| 851 | +def percentage_generation(number_of_milestones): | ||
| 852 | + # input: number_of_milestones 1, 2, 3, ... | ||
| 853 | + # output: list of percentage numbers | ||
| 854 | + percentage_data = [random.randint(1, round(100 / number_of_milestones)) for _ in range(number_of_milestones - 1)] | ||
| 855 | + percentage_data.append(100 - sum(percentage_data)) | ||
| 856 | + return percentage_data |
op_robot_tests/tests_files/op_faker/op_faker.py
100644 → 100755
| @@ -28,6 +28,7 @@ class OP_Provider(BaseProvider): | @@ -28,6 +28,7 @@ class OP_Provider(BaseProvider): | ||
| 28 | cpvs = _fake_data.cpvs | 28 | cpvs = _fake_data.cpvs |
| 29 | items_base_data = _fake_data.items_base_data | 29 | items_base_data = _fake_data.items_base_data |
| 30 | rationale_types = _fake_data.rationale_types | 30 | rationale_types = _fake_data.rationale_types |
| 31 | + title_of_milestones = _fake_data.title_of_milestones | ||
| 31 | 32 | ||
| 32 | @classmethod | 33 | @classmethod |
| 33 | def randomize_nb_elements(self, number=10, le=60, ge=140): | 34 | def randomize_nb_elements(self, number=10, le=60, ge=140): |
| @@ -177,4 +178,8 @@ class OP_Provider(BaseProvider): | @@ -177,4 +178,8 @@ class OP_Provider(BaseProvider): | ||
| 177 | 178 | ||
| 178 | @classmethod | 179 | @classmethod |
| 179 | def rationaleTypes(self, amount=3): | 180 | def rationaleTypes(self, amount=3): |
| 180 | - return random.sample(self.rationale_types, amount) | ||
| 181 | + return random.sample(self.rationale_types, amount) | ||
| 182 | + | ||
| 183 | + @classmethod | ||
| 184 | + def milestone_title(self): | ||
| 185 | + return self.random_element(self.title_of_milestones) |
op_robot_tests/tests_files/op_faker/op_faker_data.json
100644 → 100755
| @@ -8115,5 +8115,15 @@ | @@ -8115,5 +8115,15 @@ | ||
| 8115 | "taxRate", | 8115 | "taxRate", |
| 8116 | "thirdParty", | 8116 | "thirdParty", |
| 8117 | "fiscalYearExtension" | 8117 | "fiscalYearExtension" |
| 8118 | + ], | ||
| 8119 | + "title_of_milestones": [ | ||
| 8120 | + "executionOfWorks", | ||
| 8121 | + "deliveryOfGoods", | ||
| 8122 | + "submittingServices", | ||
| 8123 | + "signingTheContract", | ||
| 8124 | + "submissionDateOfApplications", | ||
| 8125 | + "dateOfInvoicing", | ||
| 8126 | + "endDateOfTheReportingPeriod", | ||
| 8127 | + "anotherEvent" | ||
| 8118 | ] | 8128 | ] |
| 8119 | } | 8129 | } |
op_robot_tests/tests_files/openProcedure.robot
100644 → 100755
| @@ -12,6 +12,7 @@ ${DIALOGUE_TYPE} EU | @@ -12,6 +12,7 @@ ${DIALOGUE_TYPE} EU | ||
| 12 | 12 | ||
| 13 | ${NUMBER_OF_ITEMS} ${1} | 13 | ${NUMBER_OF_ITEMS} ${1} |
| 14 | ${NUMBER_OF_LOTS} ${1} | 14 | ${NUMBER_OF_LOTS} ${1} |
| 15 | +${NUMBER_OF_MILESTONES} ${3} | ||
| 15 | ${TENDER_MEAT} ${True} | 16 | ${TENDER_MEAT} ${True} |
| 16 | ${LOT_MEAT} ${True} | 17 | ${LOT_MEAT} ${True} |
| 17 | ${ITEM_MEAT} ${True} | 18 | ${ITEM_MEAT} ${True} |
| @@ -60,6 +61,24 @@ ${MOZ_INTEGRATION} ${False} | @@ -60,6 +61,24 @@ ${MOZ_INTEGRATION} ${False} | ||
| 60 | Звірити відображення поля description тендера для користувача ${viewer} | 61 | Звірити відображення поля description тендера для користувача ${viewer} |
| 61 | 62 | ||
| 62 | 63 | ||
| 64 | +Відображення типу оплати | ||
| 65 | + [Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних тендера | ||
| 66 | + ... viewer | ||
| 67 | + ... ${USERS.users['${viewer}'].broker} | ||
| 68 | + ... tender_view_milestone level2 | ||
| 69 | + ... non-critical | ||
| 70 | + Звірити відображення поля code усіх умов оплати для усіх користувачів | ||
| 71 | + | ||
| 72 | + | ||
| 73 | +Відображення події яка ініціює оплату | ||
| 74 | + [Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних тендера | ||
| 75 | + ... viewer | ||
| 76 | + ... ${USERS.users['${viewer}'].broker} | ||
| 77 | + ... tender_view_milestone level2 | ||
| 78 | + ... non-critical | ||
| 79 | + Звірити відображення поля title усіх умов оплати для усіх користувачів | ||
| 80 | + | ||
| 81 | + | ||
| 63 | Відображення виду предмету закупівлі тендера | 82 | Відображення виду предмету закупівлі тендера |
| 64 | [Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних тендера | 83 | [Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних тендера |
| 65 | ... viewer | 84 | ... viewer |
Please
register
or
login
to post a comment