Showing
1 changed file
with
257 additions
and
0 deletions
publicbid_bid.robot
0 → 100644
1 | +*** Settings *** | |
2 | + | |
3 | +Resource playtender_common.robot | |
4 | +Resource playtender_variables.robot | |
5 | +Resource playtender_bid_variables.robot | |
6 | + | |
7 | +*** Keywords *** | |
8 | + | |
9 | + | |
10 | +fill bid form | |
11 | + [Arguments] ${tender_uaid} ${bid} ${lots_ids} ${features_ids} | |
12 | + [Documentation] Подати цінову пропозицію bid для тендера tender_uaid на лоти lots_ids (якщо lots_ids != None) з неціновими показниками features_ids (якщо features_ids != None). | |
13 | + | |
14 | + submit form and check result ${bid_form_refresh_btn_locator} ${bid_form_refresh_success_msg} ${tender_created_checker_element_locator} ${true} | |
15 | + open popup by btn locator ${bid_form_open_btn_locator} ${bid_popup_locator} | |
16 | + ${value} = get from dictionary by keys ${bid.data} value amount | |
17 | +# ${amount} = run keyword if condition is not none ${value} convert_float_to_string ${bid.data.value.amount} | |
18 | + run keyword if condition is not none ${value} input number to exist visible input ${bid_form_value_amount_input_locator} ${value} | |
19 | + capture page screenshot | |
20 | +# ${lots} = get from dictionary by keys ${data} lots | |
21 | + run keyword if condition is not none ${lots_ids} fill bid form lots ${bid} ${lots_ids} ${features_ids} | |
22 | + capture page screenshot | |
23 | +# run keyword if condition is none ${lots_ids} fill bid form whithout lots ${bid} | |
24 | +# ${features} = get from dictionary by keys ${data} features | |
25 | +# run keyword if condition is not none ${features_ids} fill bid form features ${bid} ${tender_form_general_panel_add_feature_btn_locator} | |
26 | + fill bid required documents_all | |
27 | + capture page screenshot | |
28 | +## submit form and check result ${bid_form_submit_btn_locator} ${bid_form_submit_success_msg} ${tender_created_checker_element_locator} | |
29 | + | |
30 | +fill bid form lots | |
31 | + [Arguments] ${bid} ${lots_ids}=${None} ${features_ids}=${None} | |
32 | + [Documentation] Заповнити лотову цінову пропозицію bid для тендера tender_uaid на лоти lots_ids з неціновими показниками features_ids (якщо features_ids != None). | |
33 | + | |
34 | + ${lots} = get from dictionary by keys ${bid.data} lotValues | |
35 | + ${lots_length} = Get Length ${lots} | |
36 | + : FOR ${INDEX} IN RANGE 0 ${lots_length} | |
37 | + \ Run Keyword And Ignore Error run keyword if condition is not none ${lots} input number to exist visible input ${bid_form_value_amount_input_locator} ${lots[${INDEX}].value.amount} | |
38 | + \ capture page screenshot | |
39 | + \ ${self_qualified} = get from dictionary by keys ${bid.data} selfQualified | |
40 | +# \ run keyword if condition is not none ${self_qualified} click visible element ${bid_form_value_self_qualified_input_locator} | |
41 | + \ run keyword if condition is not none ${self_qualified} execute javascript $('.fancybox-is-open .fancybox-content input[id*="-self_qualified"]').click() | |
42 | + \ capture page screenshot | |
43 | + \ ${self_eligible} = get from dictionary by keys ${bid.data} selfEligible | |
44 | +# \ run keyword if condition is not none ${self_eligible} click visible element ${bid_form_value_self_eligible_input_locator} | |
45 | + \ run keyword if condition is not none ${self_eligible} execute javascript $('.fancybox-is-open .fancybox-content input[id*="-self_eligible"]').click() | |
46 | + \ capture page screenshot | |
47 | + \ ${feature_id} = get from dictionary by keys ${bid.data} parameters | |
48 | + \ run keyword if condition is not none ${feature_id} fill bid form features ${feature_id} | |
49 | + \ capture page screenshot | |
50 | + \ run keyword if '${mode}' in 'open_esco' fill bid form lots Esco ${bid.data.lotValues} | |
51 | + | |
52 | +fill bid form features | |
53 | + [Arguments] ${bid_parameters} | |
54 | + [Documentation] Заповнити нецінові показники цінової пропозиції. | |
55 | + | |
56 | + log many ${bid_parameters} | |
57 | + ${features_length} = Get Length ${bid_parameters} | |
58 | + : FOR ${INDEX} IN RANGE 0 ${features_length} | |
59 | + \ ${bid_form_feature_input_locator} replace string ${bid_form_feature_input_locator_tpl} %title% ${bid_parameters[${INDEX}]['code']} | |
60 | + \ ${bid_form_get_feature_input_locator} replace string ${bid_form_get_feature_input_locator_tpl} %title% ${bid_parameters[${INDEX}]['code']} | |
61 | + \ ${bid_form_feature_input_locator_select} replace string ${bid_form_feature_input_locator_select_tpl} %title% ${bid_parameters[${INDEX}]['code']} | |
62 | + \ ${value_enum} = convert float to string ${bid_parameters[${INDEX}]['value']} | |
63 | + \ ${bid_form_feature_value_input_locator} set variable ${bid_form_feature_input_locator} ${bid_form_feature_value_input_locator_tpl} | |
64 | + \ ${bid_form_get_feature_value_input_locator} set variable ${bid_form_get_feature_input_locator} ${bid_form_get_feature_value_input_locator_tpl} | |
65 | + \ ${bid_form_feature_value_input_locator} replace string ${bid_form_feature_value_input_locator} _ ' ' | |
66 | + \ ${bid_form_get_feature_value_input_locator} replace string ${bid_form_get_feature_value_input_locator} _ ' ' | |
67 | + \ ${bid_form_feature_value_input_locator} replace string ${bid_form_feature_value_input_locator} %value% ${value_enum} | |
68 | + \ ${bid_form_get_feature_value_input_locator} replace string ${bid_form_get_feature_value_input_locator} %value% ${value_enum} | |
69 | + \ ${enum_val} set variable ${bid_form_get_feature_value_input_locator} | |
70 | + \ ${enum_val1}= run keyword if ${bid_parameters[${INDEX}]['value']} == 0 Execute Javascript return $('[data-weight-source="0"]').text() | |
71 | + \ ... ELSE Execute Javascript ${enum_val} | |
72 | + \ capture page screenshot | |
73 | + \ Run Keyword And Ignore Error select from list by label ${bid_form_feature_input_locator_select} ${enum_val1} | |
74 | + \ capture page screenshot | |
75 | + | |
76 | +fill bid form lots Esco | |
77 | + [Arguments] ${values} | |
78 | + [Documentation] Заповнити цінову пропозицію Esco | |
79 | + | |
80 | + log many ${values} | |
81 | + ${values_length} = Get Length ${values} | |
82 | + : FOR ${INDEX} IN RANGE 0 ${values_length} | |
83 | + \ input number to exist visible input ${bid_form_value_yearly_payments_percentage_input_locator} ${values[${INDEX}].value.yearlyPaymentsPercentage} | |
84 | + \ capture page screenshot | |
85 | + \ input text to exist visible input ${bid_form_value_contract_duration_years_input_locator} ${values[${INDEX}].value.contractDuration.years} | |
86 | + \ capture page screenshot | |
87 | + \ input text to exist visible input ${bid_form_value_contract_duration_days_input_locator} ${values[${INDEX}].value.contractDuration.days} | |
88 | + \ capture page screenshot | |
89 | + \ fill bid form lots Esco AnnualCostsReduction ${values[${INDEX}].value.annualCostsReduction} | |
90 | + \ capture page screenshot | |
91 | + | |
92 | +fill bid form lots Esco AnnualCostsReduction | |
93 | + [Arguments] ${values} | |
94 | + [Documentation] Заповнити цінову пропозицію Esco (параметр AnnualCostsReduction). | |
95 | + | |
96 | + ${input_index} = set variable 1 | |
97 | + : FOR ${value} IN @{values} | |
98 | + \ ${input_index_tmp}= convert to string ${input_index} | |
99 | + \ ${bid_form_value_annual_costs_reduction_input_locator} replace string ${bid_form_value_annual_costs_reduction_input_locator_tpl} %index% ${input_index_tmp} | |
100 | + \ input number to exist visible input ${bid_form_value_annual_costs_reduction_input_locator} ${value} | |
101 | + \ ${input_index} = evaluate ${input_index} + 1 | |
102 | + | |
103 | +fill bid required documents_all | |
104 | + [Arguments] | |
105 | + [Documentation] Додати фейковий документ до цінової пропозиції при створенні. | |
106 | + | |
107 | + ${file_path} ${file_name} ${file_content} = create_fake_doc | |
108 | +# click visible element and wait until page contains element ${open_form_add_doc_lot_btn_locator} jquery=.modal.modal-form.js-form-popup.fancybox-content | |
109 | + #click visible element ${bid_form_add_document_all_btn_locator} | |
110 | + capture page screenshot | |
111 | +### execute javascript $('.fancybox-is-open .fancybox-content .field-bidform-documents .js-upload-documents input[type$="file"]:first').click() | |
112 | + capture page screenshot | |
113 | + choose file ${add_file_to_bid_form_locator} ${file_path} | |
114 | + capture page screenshot | |
115 | + wait until element is visible ${bid_form_add_document_type_input_locator} | |
116 | +# submit current visible popup | |
117 | + Run Keyword And Ignore Error Select From List By Value ${bid_form_add_document_type_input_locator} qualificationDocuments | |
118 | + click visible element ${bid_form_add_document_description_btn_locator} | |
119 | + capture page screenshot | |
120 | + wait until element is visible ${bid_form_add_document_description_input_locator} | |
121 | + input text to exist visible input ${bid_form_add_document_description_input_locator} test2 | |
122 | + click visible element ${bid_form_add_document_close_description_btn_locator} | |
123 | + capture page screenshot | |
124 | + | |
125 | +fill bid form edit | |
126 | + [Arguments] ${fieldname} ${fieldvalue} | |
127 | + [Documentation] Змінити поле fieldname на fieldvalue цінової пропозиції користувача username для тендера tender_uaid. | |
128 | + | |
129 | + open popup by btn locator ${bid_form_open_btn_locator} ${bid_popup_locator} | |
130 | + Run Keyword If '${fieldname}' == 'lotValues[0].value.amount' or '${fieldname}' == 'value.amount' and '${mode}' != 'open_esco' input number to exist visible input ${bid_form_value_amount_input_locator} ${fieldvalue} | |
131 | +# submit form and check result ${bid_form_submit_btn_locator} ${bid_form_submit_edit_success_msg} ${tender_created_checker_element_locator} | |
132 | + | |
133 | + | |
134 | +add document to bid | |
135 | + [Arguments] ${path} ${doc_type} ${doc_name} | |
136 | + #=documents | |
137 | + [Documentation] Завантажити документ типу doc_type, який знаходиться за шляхом path, | |
138 | + ... до цінової пропозиції користувача username для тендера tender_uaid. | |
139 | + | |
140 | + open popup by btn locator ${bid_form_open_btn_locator} ${bid_popup_locator} | |
141 | +### execute javascript $('.fancybox-is-open .fancybox-content .field-bidform-documents .js-upload-documents input[type$="file"]:first').click() | |
142 | + choose file ${add_file_to_bid_form_locator} ${path} | |
143 | + run keyword and ignore error wait until page does not contain element ${popup_dynamic_form_loading_element_locator} | |
144 | + wait until element is visible ${bid_form_add_document_type_input_locator} | |
145 | +# submit current visible popup | |
146 | + log many ${doc_type} | |
147 | +# run keyword if '${doc_type}' == 'documents' Select From List By Value ${bid_form_add_document_type_input_locator} qualificationDocuments | |
148 | +# ... else Select From List By Value ${bid_form_add_document_type_input_locator} ${doc_type} | |
149 | + Run Keyword And Ignore Error select from visible list by value ${bid_form_add_document_type_input_locator} commercialProposal | |
150 | + Run Keyword And Ignore Error Run Keyword If '${doc_type}' == 'documents' and "${mode}" not in "openeu open_competitive_dialogue" select from visible list by value ${bid_form_add_document_type_input_locator} commercialProposal | |
151 | + Run Keyword And Ignore Error Run Keyword If '${doc_type}' == 'documents' and "${mode}" in "openeu open_competitive_dialogue" select from visible list by value ${bid_form_add_document_type_input_locator} qualificationDocuments | |
152 | + Run Keyword And Ignore Error Run Keyword If '${doc_type}' == 'financial_documents' select from visible list by value ${bid_form_add_document_type_input_locator} commercialProposal | |
153 | + Run Keyword And Ignore Error Run Keyword If '${doc_type}' == 'qualification_documents' select from visible list by value ${bid_form_add_document_type_input_locator} qualificationDocuments | |
154 | + Run Keyword And Ignore Error Run Keyword If '${doc_type}' == 'eligibility_documents' select from visible list by value ${bid_form_add_document_type_input_locator} eligibilityDocuments | |
155 | + capture page screenshot | |
156 | + | |
157 | + Run Keyword And Ignore Error Execute Javascript $('.fancybox-is-open .fancybox-content .field-bidform-documents select[id*="-document_type"]:last').val('commercialProposal').change() | |
158 | + capture page screenshot | |
159 | + Run Keyword And Ignore Error Run Keyword If '${doc_type}' == 'documents' and "${mode}" not in "openeu open_competitive_dialogue" Execute Javascript $('.fancybox-is-open .fancybox-content .field-bidform-documents select[id*="-document_type"]:last').val('commercialProposal').change() | |
160 | + Run Keyword And Ignore Error Run Keyword If '${doc_type}' == 'documents' and "${mode}" in "openeu open_competitive_dialogue" Execute Javascript $('.fancybox-is-open .fancybox-content .field-bidform-documents select[id*="-document_type"]:last').val('qualificationDocuments').change() | |
161 | + capture page screenshot | |
162 | + Run Keyword And Ignore Error Run Keyword If '${doc_type}' == 'financial_documents' Execute Javascript $('.fancybox-is-open .fancybox-content .field-bidform-documents select[id*="-document_type"]:last').val('commercialProposal').change() | |
163 | + capture page screenshot | |
164 | + Run Keyword And Ignore Error Run Keyword If '${doc_type}' == 'qualification_documents' Execute Javascript $('.fancybox-is-open .fancybox-content .field-bidform-documents select[id*="-document_type"]:last').val('qualificationDocuments').change() | |
165 | + capture page screenshot | |
166 | + Run Keyword And Ignore Error Run Keyword If '${doc_type}' == 'eligibility_documents' Execute Javascript $('.fancybox-is-open .fancybox-content .field-bidform-documents select[id*="-document_type"]:last').val('eligibilityDocuments').change() | |
167 | +# Run Keyword And Ignore Error select from visible list by value ${bid_form_add_document_type_input_locator} commercialProposal | |
168 | +# Run Keyword And Ignore Error Run Keyword If '${doc_type}' == 'documents' select from visible list by value ${bid_form_add_document_type_input_locator} commercialProposal | |
169 | +# Run Keyword And Ignore Error Run Keyword If '${doc_type}' == 'financial_documents' select from visible list by value ${bid_form_add_document_type_input_locator} commercialProposal | |
170 | +# Run Keyword And Ignore Error Run Keyword If '${doc_type}' == 'qualification_documents' select from visible list by value ${bid_form_add_document_type_input_locator} qualificationDocuments | |
171 | +# Run Keyword And Ignore Error Run Keyword If '${doc_type}' == 'eligibility_documents' select from visible list by value ${bid_form_add_document_type_input_locator} eligibilityDocuments | |
172 | + capture page screenshot | |
173 | + | |
174 | + click visible element ${bid_form_add_document_description_btn_locator} | |
175 | + wait until element is visible ${bid_form_add_document_description_input_locator} | |
176 | + input text to exist visible input ${bid_form_add_document_description_input_locator} test2 | |
177 | + click visible element ${bid_form_add_document_close_description_btn_locator} | |
178 | + | |
179 | +document to bid edit | |
180 | + [Arguments] ${path} ${doc_type}=documents | |
181 | + [Documentation] Змінити документ з doc_id в описі в пропозиції користувача username для | |
182 | + ... тендера tender_uaid на документ, який знаходиться по шляху path. | |
183 | + | |
184 | + open popup by btn locator ${bid_form_open_btn_locator} ${bid_popup_locator} | |
185 | +# click visible element ${bid_form_edit_document_all_btn_locator} | |
186 | + capture page screenshot | |
187 | + choose file ${bid_form_edit_document_all_btn_locator} ${path} | |
188 | + capture page screenshot | |
189 | +# wait until element is visible ${bid_form_add_document_type_input_locator} | |
190 | + | |
191 | +fill bid form edit document | |
192 | + [Arguments] ${doc_data} ${doc_id} | |
193 | + [Documentation] Змінити тип документа з doc_id в заголовку в пропозиції користувача | |
194 | + ... username для тендера tender_uaid. Дані про новий тип документа знаходяться в doc_data. | |
195 | + | |
196 | + open popup by btn locator ${bid_form_open_btn_locator} ${bid_popup_locator} | |
197 | + ##### BOF - TMP for confidentiality##### | |
198 | + execute javascript $('#tender-bid-form .documents-dynamic-forms-wrapper:last [href$="#edit"]:last').click() | |
199 | +# click visible element $('#tender-bid-form .documents-dynamic-forms-wrapper:last [href$="#edit"]:last').click() | |
200 | + set element scroll into view ${bid_form_add_document_close_description_btn_locator} | |
201 | + capture page screenshot | |
202 | + wait until element is visible ${bid_form_add_document_description_input_locator} 60 | |
203 | + execute javascript $('#tender-bid-form .documents-dynamic-forms-wrapper:last .popover.fade.top.in [id$="-confidentiality"]').click() | |
204 | + | |
205 | +# click visible element ${bid_form_add_document_confidentiality_input_locator} | |
206 | + capture page screenshot | |
207 | + input text to exist visible input ${bid_form_add_document_confidentialityrationale_input_locator} ${doc_data.data.confidentialityRationale} | |
208 | + capture page screenshot | |
209 | + click visible element ${bid_form_add_document_close_description_btn_locator} | |
210 | + capture page screenshot | |
211 | + ##### EOF - TMP ##### | |
212 | + | |
213 | +get bid information | |
214 | + [Arguments] ${field} | |
215 | + [Documentation] Отримати значення поля field пропозиції користувача | |
216 | + ... username для тендера tender_uaid. | |
217 | + | |
218 | + capture page screenshot | |
219 | + Run Keyword If 'status' == '${field}' submit form and check result ${bid_form_refresh_btn_locator} ${bid_form_refresh_success_msg} ${tender_created_checker_element_locator} ${true} | |
220 | + Run Keyword If 'status' != '${field}' open popup by btn locator ${bid_form_open_btn_locator} ${bid_popup_locator} | |
221 | +# click visible element ${bid_form_open_btn_locator} | |
222 | + capture page screenshot | |
223 | + Run Keyword If 'status' != '${field}' wait until popup is visible | |
224 | +# ${question_open_form_answer_locator} = replace string ${question_open_form_answer_btn_locator_tpl} %title% ${question_id} | |
225 | +# wait until page contains element with reloading ${question_open_form_answer_locator} | |
226 | + capture page screenshot | |
227 | + Run Keyword If 'status' == '${field}' submit form and check result ${bid_form_refresh_btn_locator} ${bid_form_refresh_success_msg} ${tender_created_checker_element_locator} ${true} | |
228 | + #${return_value} = Run Keyword If 'lotValues[0].value.amount' == '${field}' get value by locator on opened page ${bid_lotValues_0_value_amount_value_locator} | |
229 | + ${return_value} = Run Keyword If 'lotValues[0].value.amount' == '${field}' get bid value ${bid_lotValues_0_value_amount_value_locator} | |
230 | + ... ELSE Run Keyword If 'status' == '${field}' get value by locator on opened page ${bid_form_bid_status_btn_locator} | |
231 | + ... ELSE Run Keyword If 'value.amount' == '${field}' get bid value ${bid_form_value_amount_input_locator} | |
232 | +## ${return_value} = Run Keyword If 'lotValues[0].value.amount' == '${field}' get value by locator on opened page ${bid_lotValues_0_value_amount_value_locator} | |
233 | +# ... ELSE Run Keyword If 'status' == '${field}' get_text ${bid_form_bid_status_btn_locator} | |
234 | +## ... ELSE Run Keyword If 'status' == '${field}' get value by locator on opened page ${bid_form_bid_status_btn_locator} | |
235 | +## ... ELSE Run Keyword If 'value.amount' == '${field}' get value by locator on opened page ${bid_form_value_amount_input_locator} | |
236 | +# submit current visible popup | |
237 | +## ${return_value} = Run Keyword If 'lotValues[0].value.amount' == '${field}' or 'value.amount' == '${field}' playtender_service.split_joinvalue ${return_value} | |
238 | +## ${return_value} = Run Keyword If 'lotValues[0].value.amount' == '${field}' or 'value.amount' == '${field}' Convert To Number ${return_value} | |
239 | + [Return] ${return_value} | |
240 | + | |
241 | +fill bid form remove | |
242 | + [Documentation] Змінити статус цінової пропозиції для тендера tender_uaid | |
243 | + ... користувача username на cancelled. | |
244 | + | |
245 | + click visible element ${bid_form_remove_btn_locator} | |
246 | + submit form and check result ${alert_opened_close_bid_btn_locator} ${bid_form_submit_remove_success_msg} ${tender_created_checker_element_locator} ${true} | |
247 | + | |
248 | +get bid value | |
249 | + [Arguments] ${field} | |
250 | + [Documentation] Отримати значення поля field пропозиції користувача | |
251 | + ... username для тендера tender_uaid. | |
252 | + | |
253 | + ${return_value} = get value by locator on opened page ${field} | |
254 | + ${return_value} = playtender_service.split_joinvalue ${return_value} | |
255 | + ${return_value} = Convert To Number ${return_value} | |
256 | + [Return] ${return_value} | |
257 | + | ... | ... |
Please
register
or
login
to post a comment