From 97690ed570709f9f1424ad136dce8203e87c1a1d Mon Sep 17 00:00:00 2001 From: Andrew Leitsius <leits@quintagroup.org> Date: Fri, 6 May 2016 15:25:27 +0300 Subject: [PATCH] Add number of items (#200) As variable to complaints, openProcedure and aboveThreshold test suites And to all necessary keywords --- op_robot_tests/tests_files/aboveThreshold.robot | 1 + op_robot_tests/tests_files/base_keywords.robot | 3 ++- op_robot_tests/tests_files/initial_data.py | 12 ++++++------ op_robot_tests/tests_files/keywords.robot | 4 ++-- op_robot_tests/tests_files/openProcedure.robot | 9 +++++---- op_robot_tests/tests_files/service_keywords.py | 8 ++++---- op_robot_tests/tests_files/singleItemTenderComplaints.robot | 1 + 7 files changed, 21 insertions(+), 17 deletions(-) diff --git a/op_robot_tests/tests_files/aboveThreshold.robot b/op_robot_tests/tests_files/aboveThreshold.robot index 0d61959..5507493 100644 --- a/op_robot_tests/tests_files/aboveThreshold.robot +++ b/op_robot_tests/tests_files/aboveThreshold.robot @@ -8,6 +8,7 @@ Suite Teardown Test Suite Teardown ${mode} openeu @{used_roles} tender_owner provider provider1 viewer +${number_of_items} ${1} ${number_of_lots} ${0} ${meat} ${0} diff --git a/op_robot_tests/tests_files/base_keywords.robot b/op_robot_tests/tests_files/base_keywords.robot index de8fb9a..d53cad0 100644 --- a/op_robot_tests/tests_files/base_keywords.robot +++ b/op_robot_tests/tests_files/base_keywords.robot @@ -8,8 +8,9 @@ Resource resource.robot *** Keywords *** Можливість оголосити тендер ${number_of_lots}= Convert To Integer ${number_of_lots} + ${number_of_items}= Convert To Integer ${number_of_items} ${meat}= Convert To Integer ${meat} - ${tender_data}= Підготувати дані для створення тендера ${number_of_lots} ${meat} + ${tender_data}= Підготувати дані для створення тендера ${number_of_items} ${number_of_lots} ${meat} ${adapted_data}= Адаптувати дані для оголошення тендера ${tender_owner} ${tender_data} ${TENDER_UAID}= Run As ${tender_owner} Створити тендер ${adapted_data} Set To Dictionary ${USERS.users['${tender_owner}']} initial_data=${adapted_data} diff --git a/op_robot_tests/tests_files/initial_data.py b/op_robot_tests/tests_files/initial_data.py index 09f98db..b912f85 100644 --- a/op_robot_tests/tests_files/initial_data.py +++ b/op_robot_tests/tests_files/initial_data.py @@ -47,7 +47,7 @@ def create_fake_doc(): return tf.name -def test_tender_data(intervals, periods=("enquiry", "tender"), number_of_lots=0, meat=False): +def test_tender_data(intervals, periods=("enquiry", "tender"), number_of_items=1, number_of_lots=0, meat=False): now = get_now() value_amount = round(random.uniform(3000, 99999999999.99), 2) # max value equals to budget of Ukraine in hryvnias data = { @@ -93,7 +93,7 @@ def test_tender_data(intervals, periods=("enquiry", "tender"), number_of_lots=0, new_lot = test_lot_data(data['value']['amount']) data['lots'].append(new_lot) data['lots'][lot_number]['id'] = lot_id - for i in range(fake.random_int(min=1, max=5)): + for i in range(number_of_items): new_item = test_item_data(cpv_group) data['items'].append(new_item) data['items'][lot_number]['relatedLot'] = lot_id @@ -102,7 +102,7 @@ def test_tender_data(intervals, periods=("enquiry", "tender"), number_of_lots=0, data['value']['amount'] = value_amount data['minimalStep']['amount'] = minimalStep else: - for i in range(fake.random_int(min=1, max=5)): + for i in range(number_of_items): new_item = test_item_data(cpv_group) data['items'].append(new_item) if meat: @@ -341,7 +341,7 @@ def test_lot_complaint_data(complaint, lot_id): return munchify(complaint) -def test_tender_data_openua(intervals, number_of_lots, meat): +def test_tender_data_openua(intervals, number_of_items, number_of_lots, meat): accelerator = intervals['accelerator'] # Since `accelerator` field is not really a list containing timings # for a period called `acceleratorPeriod`, let's remove it :) @@ -349,7 +349,7 @@ def test_tender_data_openua(intervals, number_of_lots, meat): # We should not provide any values for `enquiryPeriod` when creating # an openUA or openEU procedure. That field should not be present at all. # Therefore, we pass a nondefault list of periods to `test_tender_data()`. - data = test_tender_data(intervals, periods=('tender',), number_of_lots=number_of_lots, meat=meat) + data = test_tender_data(intervals, ('tender',), number_of_items, number_of_lots, meat) data['procurementMethodType'] = 'aboveThresholdUA' data['procurementMethodDetails'] = 'quick, ' \ 'accelerator={}'.format(accelerator) @@ -365,7 +365,7 @@ def test_tender_data_openeu(intervals, number_of_lots, meat): # We should not provide any values for `enquiryPeriod` when creating # an openUA or openEU procedure. That field should not be present at all. # Therefore, we pass a nondefault list of periods to `test_tender_data()`. - data = test_tender_data(intervals, periods=('tender',), number_of_lots=number_of_lots, meat=meat) + data = test_tender_data(intervals, ('tender',), number_of_items, number_of_lots, meat) data['procurementMethodType'] = 'aboveThresholdEU' data['procurementMethodDetails'] = 'quick, ' \ 'accelerator={}'.format(accelerator) diff --git a/op_robot_tests/tests_files/keywords.robot b/op_robot_tests/tests_files/keywords.robot index 9ad990e..e09bb47 100644 --- a/op_robot_tests/tests_files/keywords.robot +++ b/op_robot_tests/tests_files/keywords.robot @@ -191,9 +191,9 @@ Get Broker Property By Username Підготувати дані для створення тендера - [Arguments] ${number_of_lots}=0 ${meat}=${False} + [Arguments] ${number_of_items}=1 ${number_of_lots}=0 ${meat}=${False} ${period_intervals}= compute_intrs ${BROKERS} ${used_brokers} - ${tender_data}= prepare_test_tender_data ${period_intervals} ${mode} ${number_of_lots} ${meat} + ${tender_data}= prepare_test_tender_data ${period_intervals} ${mode} ${number_of_items} ${number_of_lots} ${meat} ${TENDER}= Create Dictionary Set Global Variable ${TENDER} Log ${tender_data} diff --git a/op_robot_tests/tests_files/openProcedure.robot b/op_robot_tests/tests_files/openProcedure.robot index 4dd0d83..67d223e 100644 --- a/op_robot_tests/tests_files/openProcedure.robot +++ b/op_robot_tests/tests_files/openProcedure.robot @@ -5,11 +5,12 @@ Suite Teardown Test Suite Teardown *** Variables *** -${mode} belowThreshold -@{used_roles} tender_owner provider provider1 viewer +${mode} belowThreshold +@{used_roles} tender_owner provider provider1 viewer -${number_of_lots} ${1} -${meat} ${1} +${number_of_items} ${1} +${number_of_lots} ${1} +${meat} ${1} *** Test Cases *** diff --git a/op_robot_tests/tests_files/service_keywords.py b/op_robot_tests/tests_files/service_keywords.py index fda6d70..71cfd2f 100644 --- a/op_robot_tests/tests_files/service_keywords.py +++ b/op_robot_tests/tests_files/service_keywords.py @@ -258,7 +258,7 @@ def compute_intrs(brokers_data, used_brokers): return result -def prepare_test_tender_data(procedure_intervals, mode, number_of_lots=0, meat=False): +def prepare_test_tender_data(procedure_intervals, mode, number_of_items=1, number_of_lots=0, meat=False): # Get actual intervals by mode name if mode in procedure_intervals: intervals = procedure_intervals[mode] @@ -281,13 +281,13 @@ def prepare_test_tender_data(procedure_intervals, mode, number_of_lots=0, meat=F elif mode == 'negotiation.quick': return munchify({'data': test_tender_data_limited(intervals, 'negotiation.quick')}) elif mode == 'openeu': - return munchify({'data': test_tender_data_openeu(intervals, number_of_lots=number_of_lots, meat=meat)}) + return munchify({'data': test_tender_data_openeu(intervals, number_of_items, number_of_lots, meat)}) elif mode == 'openua': - return munchify({'data': test_tender_data_openua(intervals, number_of_lots=number_of_lots, meat=meat)}) + return munchify({'data': test_tender_data_openua(intervals, number_of_items, number_of_lots, meat)}) elif mode == 'reporting': return munchify({'data': test_tender_data_limited(intervals, 'reporting')}) elif mode == 'belowThreshold': - return munchify({'data': test_tender_data(intervals, number_of_lots=number_of_lots, meat=meat)}) + return munchify({'data': test_tender_data(intervals, number_of_items=number_of_items, number_of_lots=number_of_lots, meat=meat)}) raise ValueError("Invalid mode for prepare_test_tender_data") diff --git a/op_robot_tests/tests_files/singleItemTenderComplaints.robot b/op_robot_tests/tests_files/singleItemTenderComplaints.robot index 957baee..1aa773c 100644 --- a/op_robot_tests/tests_files/singleItemTenderComplaints.robot +++ b/op_robot_tests/tests_files/singleItemTenderComplaints.robot @@ -7,6 +7,7 @@ Suite Teardown Test Suite Teardown ${mode} belowThreshold @{used_roles} tender_owner provider provider1 viewer +${number_of_items} ${1} ${number_of_lots} ${1} ${meat} ${1} -- libgit2 0.24.0