Commit 0e8bb250dda3ef90aff4c0330883a6e0ddbb0399
1 parent
6bef4311
added test suites for single and multilot tenders
Showing
10 changed files
with
416 additions
and
21 deletions
... | ... | @@ -5,8 +5,8 @@ import sys |
5 | 5 | |
6 | 6 | def runner(): |
7 | 7 | args = sys.argv[1:] |
8 | - if '-s' not in args: | |
9 | - args += ['-s', 'OpenProcurementProcess'] | |
8 | + #if '-s' not in args: | |
9 | + # args += ['-s', 'OpenProcurementProcess'] | |
10 | 10 | if '-d' not in args: |
11 | 11 | directory = os.path.join(os.getcwd(), 'test_output') |
12 | 12 | if not os.path.exists(directory): | ... | ... |
... | ... | @@ -5,10 +5,11 @@ Library op_robot_tests.tests_files.brokers.openprocurement_client_helper |
5 | 5 | Підготувати клієнт для користувача |
6 | 6 | [Arguments] @{ARGUMENTS} |
7 | 7 | [Documentation] Відкрити брaвзер, створити обєкт api wrapper, тощо |
8 | - ${api_wrapper}= prepare_api_wrapper ${BROKERS['${USERS.users['${ARGUMENTS[0]}'].broker}'].api_key} | |
8 | + ${api_wrapper}= prepare_api_wrapper ${USERS.users['${ARGUMENTS[0]}'].api_key} | |
9 | 9 | Set To Dictionary ${USERS.users['${ARGUMENTS[0]}']} client ${api_wrapper} |
10 | 10 | Log Variables |
11 | 11 | |
12 | + | |
12 | 13 | Створити тендер |
13 | 14 | [Arguments] @{ARGUMENTS} |
14 | 15 | ${INITIAL_TENDER_DATA}= prepare_test_tender_data |
... | ... | @@ -21,9 +22,22 @@ Library op_robot_tests.tests_files.brokers.openprocurement_client_helper |
21 | 22 | Log access_token: ${access_token} |
22 | 23 | Log tender_id: ${TENDER_DATA.data.id} |
23 | 24 | Set Global Variable ${TENDER_DATA} |
24 | - #Debug | |
25 | 25 | [return] ${TENDER_DATA} |
26 | 26 | |
27 | +Створити багатопредметний тендер | |
28 | + [Arguments] @{ARGUMENTS} | |
29 | + ${INITIAL_TENDER_DATA}= prepare_test_tender_data_multiple_items | |
30 | + Log object data ${INITIAL_TENDER_DATA} | |
31 | + ${TENDER_DATA}= Call Method ${USERS.users['${ARGUMENTS[0]}'].client} create_tender ${INITIAL_TENDER_DATA} | |
32 | + Log object data ${TENDER_DATA} cteated_tender | |
33 | + ${access_token}= Get Variable Value ${TENDER_DATA.access.token} | |
34 | + Set Global Variable ${access_token} | |
35 | + Set To Dictionary ${USERS.users['${ARGUMENTS[0]}']} access_token ${access_token} | |
36 | + Log access_token: ${access_token} | |
37 | + Log tender_id: ${TENDER_DATA.data.id} | |
38 | + Set Global Variable ${TENDER_DATA} | |
39 | + [return] ${TENDER_DATA} | |
40 | + | |
27 | 41 | Пошук тендера по ідентифікатору |
28 | 42 | [Arguments] @{ARGUMENTS} |
29 | 43 | [Documentation] |
... | ... | @@ -97,11 +111,40 @@ Library op_robot_tests.tests_files.brokers.openprocurement_client_helper |
97 | 111 | [Arguments] @{ARGUMENTS} |
98 | 112 | log many @{ARGUMENTS} |
99 | 113 | ${tender}= Call Method ${USERS.users['${ARGUMENTS[0]}'].client} get_tender ${ARGUMENTS[1]} |
114 | + log many ${USERS.users['${ARGUMENTS[0]}']} | |
100 | 115 | ${tender}= set_access_key ${tender} ${USERS.users['${ARGUMENTS[0]}'].access_token} |
101 | 116 | ${ARGUMENTS[3].data.id}= Set Variable ${tender.data.questions[${ARGUMENTS[2]}].id} |
102 | 117 | ${quvestion_with_answer}= Call Method ${USERS.users['${ARGUMENTS[0]}'].client} patch_question ${tender} ${ARGUMENTS[3]} |
118 | + log many ${USERS.users['${ARGUMENTS[0]}'].client} ${tender} ${ARGUMENTS[3]} | |
103 | 119 | Log object data ${quvestion_with_answer} quvestion_with_answer |
104 | 120 | |
121 | +Подати скаргу | |
122 | + [Documentation] | |
123 | + ... ${ARGUMENTS[0]} == username | |
124 | + ... ${ARGUMENTS[1]} == tender_uid | |
125 | + ... ${ARGUMENTS[2]} == complaint | |
126 | + [Arguments] @{ARGUMENTS} | |
127 | + log many @{ARGUMENTS} | |
128 | + ${tender}= Call Method ${USERS.users['${ARGUMENTS[0]}'].client} get_tender ${ARGUMENTS[1]} | |
129 | + ${complaint}= Call Method ${USERS.users['${ARGUMENTS[0]}'].client} _create_tender_resource_item ${tender} ${ARGUMENTS[2]} complaints | |
130 | + Log object data ${complaint} complaint | |
131 | + | |
132 | +Обробити скаргу | |
133 | + [Documentation] | |
134 | + ... ${ARGUMENTS[0]} == username | |
135 | + ... ${ARGUMENTS[1]} == tender_uid | |
136 | + ... ${ARGUMENTS[2]} == question_id | |
137 | + ... ${ARGUMENTS[3]} == answer_data | |
138 | + [Arguments] @{ARGUMENTS} | |
139 | + log many @{ARGUMENTS} | |
140 | + ${tender}= Call Method ${USERS.users['${ARGUMENTS[0]}'].client} get_tender ${ARGUMENTS[1]} | |
141 | + ${tender}= set_access_key ${tender} ${USERS.users['${ARGUMENTS[0]}'].access_token} | |
142 | + ${ARGUMENTS[3].data.id}= Set Variable ${tender.data.complaints[${ARGUMENTS[2]}].id} | |
143 | + ${complaint_with_answer}= Call Method ${USERS.users['${ARGUMENTS[0]}'].client} _patch_tender_resource_item ${tender} ${ARGUMENTS[3]} complaints | |
144 | + log many ${USERS.users['${ARGUMENTS[0]}'].client} ${tender} ${ARGUMENTS[3]} | |
145 | + Log object data ${complaint_with_answer} complaint_with_answer | |
146 | + | |
147 | + | |
105 | 148 | |
106 | 149 | Подати цінову пропозицію |
107 | 150 | [Documentation] |
... | ... | @@ -135,4 +178,6 @@ Library op_robot_tests.tests_files.brokers.openprocurement_client_helper |
135 | 178 | ${tender}= set_access_key ${tender} ${USERS.users['${ARGUMENTS[0]}'].access_token} |
136 | 179 | ${award_activeted_response}= Call Method ${USERS.users['${ARGUMENTS[0]}'].client} patch_award ${tender} ${ARGUMENTS[2]} |
137 | 180 | Log object data ${award_activeted_response} award_activeted_response |
138 | - [return] ${award_activeted_response} | |
\ No newline at end of file | ||
181 | + [return] ${award_activeted_response} | |
182 | + | |
183 | +Підписати договір | |
\ No newline at end of file | ... | ... |
... | ... | @@ -3,6 +3,11 @@ E-tender: |
3 | 3 | url: http://uat.e-tender.biz/ |
4 | 4 | timout_on_wait: 15 |
5 | 5 | Quinta: |
6 | - api_key: e9c3ccb8e8124f26941d5f9639a4ebc3 | |
7 | 6 | keywords_file: openprocurement_client |
8 | 7 | timout_on_wait: 0 |
8 | +Quinta1: | |
9 | + keywords_file: openprocurement_client | |
10 | + timout_on_wait: 0 | |
11 | +Quinta2: | |
12 | + keywords_file: openprocurement_client | |
13 | + timout_on_wait: 0 | |
\ No newline at end of file | ... | ... |
1 | 1 | tender_owner: Tender Owner |
2 | 2 | users: |
3 | 3 | Tender Owner: |
4 | + api_key: e9c3ccb8e8124f26941d5f9639a4ebc3 | |
4 | 5 | broker: Quinta |
5 | 6 | Tender Viewer: |
6 | 7 | broker: E-tender |
... | ... | @@ -8,5 +9,10 @@ users: |
8 | 9 | browser: chrome |
9 | 10 | position: [640, 0] |
10 | 11 | size: [640, 900] |
12 | + Tender Viewer1: | |
13 | + api_key: "" | |
14 | + broker: Quinta | |
11 | 15 | Tender User: |
12 | - broker: Quinta | |
\ No newline at end of file | ||
16 | + api_key: e9c3ccb8e8124f26941d5f9639a4ebc3 | |
17 | + broker: Quinta | |
18 | + | |
\ No newline at end of file | ... | ... |
... | ... | @@ -7,7 +7,9 @@ fake = Factory.create('uk_UA') |
7 | 7 | fake_ru = Factory.create('ru') |
8 | 8 | fake_en = Factory.create() |
9 | 9 | |
10 | -test_tender_data = { | |
10 | +def test_tender_data(): | |
11 | + now = datetime.now() | |
12 | + return { | |
11 | 13 | "title": fake.catch_phrase(), |
12 | 14 | "mode": "test", |
13 | 15 | "submissionMethodDetails": "quick", |
... | ... | @@ -87,6 +89,120 @@ test_tender_data = { |
87 | 89 | } |
88 | 90 | } |
89 | 91 | |
92 | +test_tender_data_multiple_lots = { | |
93 | + | |
94 | + "title": fake.catch_phrase(), | |
95 | + "mode": "test", | |
96 | + "submissionMethodDetails": "quick", | |
97 | + "description": "Тестовий тендер", | |
98 | + "description_en": "Test tender", | |
99 | + "description_ru": "Тестовый тендер", | |
100 | + "procuringEntity": { | |
101 | + "name": fake.company(), | |
102 | + "name_ru": fake_ru.company(), | |
103 | + "name_en": fake_en.company(), | |
104 | + "identifier": { | |
105 | + "scheme": u"UA-EDR", | |
106 | + "id": u"0000{}".format(fake.pyint()), | |
107 | + "uri": fake.image_url(width=None, height=None) | |
108 | + }, | |
109 | + "address": { | |
110 | + "countryName": u"Україна", | |
111 | + "postalCode": fake.postalcode(), | |
112 | + "region": u"м. Київ", | |
113 | + "locality": u"м. Київ", | |
114 | + "streetAddress": fake.street_address() | |
115 | + }, | |
116 | + "contactPoint": { | |
117 | + "name": fake.name(), | |
118 | + "telephone": fake.phone_number() | |
119 | + } | |
120 | + }, | |
121 | + "value": { | |
122 | + "amount": 50000.99, | |
123 | + "currency": u"UAH" | |
124 | + }, | |
125 | + "minimalStep": { | |
126 | + "amount": 100.1, | |
127 | + "currency": u"UAH" | |
128 | + }, | |
129 | + "items": [ | |
130 | + { | |
131 | + "description": fake.catch_phrase(), | |
132 | + "deliveryDate": { | |
133 | + "endDate": (now + timedelta(days=5)).isoformat() | |
134 | + }, | |
135 | + "deliveryLocation": { | |
136 | + "latitude": "49.8500° N", | |
137 | + "longitude": "24.0167° E" | |
138 | + }, | |
139 | + "deliveryAddress": { | |
140 | + "countryName": u"Україна", | |
141 | + "postalCode": fake.postalcode(), | |
142 | + "region": u"м. Київ", | |
143 | + "locality": u"м. Київ", | |
144 | + "streetAddress": fake.street_address() | |
145 | + }, | |
146 | + "classification": { | |
147 | + "scheme": u"CPV", | |
148 | + "id": u"44617100-9", | |
149 | + "description": u"Cartons" | |
150 | + }, | |
151 | + "additionalClassifications": [ | |
152 | + { | |
153 | + "scheme": u"ДКПП", | |
154 | + "id": u"17.21.1", | |
155 | + "description": u"папір і картон гофровані, паперова й картонна тара" | |
156 | + } | |
157 | + ], | |
158 | + "unit": { | |
159 | + "name": u"item", | |
160 | + "code": u"44617100-9" | |
161 | + }, | |
162 | + "quantity": fake.pyint() | |
163 | + }, | |
164 | + { | |
165 | + "description": fake.catch_phrase(), | |
166 | + "deliveryDate": { | |
167 | + "endDate": (now + timedelta(days=5)).isoformat() | |
168 | + }, | |
169 | + "deliveryLocation": { | |
170 | + "latitude": "49.8500° N", | |
171 | + "longitude": "24.0167° E" | |
172 | + }, | |
173 | + "deliveryAddress": { | |
174 | + "countryName": u"Україна", | |
175 | + "postalCode": fake.postalcode(), | |
176 | + "region": u"м. Київ", | |
177 | + "locality": u"м. Київ", | |
178 | + "streetAddress": fake.street_address() | |
179 | + }, | |
180 | + "classification": { | |
181 | + "scheme": u"CPV", | |
182 | + "id": u"44617100-9", | |
183 | + "description": u"Cartons" | |
184 | + }, | |
185 | + "additionalClassifications": [ | |
186 | + { | |
187 | + "scheme": u"ДКПП", | |
188 | + "id": u"17.21.1", | |
189 | + "description": u"картон гофровані, паперова й картонна тара" | |
190 | + } | |
191 | + ], | |
192 | + "unit": { | |
193 | + "name": u"item", | |
194 | + "code": u"2-44617100-9" | |
195 | + }, | |
196 | + "quantity": fake.pyint() | |
197 | + } | |
198 | + ], | |
199 | + "enquiryPeriod": { | |
200 | + "endDate": (now + timedelta(minutes=2)).isoformat() | |
201 | + }, | |
202 | + "tenderPeriod": { | |
203 | + "endDate": (now + timedelta(minutes=5)).isoformat() | |
204 | + } | |
205 | +} | |
90 | 206 | |
91 | 207 | def test_question_data(): |
92 | 208 | return munchify({ |
... | ... | @@ -123,6 +239,40 @@ def test_question_answer_data(): |
123 | 239 | } |
124 | 240 | }) |
125 | 241 | |
242 | +def test_complaint_data(): | |
243 | + return munchify({ | |
244 | + "data": { | |
245 | + "author": { | |
246 | + "address": { | |
247 | + "countryName": "Україна", | |
248 | + "locality": "м. Вінниця", | |
249 | + "postalCode": "21100", | |
250 | + "region": "м. Вінниця", | |
251 | + "streetAddress": fake.street_address() | |
252 | + }, | |
253 | + "contactPoint": { | |
254 | + "name": fake.name(), | |
255 | + "telephone": fake.phone_number() | |
256 | + }, | |
257 | + "identifier": { | |
258 | + "scheme": u"UA-EDR", | |
259 | + "id": u"0000{}".format(fake.pyint()), | |
260 | + "uri": fake.image_url(width=None, height=None) | |
261 | + }, | |
262 | + "name": fake.company() | |
263 | + }, | |
264 | + "description": fake.sentence(nb_words=10, variable_nb_words=True), | |
265 | + "title": fake.sentence(nb_words=6, variable_nb_words=True) | |
266 | + } | |
267 | + }) | |
268 | + | |
269 | +def test_complaint_reply_data(): | |
270 | + return munchify({ | |
271 | + "data": { | |
272 | + "status": "resolved" | |
273 | + } | |
274 | + }) | |
275 | + | |
126 | 276 | |
127 | 277 | def test_bid_data(): |
128 | 278 | return munchify({ | ... | ... |
... | ... | @@ -31,6 +31,16 @@ TestCaseSetup |
31 | 31 | ${answer}= test_question_answer_data |
32 | 32 | Append to list ${ANSWERS} ${answer} |
33 | 33 | Set Global Variable ${ANSWERS} |
34 | + | |
35 | + @{COMPLAINTS} = Create list | |
36 | + ${complaint}= test_complaint_data | |
37 | + Append to list ${COMPLAINTS} ${complaint} | |
38 | + Set Global Variable ${COMPLAINTS} | |
39 | + @{REPLIES} = Create list | |
40 | + ${reply}= test_complaint_reply_data | |
41 | + Append to list ${REPLIES} ${reply} | |
42 | + Set Global Variable ${REPLIES} | |
43 | + | |
34 | 44 | ${INITIAL_TENDER_DATA}= prepare_test_tender_data |
35 | 45 | Set Global Variable ${INITIAL_TENDER_DATA} |
36 | 46 | |
... | ... | @@ -68,6 +78,15 @@ TestCaseSetup |
68 | 78 | ${field_value}= Get_From_Object ${TENDER_DATA.data} ${field} |
69 | 79 | Should Be Equal ${field_value} ${field_response} Майданчик ${USERS.users['${username}'].broker} |
70 | 80 | |
81 | +Звірити поля предметів закупівлі багатопрредметного тендера ${field} | |
82 | + Дочекатись синхронізації з майданчиком ${viewer} | |
83 | + @{items}= Get_From_Object ${TENDER_DATA.data} items | |
84 | + ${len_of_items}= Get Length ${items} | |
85 | + :FOR ${index} IN RANGE ${len_of_items} | |
86 | + \ Log ${index} | |
87 | + \ Звірити поле тендера ${viewer} items[${index}].${field} | |
88 | + | |
89 | + | |
71 | 90 | Викликати для учасника |
72 | 91 | [Arguments] ${username} ${command} @{arguments} |
73 | 92 | ${status} ${value}= run_keyword_and_ignore_keyword_definations ${BROKERS['${USERS.users['${username}'].broker}'].keywords_file}.${command} ${username} @{arguments} | ... | ... |
1 | +*** Setting *** | |
2 | +Library op_robot_tests.tests_files.service_keywords | |
3 | +Library String | |
4 | +LIbrary Collections | |
5 | +LIbrary Selenium2Library | |
6 | +Library DebugLibrary | |
7 | +Resource keywords.robot | |
8 | +Suite Setup TestCaseSetup | |
9 | +Suite Teardown Close all browsers | |
10 | + | |
11 | +*** Variables *** | |
12 | +${viewer} Tender User | |
13 | +# Tender Viewer | |
14 | +${provider} Tender User | |
15 | + | |
16 | + | |
17 | +*** Test Cases *** | |
18 | +Можливість оголосити багатопредметний тендер | |
19 | + [Tags] ${USERS.users['${USERS.tender_owner}'].broker}: Можливість оголосити багатопредметний тендер | |
20 | + Викликати для учасника ${USERS.tender_owner} Створити багатопредметний тендер | |
21 | + ${LAST_MODIFICATION_DATE}= Get Current Date | |
22 | + Set Global Variable ${LAST_MODIFICATION_DATE} | |
23 | + | |
24 | +Отримати багатопредметний тендер по ідентифікатору | |
25 | + [Tags] ${USERS.users['${viewer}'].broker}: Пошук тендера по ідентифікатору | |
26 | + Дочекатись синхронізації з майданчиком ${viewer} | |
27 | + Викликати для учасника ${viewer} Пошук тендера по ідентифікатору ${TENDER_DATA.data.tenderID} ${TENDER_DATA.data.id} | |
28 | + | |
29 | +Відображення опису позицій закупівлі багатопредметного тендера | |
30 | + [Tags] ${USERS.users['${viewer}'].broker}: Відображення полів пердметів багатопредметного тендера | |
31 | + Звірити поля предметів закупівлі багатопрредметного тендера description | |
32 | + | |
33 | +Відображення дати доставки позицій закупівлі багатопредметного тендера | |
34 | + [Tags] ${USERS.users['${viewer}'].broker}: Відображення полів пердметів багатопредметного тендера | |
35 | + Звірити поля предметів закупівлі багатопрредметного тендера deliveryDate.endDate | |
36 | + | |
37 | +Відображення координат широти доставки позицій закупівлі багатопредметного тендера | |
38 | + [Tags] ${USERS.users['${viewer}'].broker}: Відображення полів пердметів багатопредметного тендера | |
39 | + Звірити поля предметів закупівлі багатопрредметного тендера deliveryLocation.latitude | |
40 | + | |
41 | +Відображення координат довготи доставки позицій закупівлі багатопредметного тендера | |
42 | + [Tags] ${USERS.users['${viewer}'].broker}: Відображення полів пердметів багатопредметного тендера | |
43 | + Звірити поля предметів закупівлі багатопрредметного тендера deliveryLocation.longitude | |
44 | + | |
45 | +Відображення назви нас. пункту доставки позицій закупівлі багатопредметного тендера | |
46 | + [Tags] ${USERS.users['${viewer}'].broker}: Відображення полів пердметів багатопредметного тендера | |
47 | + Звірити поля предметів закупівлі багатопрредметного тендера deliveryAddress.countryName | |
48 | + | |
49 | +Відображення пошт коду доставки позицій закупівлі багатопредметного тендера | |
50 | + [Tags] ${USERS.users['${viewer}'].broker}: Відображення полів пердметів багатопредметного тендера | |
51 | + Звірити поля предметів закупівлі багатопрредметного тендера deliveryAddress.postalCode | |
52 | + | |
53 | +Відображення регіону доставки позицій закупівлі багатопредметного тендера | |
54 | + [Tags] ${USERS.users['${viewer}'].broker}: Відображення полів пердметів багатопредметного тендера | |
55 | + Звірити поля предметів закупівлі багатопрредметного тендера deliveryAddress.region | |
56 | + | |
57 | +Відображення locality адреси доставки позицій закупівлі багатопредметного тендера | |
58 | + [Tags] ${USERS.users['${viewer}'].broker}: Відображення полів пердметів багатопредметного тендера | |
59 | + Звірити поля предметів закупівлі багатопрредметного тендера deliveryAddress.locality | |
60 | + | |
61 | +Відображення вулиці доставки позицій закупівлі багатопредметного тендера | |
62 | + [Tags] ${USERS.users['${viewer}'].broker}: Відображення полів пердметів багатопредметного тендера | |
63 | + Звірити поля предметів закупівлі багатопрредметного тендера deliveryAddress.streetAddress | |
64 | + | |
65 | +Відображення схеми класифікації позицій закупівлі багатопредметного тендера | |
66 | + [Tags] ${USERS.users['${viewer}'].broker}: Відображення полів пердметів багатопредметного тендера | |
67 | + Звірити поля предметів закупівлі багатопрредметного тендера classification.scheme | |
68 | + | |
69 | +Відображення ідентифйікатора класифікації позицій закупівлі багатопредметного тендера | |
70 | + [Tags] ${USERS.users['${viewer}'].broker}: Відображення полів пердметів багатопредметного тендера | |
71 | + Звірити поля предметів закупівлі багатопрредметного тендера classification.id | |
72 | + | |
73 | +Відображення опису класифікації позицій закупівлі багатопредметного тендера | |
74 | + [Tags] ${USERS.users['${viewer}'].broker}: Відображення полів пердметів багатопредметного тендера | |
75 | + Звірити поля предметів закупівлі багатопрредметного тендера classification.description | |
76 | + | |
77 | +Відображення схеми додаткової класифікації позицій закупівлі багатопредметного тендера | |
78 | + [Tags] ${USERS.users['${viewer}'].broker}: Відображення полів пердметів багатопредметного тендера | |
79 | + Звірити поля предметів закупівлі багатопрредметного тендера additionalClassifications.scheme | |
80 | + | |
81 | +Відображення ідентифікатора додаткової класифікації позицій закупівлі багатопредметного тендера | |
82 | + [Tags] ${USERS.users['${viewer}'].broker}: Відображення полів пердметів багатопредметного тендера | |
83 | + Звірити поля предметів закупівлі багатопрредметного тендера additionalClassifications.id | |
84 | + | |
85 | +Відображення опису додаткової класифікації позицій закупівлі багатопредметного тендера | |
86 | + [Tags] ${USERS.users['${viewer}'].broker}: Відображення полів пердметів багатопредметного тендера | |
87 | + Звірити поля предметів закупівлі багатопрредметного тендера additionalClassifications.description | |
88 | + | |
89 | +Відображення назви одиниці позицій закупівлі багатопредметного тендера | |
90 | + [Tags] ${USERS.users['${viewer}'].broker}: Відображення полів пердметів багатопредметного тендера | |
91 | + Звірити поля предметів закупівлі багатопрредметного тендера unit.name | |
92 | + | |
93 | +Відображення коду одиниці позицій закупівлі багатопредметного тендера | |
94 | + [Tags] ${USERS.users['${viewer}'].broker}: Відображення полів пердметів багатопредметного тендера | |
95 | + Звірити поля предметів закупівлі багатопрредметного тендера unit.code | |
96 | + | |
97 | +Відображення кількості позицій закупівлі багатопредметного тендера | |
98 | + [Tags] ${USERS.users['${viewer}'].broker}: Відображення полів пердметів багатопредметного тендера | |
99 | + Звірити поля предметів закупівлі багатопрредметного тендера quantity | |
100 | + | |
101 | + | ... | ... |
... | ... | @@ -13,7 +13,7 @@ from dpath.util import set as xpathset |
13 | 13 | from jsonpath_rw import parse as parse_path |
14 | 14 | from .initial_data import ( |
15 | 15 | test_tender_data, test_question_data, test_question_answer_data, |
16 | - test_bid_data, test_award_data | |
16 | + test_bid_data, test_award_data, test_complaint_data, test_complaint_reply_data, test_tender_data_multiple_lots | |
17 | 17 | ) |
18 | 18 | |
19 | 19 | |
... | ... | @@ -43,7 +43,10 @@ def load_initial_data_from(file_name): |
43 | 43 | |
44 | 44 | |
45 | 45 | def prepare_test_tender_data(): |
46 | - return munchify({'data': test_tender_data}) | |
46 | + return munchify({'data': test_tender_data()}) | |
47 | + | |
48 | +def prepare_test_tender_data_multiple_items(): | |
49 | + return munchify({'data': test_tender_data_multiple_lots}) | |
47 | 50 | |
48 | 51 | |
49 | 52 | def run_keyword_and_ignore_keyword_definations(name, *args): | ... | ... |
... | ... | @@ -9,24 +9,23 @@ Suite Setup TestCaseSetup |
9 | 9 | Suite Teardown Close all browsers |
10 | 10 | |
11 | 11 | *** Variables *** |
12 | -${viewer} Tender User | |
13 | - | |
12 | +${viewer} Tender User | |
14 | 13 | # Tender Viewer |
15 | 14 | ${provider} Tender User |
16 | 15 | |
17 | 16 | |
18 | 17 | *** Test Cases *** |
19 | -Можливість оголосити тендер | |
18 | +Можливість оголосити однопердметний тендер | |
20 | 19 | [Tags] ${USERS.users['${USERS.tender_owner}'].broker}: Можливість оголосити тендер |
21 | 20 | Викликати для учасника ${USERS.tender_owner} Створити тендер |
22 | 21 | ${LAST_MODIFICATION_DATE}= Get Current Date |
23 | 22 | Set Global Variable ${LAST_MODIFICATION_DATE} |
24 | 23 | |
25 | -Пошук тендера по ідентифікатору | |
24 | +Пошук однопредметного тендера по ідентифікатору | |
26 | 25 | [Tags] ${USERS.users['${viewer}'].broker}: Пошук тендера по ідентифікатору |
27 | 26 | Дочекатись синхронізації з майданчиком ${viewer} |
28 | 27 | Викликати для учасника ${viewer} Пошук тендера по ідентифікатору ${TENDER_DATA.data.tenderID} ${TENDER_DATA.data.id} |
29 | - | |
28 | + | |
30 | 29 | Відображення заголовоку оголошеного тендера |
31 | 30 | [Tags] ${USERS.users['${viewer}'].broker}: Відображення основних даних оголошеного тендера |
32 | 31 | Звірити поле тендера ${viewer} title |
... | ... | @@ -91,7 +90,6 @@ ${provider} Tender User |
91 | 90 | Відображення строки поставки закупівлі однопредметного тендера |
92 | 91 | [Tags] ${USERS.users['${viewer}'].broker}: Відображення однопредметного тендера |
93 | 92 | Звірити поле тендера ${viewer} items[0].deliveryDate.endDate |
94 | - | |
95 | 93 | Задати питання |
96 | 94 | [Tags] ${USERS.users['${provider}'].broker}: Можливість задати запитання |
97 | 95 | Викликати для учасника ${provider} Задати питання ${TENDER_DATA.data.id} ${QUESTIONS[0]} |
... | ... | @@ -137,6 +135,7 @@ ${provider} Tender User |
137 | 135 | |
138 | 136 | Змінити цінову пропозицію |
139 | 137 | [Tags] ${USERS.users['${provider}'].broker}: Можливість змінити цінову пропозицію |
138 | + Log object data ${biddingresponce} | |
140 | 139 | Set To Dictionary ${biddingresponce.data.value} amount 600 |
141 | 140 | Log object data ${biddingresponce.data.value} |
142 | 141 | Викликати для учасника ${provider} Змінити цінову пропозицію ${TENDER_DATA.data.id} ${biddingresponce} |
... | ... | @@ -151,8 +150,4 @@ ${provider} Tender User |
151 | 150 | ${award_data}= Get_From_Object ${TENDER_DATA.data} awards[0] |
152 | 151 | Set To Dictionary ${award} data ${award_data} |
153 | 152 | Set To Dictionary ${award['data']} status active |
154 | - Викликати для учасника ${USERS.tender_owner} Прийняти цінову пропозицію ${TENDER_DATA.data.id} ${award} | |
155 | - | |
156 | - | |
157 | - | |
158 | - | |
\ No newline at end of file | ||
153 | + Викликати для учасника ${USERS.tender_owner} Прийняти цінову пропозицію ${TENDER_DATA.data.id} ${award} | |
\ No newline at end of file | ... | ... |
1 | +*** Setting *** | |
2 | +Library op_robot_tests.tests_files.service_keywords | |
3 | +Library String | |
4 | +LIbrary Collections | |
5 | +LIbrary Selenium2Library | |
6 | +Library DebugLibrary | |
7 | +Resource keywords.robot | |
8 | +Suite Setup TestCaseSetup | |
9 | +Suite Teardown Close all browsers | |
10 | + | |
11 | +*** Variables *** | |
12 | +${viewer} Tender User | |
13 | +# Tender Viewer | |
14 | +${provider} Tender User | |
15 | + | |
16 | + | |
17 | +*** Test Cases *** | |
18 | +Можливість оголосити однопредметний тендер | |
19 | + [Tags] ${USERS.users['${USERS.tender_owner}'].broker}: Можливість оголосити тендер | |
20 | + Викликати для учасника ${USERS.tender_owner} Створити тендер | |
21 | + ${LAST_MODIFICATION_DATE}= Get Current Date | |
22 | + Set Global Variable ${LAST_MODIFICATION_DATE} | |
23 | + | |
24 | +Пошук тендера по ідентифікатору | |
25 | + [Tags] ${USERS.users['${viewer}'].broker}: Пошук тендера по ідентифікатору | |
26 | + Дочекатись синхронізації з майданчиком ${viewer} | |
27 | + Викликати для учасника ${viewer} Пошук тендера по ідентифікатору ${TENDER_DATA.data.tenderID} ${TENDER_DATA.data.id} | |
28 | + | |
29 | +Можливість подати скаргу на умови | |
30 | + [Tags] ${USERS.users['${provider}'].broker}: Можливість подати скаргу на умови | |
31 | + Викликати для учасника ${provider} Подати скаргу ${TENDER_DATA.data.id} ${COMPLAINTS[0]} | |
32 | + ${LAST_MODIFICATION_DATE}= Get Current Date | |
33 | + Set Global Variable ${LAST_MODIFICATION_DATE} | |
34 | + отримати останні зміни в тендері | |
35 | + | |
36 | +Можливість відхилити скаргу на умови | |
37 | + [Tags] ${USERS.users['${USERS.tender_owner}'].broker}: Можливість відхилити скаргу на умови | |
38 | + Set To Dictionary ${COMPLAINTS[0].data} status declined | |
39 | + Викликати для учасника ${USERS.tender_owner} Обробити скаргу ${TENDER_DATA.data.id} 0 ${COMPLAINTS[0]} | |
40 | + log many ${COMPLAINTS[0]} | |
41 | + ${LAST_MODIFICATION_DATE}= Get Current Date | |
42 | + Set Global Variable ${LAST_MODIFICATION_DATE} | |
43 | + отримати останні зміни в тендері | |
44 | + | |
45 | +Можливість відкинути скаргу на умови | |
46 | + [Tags] ${USERS.users['${USERS.tender_owner}'].broker}: Можливість відкинути скаргу на умови | |
47 | + Викликати для учасника ${provider} Подати скаргу ${TENDER_DATA.data.id} ${COMPLAINTS[0]} | |
48 | + ${LAST_MODIFICATION_DATE}= Get Current Date | |
49 | + Set Global Variable ${LAST_MODIFICATION_DATE} | |
50 | + отримати останні зміни в тендері | |
51 | + Set To Dictionary ${COMPLAINTS[0].data} status invalid | |
52 | + Викликати для учасника ${USERS.tender_owner} Обробити скаргу ${TENDER_DATA.data.id} 1 ${COMPLAINTS[0]} | |
53 | + log many ${COMPLAINTS[0]} | |
54 | + ${LAST_MODIFICATION_DATE}= Get Current Date | |
55 | + Set Global Variable ${LAST_MODIFICATION_DATE} | |
56 | + отримати останні зміни в тендері | |
57 | + | |
58 | +Можливість задовільнити скаргу на умови | |
59 | + [Tags] ${USERS.users['${provider}'].broker}: Можливість відповісти на запитання | |
60 | + Викликати для учасника ${provider} Подати скаргу ${TENDER_DATA.data.id} ${COMPLAINTS[0]} | |
61 | + ${LAST_MODIFICATION_DATE}= Get Current Date | |
62 | + Set Global Variable ${LAST_MODIFICATION_DATE} | |
63 | + отримати останні зміни в тендері | |
64 | + Set To Dictionary ${COMPLAINTS[0].data} status resolved | |
65 | + Викликати для учасника ${USERS.tender_owner} Обробити скаргу ${TENDER_DATA.data.id} 2 ${COMPLAINTS[0]} | |
66 | + log many ${COMPLAINTS[0]} | |
67 | + ${LAST_MODIFICATION_DATE}= Get Current Date | |
68 | + Set Global Variable ${LAST_MODIFICATION_DATE} | |
69 | + | |
70 | + | |
71 | + | ... | ... |
Please
register
or
login
to post a comment