Commit b6f603b65b8666c4a7d084d39e1f0f734660da37

Authored by oleg.stasiv
1 parent 23bdbd24

-Create "priceQuotationProcedure.robot"

-Add "priceQuotation.txt" file with arguments
-New variable "Profile" was added for possibility create profile with valid/invalid profile parameter
-Possible create tender with "procurementMethodType": "priceQuotation"
... ... @@ -32,6 +32,7 @@ ${ERROR_PLAN_MESSAGE}= Calling method 'get_plan' failed: ResourceGone: {"status
32 32 ... road_index=${${ROAD_INDEX}}
33 33 ... gmdn_index=${${GMDN_INDEX}}
34 34 ... plan_tender=${${PLAN_TENDER}}
  35 + ... profile=${${PROFILE}}
35 36 ${DIALOGUE_TYPE}= Get Variable Value ${DIALOGUE_TYPE}
36 37 ${FUNDING_KIND}= Get Variable Value ${FUNDING_KIND}
37 38 Run keyword if '${DIALOGUE_TYPE}' != '${None}' Set to dictionary ${tender_parameters} dialogue_type=${DIALOGUE_TYPE}
... ...
... ... @@ -237,6 +237,7 @@ Library openprocurement_client.utils
237 237 ${status}= Set Variable If 'below' in '${MODE}' active.enquiries ${status}
238 238 ${status}= Set Variable If 'selection' in '${MODE}' draft.pending ${status}
239 239 ${status}= Set Variable If '${status}'=='${EMPTY}' active ${status}
  240 + ${status}= Set Variable If 'priceQuotation' in '${MODE}' draft.publishing ${status}
240 241 Set To Dictionary ${tender['data']} status=${status}
241 242 ${tender}= Call Method ${USERS.users['${username}'].client} patch_tender
242 243 ... ${tender.data.id}
... ...
... ... @@ -983,6 +983,17 @@ def test_tender_data_esco(params, submissionMethodDetails, plan_data):
983 983 return data
984 984
985 985
  986 +def test_tender_data_pq(params, submissionMethodDetails, plan_data):
  987 + data = test_tender_data(params, plan_data, ('tender',), submissionMethodDetails)
  988 + del data["minimalStep"]
  989 + data['procurementMethodType'] = 'priceQuotation'
  990 + if params['profile']:
  991 + data['profile'] = fake.valid_profile()
  992 + else:
  993 + data['profile'] = fake.invalid_profile()
  994 + return munchify(data)
  995 +
  996 +
986 997 def test_milestone_data():
987 998 return munchify({
988 999 "code": random.choice(["prepayment", "postpayment"]),
... ...
... ... @@ -33,6 +33,8 @@ class OP_Provider(BaseProvider):
33 33 rationale_types = _fake_data.rationale_types
34 34 title_of_milestones = _fake_data.title_of_milestones
35 35 procuringTenderers = _fake_data.procuringTenderers
  36 + valid_profile_ids = _fake_data.valid_profile_ids
  37 + invalid_profile_ids = _fake_data.invalid_profile_ids
36 38
37 39 @classmethod
38 40 def randomize_nb_elements(self, number=10, le=60, ge=140):
... ... @@ -223,4 +225,12 @@ class OP_Provider(BaseProvider):
223 225
224 226 @classmethod
225 227 def milestone_title(self):
226   - return self.random_element(self.title_of_milestones)
\ No newline at end of file
  228 + return self.random_element(self.title_of_milestones)
  229 +
  230 + @classmethod
  231 + def valid_profile(self):
  232 + return self.random_element(self.valid_profile_ids)
  233 +
  234 + @classmethod
  235 + def invalid_profile(self):
  236 + return self.random_element(self.invalid_profile_ids)
\ No newline at end of file
... ...
... ... @@ -8153,5 +8153,11 @@
8153 8153 "dateOfInvoicing",
8154 8154 "endDateOfTheReportingPeriod",
8155 8155 "anotherEvent"
  8156 + ],
  8157 + "valid_profile_ids": [
  8158 + "400496-33600000-683398-42000777"
  8159 + ],
  8160 + "invalid_profile_ids": [
  8161 + "195333-32420000-214469-40000777"
8156 8162 ]
8157 8163 }
... ...
  1 +*** Settings ***
  2 +Resource base_keywords.robot
  3 +Resource aboveThreshold_keywords.robot
  4 +Suite Setup Test Suite Setup
  5 +Suite Teardown Test Suite Teardown
  6 +
  7 +
  8 +*** Variables ***
  9 +${MODE} priceQuotation
  10 +@{USED_ROLES} tender_owner provider provider1 provider2 viewer
  11 +${RESOURCE} tenders
  12 +
  13 +${NUMBER_OF_ITEMS} ${1}
  14 +${NUMBER_OF_LOTS} ${1}
  15 +${NUMBER_OF_MILESTONES} ${0}
  16 +${TENDER_MEAT} ${False}
  17 +${LOT_MEAT} ${False}
  18 +${ITEM_MEAT} ${False}
  19 +${MOZ_INTEGRATION} ${False}
  20 +${VAT_INCLUDED} ${False}
  21 +${ROAD_INDEX} ${False}
  22 +${GMDN_INDEX} ${False}
  23 +${PLAN_TENDER} ${True}
  24 +${PROFILE} ${True}
  25 +
  26 +*** Test Cases ***
  27 +Можливість оголосити тендер
  28 + [Tags] ${USERS.users['${tender_owner}'].broker}: Оголошення тендера
  29 + ... tender_owner
  30 + ... ${USERS.users['${tender_owner}'].broker}
  31 + ... create_tender level1
  32 + ... critical
  33 + [Teardown] Оновити LAST_MODIFICATION_DATE
  34 + Можливість оголосити тендер
\ No newline at end of file
... ...
... ... @@ -58,6 +58,7 @@ from .initial_data import (
58 58 test_tender_data_planning,
59 59 test_tender_data_openua_defense,
60 60 test_tender_data_framework_agreement,
  61 + test_tender_data_pq,
61 62 test_tender_data_selection,
62 63 test_bid_competitive_data,
63 64 test_monitoring_data,
... ... @@ -377,6 +378,9 @@ def prepare_test_tender_data(procedure_intervals,
377 378 elif mode == 'open_esco':
378 379 return munchify({'data': test_tender_data_esco(
379 380 tender_parameters, submissionMethodDetails, plan_data)})
  381 + elif mode == 'priceQuotation':
  382 + return munchify({'data': test_tender_data_pq(tender_parameters, submissionMethodDetails, plan_data)})
  383 +
380 384 # The previous line needs an explicit keyword argument because,
381 385 # unlike previous functions, this one has three arguments.
382 386 raise ValueError("Invalid mode for prepare_test_tender_data")
... ...
  1 +-v MODE:priceQuotation
  2 +
  3 +-v NUMBER_OF_ITEMS:1
  4 +-v NUMBER_OF_LOTS:0
  5 +
  6 +-v TENDER_MEAT:False
  7 +-v ITEM_MEAT:False
  8 +-v LOT_MEAT:False
  9 +
  10 +-v PROFILE:True
  11 +
  12 +-i create_tender
\ No newline at end of file
... ...
Please register or login to post a comment