Showing
1 changed file
with
661 additions
and
0 deletions
publicbid_tender.robot
0 → 100644
1 | +*** Settings *** | |
2 | + | |
3 | +Resource playtender_common.robot | |
4 | +Resource playtender_variables.robot | |
5 | +Resource playtender_question.robot | |
6 | +Resource playtender_claim.robot | |
7 | +Resource playtender_bid.robot | |
8 | +Resource playtender_viewer.robot | |
9 | + | |
10 | +*** Keywords *** | |
11 | + | |
12 | +open new tender form | |
13 | + [Documentation] відкриття сторінки створення тендеру | |
14 | + | |
15 | + open page and wait element by locator ${broker_baseurl}/tender/create ${tender_form_locator} | |
16 | + | |
17 | +update tender queue | |
18 | + [Documentation] запускає оновлення тендерів з ЦБД і додає їх в чергу, тобто синхронізація може відбутися не відразу | |
19 | + ... поточна сторіка повертається | |
20 | + | |
21 | + ${current_url} = get location | |
22 | + go to ${broker_baseurl}/utils/queue-tender-update | |
23 | + go to ${current_url} | |
24 | + | |
25 | +open tender form by uaid | |
26 | + [Arguments] ${tender_uaid} | |
27 | + [Documentation] відкриття сторінки редагування плану | |
28 | + | |
29 | + open tender page by uaid ${tender_uaid} | |
30 | + click visible element and wait until page contains element ${tender_edit_btn_locator} ${tender_form_locator} | |
31 | + | |
32 | +open tender page by uaid | |
33 | + [Arguments] ${uaid} | |
34 | + [Documentation] відкриває сторінку з тендером | |
35 | + | |
36 | + open site page and wait content element ${broker_baseurl}/tender/${uaid} | |
37 | + ${is_tender_found} = get is element exist ${tender_view_checker_element_locator} | |
38 | + return from keyword if ${is_tender_found} == ${True} | |
39 | + ${is_tender_not_found} = get is 404 page | |
40 | + ${is_needed_to_update_and_wait_sync} = set variable if ${is_test_role_owner} == ${False} and ${is_tender_not_found} ${True} ${False} | |
41 | + run keyword if ${is_needed_to_update_and_wait_sync} update tender queue | |
42 | + run keyword if ${is_needed_to_update_and_wait_sync} wait until 404 page disappears | |
43 | + ${is_tender_found} = get is element exist ${tender_view_checker_element_locator} | |
44 | + run keyword if ${is_tender_found} == ${False} fail Opening tender page by uaid fails. | |
45 | + | |
46 | + | |
47 | +fill tender form | |
48 | + [Arguments] ${data} | |
49 | + [Documentation] заповнення форми з масива даних | |
50 | + | |
51 | + fill tender general info ${data} | |
52 | + ${features} = get from dictionary by keys ${data} features | |
53 | + run keyword if condition is not none ${features} fill tender form features ${features} ${tender_form_general_panel_add_feature_btn_locator} | |
54 | + ${items} = get from dictionary by keys ${data} items | |
55 | + run keyword if condition is not none ${items} fill tender form items ${items} | |
56 | + ${milestones} = get from dictionary by keys ${data} milestones | |
57 | + run keyword and ignore error run keyword if condition is not none ${milestones} fill tender form milestones ${milestones} | |
58 | + ${lots} = get from dictionary by keys ${data} lots | |
59 | + run keyword if condition is not none ${lots} fill tender form lots ${lots} | |
60 | + ${supplier_data} = op_robot_tests.tests_files.service_keywords . Test Supplier Data | |
61 | + ##### BOF - TMP for negotiation milestone 1 lot##### | |
62 | + run keyword if '${mode}' in 'reporting' Set Global Variable ${rep_val} ${data.value.amount} | |
63 | + ##### EOF - TMP ##### | |
64 | + run keyword if '${mode}' in 'negotiation reporting' fill tender from award reporting ${data.value.amount} ${supplier_data.data.suppliers[0]} | |
65 | + Run Keyword And Ignore Error fill tender required documents | |
66 | + ${procurement_method_type} = get from dictionary by keys ${data} procurementMethodType | |
67 | + Run Keyword And Ignore Error run keyword if '${mode}' in 'openeu open_esco open_framework' or ('${mode}' == 'open_competitive_dialogue' and '${procurement_method_type}' == 'competitiveDialogueEU') fill tender contact person ${data} | |
68 | +# Run Keyword And Ignore Error Execute Javascript $('a.btn.btn-default.btn-update.js-form-popup-add').click() | |
69 | + | |
70 | +fill tender form 2 stage | |
71 | + [Arguments] ${data} | |
72 | + [Documentation] заповнення форми з масива даних | |
73 | + | |
74 | + fill tender general info 2 stage ${data} | |
75 | + ${features} = get from dictionary by keys ${data} features | |
76 | + run keyword if condition is not none ${features} fill tender form features ${features} ${tender_form_general_panel_add_feature_btn_locator} | |
77 | + ${items} = get from dictionary by keys ${data} items | |
78 | +# run keyword if condition is not none ${items} fill tender form items ${items} | |
79 | + run keyword if condition is not none ${items} fill tender form ${items} | |
80 | + ${milestones} = get from dictionary by keys ${data} milestones | |
81 | + run keyword and ignore error run keyword if condition is not none ${milestones} fill tender form milestones ${milestones} | |
82 | + ${lots} = get from dictionary by keys ${data} lots | |
83 | + run keyword if condition is not none ${lots} fill tender form lots 2 stage ${lots} | |
84 | + ${supplier_data} = op_robot_tests.tests_files.service_keywords . Test Supplier Data | |
85 | + run keyword if '${mode}' in 'negotiation reporting' fill tender from award reporting ${data.value.amount} ${supplier_data.data.suppliers[0]} | |
86 | + Run Keyword And Ignore Error fill tender required documents | |
87 | + | |
88 | +fill tender general info | |
89 | + [Arguments] ${data} | |
90 | + [Documentation] обирає потрібний тип закупівлі, чекає оновлення форми, вказує мультилотовість, заповнює | |
91 | + ... приховані поля + відкриває попап основних даних, заповнює його і закриває | |
92 | + | |
93 | + Execute Javascript $(window).scrollTop(0) | |
94 | + wait until page does not contain element ${tender_load_form_after_mode_locator} | |
95 | + wait until page contains element ${tender_form_procurement_method_type_input_locator} | |
96 | + capture page screenshot | |
97 | + ${procurement_method_type} = get from dictionary by keys ${data} procurementMethodType | |
98 | + capture page screenshot | |
99 | + run keyword if condition is not none ${procurement_method_type} select from list by value ${tender_form_procurement_method_type_input_locator} ${procurement_method_type} | |
100 | + wait until page does not contain element ${tender_load_form_after_mode_locator} | |
101 | + | |
102 | + ${lots} = get from dictionary by keys ${data} lots | |
103 | + run keyword if condition is not none ${lots} Run Keyword And Ignore Error Execute Javascript $('[id$="form-is_multilot"]').click() | |
104 | + wait until page does not contain element ${tender_load_form_after_mode_locator} 20 | |
105 | + | |
106 | + open popup by btn locator ${plan_form_general_panel_edit_btn_locator} | |
107 | + ${plan_path} = Get Variable Value ${ARTIFACT_FILE} artifact_plan.yaml | |
108 | + ${closeFrameworkAgreementSelectionUA_path} = Get Variable Value ${ARTIFACT_FILE} artifact.yaml | |
109 | + ${ARTIFACT} = load_data_from ${plan_path} | |
110 | + run keyword and ignore error run keyword if condition is not none ${ARTIFACT.tender_uaid} input text to visible input ${tender_form_general_tender_plan_id_locator} ${ARTIFACT.tender_uaid} | |
111 | + ${ARTIFACT2} = load_data_from ${closeFrameworkAgreementSelectionUA_path} | |
112 | + run keyword and ignore error run keyword if condition is not none ${ARTIFACT.tender_uaid} input text to visible input ${tender_form_general_agreementid_input_locator} ${ARTIFACT2.tender_uaid} | |
113 | + ${title} = get from dictionary by keys ${data} title | |
114 | + run keyword if condition is not none ${title} input text to visible input ${tender_form_general_tender_title_locator} ${title} | |
115 | + ${title_en} = get from dictionary by keys ${data} title_en | |
116 | + run keyword if condition is not none ${title} input text to exist visible input ${tender_form_general_tender_title_en_locator} ${title_en} | |
117 | + ${description} = get from dictionary by keys ${data} description | |
118 | + run keyword if condition is not none ${title} input text to visible input ${tender_form_general_tender_description_locator} ${description} | |
119 | + ${description_en} = get from dictionary by keys ${data} description_en | |
120 | + run keyword if condition is not none ${title} input text to exist visible input ${tender_form_general_tender_description_en_locator} ${description_en} | |
121 | + ${funders} = get from dictionary by keys ${data} funders | |
122 | + run keyword if condition is not none ${funders} Click Element ${tender_form_general_tender_funder_locator} | |
123 | + run keyword if condition is not none ${funders} fill tender form funders ${funders} | |
124 | + ${amount} = get from dictionary by keys ${data} value amount | |
125 | + run keyword and ignore error run keyword if condition is not none ${amount} run keyword and ignore error input number to exist visible input ${tender_form_general_value_amount_input_locator} ${amount} | |
126 | + ${currency} = get from dictionary by keys ${data} value currency | |
127 | + run keyword if condition is not none ${currency} select from visible list by value ${tender_form_general_value_currency_input_locator} ${currency} | |
128 | + ${value_added_tax_included} = get from dictionary by keys ${data} value valueAddedTaxIncluded | |
129 | + run keyword if condition is not none ${value_added_tax_included} run keyword if ${value_added_tax_included} Execute Javascript $('[id$="form-value_added_tax_included"]').click() | |
130 | +##run keyword and ignore error | |
131 | + | |
132 | +##click element ${tender_form_general_value_added_tax_input_locator} | |
133 | + Execute Javascript $('[id$="form-test_mode"]').click() | |
134 | + ${min_step_amount} = get from dictionary by keys ${data} minimalStep amount | |
135 | + run keyword if condition is not none ${min_step_amount} input number to exist visible input ${tender_form_general_minimalStep_amount_input_locator} ${min_step_amount} | |
136 | + ${main_procurement_category} = get from dictionary by keys ${data} mainProcurementCategory | |
137 | + run keyword if condition is not none ${main_procurement_category} select from visible list by value ${tender_form_general_main_procurement_category_input_locator} ${main_procurement_category} | |
138 | + ${tender_enquiry_period_start_date} = get from dictionary by keys ${data} enquiryPeriod startDate | |
139 | +# run keyword if condition is not none ${tender_enquiry_period_start_date} select from visible list by year of date ${tender_enquiry_period_start_date_input_locator} ${tender_enquiry_period_start_date} | |
140 | + run keyword and ignore error run keyword if condition is not none ${tender_enquiry_period_start_date} input datetime to visible input ${tender_enquiry_period_start_date_input_locator} ${tender_enquiry_period_start_date} | |
141 | + ${tender_enquiry_period_end_date} = get from dictionary by keys ${data} enquiryPeriod endDate | |
142 | +# run keyword if condition is not none ${tender_enquiry_period_start_date} select from visible list by year of date ${tender_enquiry_period_start_date_input_locator} ${tender_enquiry_period_start_date} | |
143 | + run keyword if condition is not none ${tender_enquiry_period_end_date} input datetime to visible input ${tender_enquiry_period_end_date_input_locator} ${tender_enquiry_period_end_date} | |
144 | + ${tender_start_date} = get from dictionary by keys ${data} tenderPeriod startDate | |
145 | + run keyword if condition is not none ${tender_start_date} run keyword and ignore error input datetime to visible input ${tender_tender_period_start_date_input_locator} ${tender_start_date} | |
146 | + ${tender_end_date} = get from dictionary by keys ${data} tenderPeriod endDate | |
147 | + run keyword if condition is not none ${tender_end_date} input datetime to visible input ${tender_tender_period_end_date_input_locator} ${tender_end_date} | |
148 | +# run keyword and ignore error click element ${tender_tender_quick_mode_locator} | |
149 | + run keyword and ignore error Execute Javascript $('[id$="form-quick_mode"]').click() | |
150 | + ${classification} = get from dictionary by keys ${data} classification | |
151 | + run keyword if condition is not none ${classification} select classification by code attributes ${plan_form_classification_edit_btn_locator} ${classification} | |
152 | + ${additional_classifications} = get from dictionary by keys ${data} additionalClassifications | |
153 | + run keyword if condition is not none ${additional_classifications} select classification by array of code attributes ${plan_form_additional_classification_edit_btn_locator} ${additional_classifications} ${None} ${kekv_schemes} | |
154 | + run keyword if condition is not none ${additional_classifications} select classification by array of code attributes ${plan_form_kekv_classification_edit_btn_locator} ${additional_classifications} ${kekv_schemes} | |
155 | + ${funding_kind} = get from dictionary by keys ${data} fundingKind | |
156 | + run keyword if condition is not none ${funding_kind} select from visible list by value ${tender_form_general_funding_kind_input_locator} ${funding_kind} | |
157 | +#esco | |
158 | + ${nbu_discount_rate} = get from dictionary by keys ${data} NBUdiscountRate | |
159 | + ${nbu_discount_rate} = Run keyword If '${nbu_discount_rate}' != '${None}' set_value_minimalStepPercentage ${nbu_discount_rate} | |
160 | + ${nbu_discount_rate} = Run keyword If '${nbu_discount_rate}' != '${None}' convert_esco__float_to_string ${nbu_discount_rate} | |
161 | + run keyword and ignore error run keyword if condition is not none ${nbu_discount_rate} input number to exist visible input ${tender_form_general_nbu_discount_rate_input_locator} ${nbu_discount_rate} | |
162 | +#closeframework | |
163 | + ${max_awards_count} = get from dictionary by keys ${data} maxAwardsCount | |
164 | + run keyword if condition is not none ${max_awards_count} input text to exist visible input ${tender_form_general_max_awards_count_input_locator} ${max_awards_count} | |
165 | + ${agreement_duration_years} = get from dictionary by keys ${data} agreementDuration | |
166 | + ${agreement_duration_years1}= Run keyword If '${agreement_duration_years}' != '${None}' split_agreementDuration ${agreement_duration_years} year | |
167 | + run keyword if condition is not none ${agreement_duration_years} select from visible list by value ${tender_form_general_agreement_duration_years_input_locator} ${agreement_duration_years1} | |
168 | + ${agreement_duration_months} = get from dictionary by keys ${data} agreementDuration | |
169 | + ${agreement_duration_months1}= Run keyword If '${agreement_duration_months}' != '${None}' split_agreementDuration ${agreement_duration_months} month | |
170 | + run keyword if condition is not none ${agreement_duration_months} select from visible list by value ${tender_form_general_agreement_duration_months_input_locator} ${agreement_duration_months1} | |
171 | + ${agreement_duration_days} = get from dictionary by keys ${data} agreementDuration | |
172 | + ${agreement_duration_days1}= Run keyword If '${agreement_duration_days}' != '${None}' split_agreementDuration ${agreement_duration_years} day | |
173 | + run keyword if condition is not none ${agreement_duration_days} select from visible list by value ${tender_form_general_agreement_duration_days_input_locator} ${agreement_duration_days1} | |
174 | +#closeFrameworkAgreementSelectionUA | |
175 | + ${max_awards_count} = get from dictionary by keys ${data} maxAwardsCount | |
176 | + run keyword if condition is not none ${max_awards_count} input text to exist visible input ${tender_form_general_max_awards_count_input_locator} ${max_awards_count} | |
177 | + ${agreement_duration_years} = get from dictionary by keys ${data} agreementDuration | |
178 | + ${agreement_duration_years1}= Run keyword If '${agreement_duration_years}' != '${None}' split_agreementDuration ${agreement_duration_years} year | |
179 | + run keyword if condition is not none ${agreement_duration_years} select from visible list by value ${tender_form_general_agreement_duration_years_input_locator} ${agreement_duration_years1} | |
180 | + ${agreement_duration_months} = get from dictionary by keys ${data} agreementDuration | |
181 | + ${agreement_duration_months1}= Run keyword If '${agreement_duration_months}' != '${None}' split_agreementDuration ${agreement_duration_months} month | |
182 | + run keyword if condition is not none ${agreement_duration_months} select from visible list by value ${tender_form_general_agreement_duration_months_input_locator} ${agreement_duration_months1} | |
183 | + ${agreement_duration_days} = get from dictionary by keys ${data} agreementDuration | |
184 | + ${agreement_duration_days1}= Run keyword If '${agreement_duration_days}' != '${None}' split_agreementDuration ${agreement_duration_years} day | |
185 | + run keyword if condition is not none ${agreement_duration_days} select from visible list by value ${tender_form_general_agreement_duration_days_input_locator} ${agreement_duration_days1} | |
186 | +#negotiation | |
187 | + ${cause} = get from dictionary by keys ${data} cause | |
188 | + run keyword if condition is not none ${cause} select from visible list by value ${tender_form_general_cause_input_locator} ${cause} | |
189 | + ${cause_description} = get from dictionary by keys ${data} causeDescription | |
190 | + run keyword if condition is not none ${cause_description} input text to visible input ${tender_form_general_cause_description_input_locator} ${cause_description} | |
191 | +#complaints | |
192 | + Run Keyword If '${SUITE_NAME}' == 'Tests Files.Complaints' click visible element ${tender_form_auction_skip_mode_input_locator} | |
193 | + submit current visible popup | |
194 | + | |
195 | + | |
196 | +fill tender general info 2 stage | |
197 | + [Arguments] ${data} | |
198 | + [Documentation] обирає потрібний тип закупівлі, чекає оновлення форми, вказує мультилотовість, заповнює | |
199 | + ... приховані поля + відкриває попап основних даних, заповнює його і закриває | |
200 | + | |
201 | + Execute Javascript $(window).scrollTop(0) | |
202 | + wait until page does not contain element ${tender_load_form_after_mode_locator} | |
203 | + wait until page contains element ${tender_form_procurement_method_type_input_locator} | |
204 | + capture page screenshot | |
205 | + ${procurement_method_type} = get from dictionary by keys ${data} procurementMethodType | |
206 | + capture page screenshot | |
207 | + run keyword if condition is not none ${procurement_method_type} select from list by value ${tender_form_procurement_method_type_input_locator} ${procurement_method_type} | |
208 | + wait until page does not contain element ${tender_load_form_after_mode_locator} | |
209 | + | |
210 | + ${lots} = get from dictionary by keys ${data} lots | |
211 | + run keyword if condition is not none ${lots} Run Keyword And Ignore Error Click Element ${tender_multilot_locator} | |
212 | + wait until page does not contain element ${tender_load_form_after_mode_locator} 20 | |
213 | + | |
214 | + open popup by btn locator ${plan_form_general_panel_edit_btn_locator} | |
215 | + ${closeFrameworkAgreementSelectionUA_path} = Get Variable Value ${ARTIFACT_FILE} artifact.yaml | |
216 | + ${ARTIFACT2} = load_data_from ${closeFrameworkAgreementSelectionUA_path} | |
217 | + run keyword and ignore error run keyword if condition is not none ${ARTIFACT.tender_uaid} input text to visible input ${tender_form_general_agreementid_input_locator} ${ARTIFACT2.tender_uaid} | |
218 | + ${main_procurement_category} = get from dictionary by keys ${data} mainProcurementCategory | |
219 | + run keyword if condition is not none ${main_procurement_category} Execute Javascript $('[id$="form-main_procurement_category"]').val('${main_procurement_category}').change() | |
220 | + ${title} = get from dictionary by keys ${data} title | |
221 | + run keyword if condition is not none ${title} input text to visible input ${tender_form_general_tender_title_locator} ${title} | |
222 | + ${title_en} = get from dictionary by keys ${data} title_en | |
223 | + run keyword if condition is not none ${title} input text to exist visible input ${tender_form_general_tender_title_en_locator} ${title_en} | |
224 | + ${description} = get from dictionary by keys ${data} description | |
225 | + run keyword if condition is not none ${title} input text to visible input ${tender_form_general_tender_description_locator} ${description} | |
226 | + ${description_en} = get from dictionary by keys ${data} description_en | |
227 | + run keyword if condition is not none ${title} input text to exist visible input ${tender_form_general_tender_description_en_locator} ${description_en} | |
228 | + ${amount} = get from dictionary by keys ${data} value amount | |
229 | + run keyword and ignore error run keyword if condition is not none ${amount} run keyword and ignore error input number to exist visible input ${tender_form_general_value_amount_input_locator} ${amount} | |
230 | + ${currency} = get from dictionary by keys ${data} value currency | |
231 | + run keyword if condition is not none ${currency} select from visible list by value ${tender_form_general_value_currency_input_locator} ${currency} | |
232 | + ${value_added_tax_included} = get from dictionary by keys ${data} value valueAddedTaxIncluded | |
233 | + run keyword if condition is not none ${value_added_tax_included} run keyword if ${value_added_tax_included} Click Element ${tender_form_general_value_added_tax_input_locator} | |
234 | + ${min_step_amount} = get from dictionary by keys ${data} minimalStep amount | |
235 | + run keyword if condition is not none ${min_step_amount} input number to exist visible input ${tender_form_general_minimalStep_amount_input_locator} ${min_step_amount} | |
236 | + ${tender_enquiry_period_start_date} = get from dictionary by keys ${data} enquiryPeriod startDate | |
237 | +# run keyword if condition is not none ${tender_enquiry_period_start_date} select from visible list by year of date ${tender_enquiry_period_start_date_input_locator} ${tender_enquiry_period_start_date} | |
238 | + run keyword if condition is not none ${tender_enquiry_period_start_date} input datetime to visible input ${tender_enquiry_period_start_date_input_locator} ${tender_enquiry_period_start_date} | |
239 | + ${tender_enquiry_period_end_date} = get from dictionary by keys ${data} enquiryPeriod endDate | |
240 | +# run keyword if condition is not none ${tender_enquiry_period_start_date} select from visible list by year of date ${tender_enquiry_period_start_date_input_locator} ${tender_enquiry_period_start_date} | |
241 | + run keyword if condition is not none ${tender_enquiry_period_end_date} input datetime to visible input ${tender_enquiry_period_end_date_input_locator} ${tender_enquiry_period_end_date} | |
242 | + ${tender_start_date} = get from dictionary by keys ${data} tenderPeriod startDate | |
243 | + run keyword if condition is not none ${tender_start_date} run keyword and ignore error input datetime to visible input ${tender_tender_period_start_date_input_locator} ${tender_start_date} | |
244 | + ${tender_end_date} = get from dictionary by keys ${data} tenderPeriod endDate | |
245 | + run keyword if condition is not none ${tender_end_date} input datetime to visible input ${tender_tender_period_end_date_input_locator} ${tender_end_date} | |
246 | + ${date_start} = Get Current Date increment=03:00:00 | |
247 | + run keyword if condition is none ${tender_end_date} input datetime to visible input ${tender_tender_period_end_date_input_locator} ${date_start} | |
248 | + run keyword and ignore error click element ${tender_tender_quick_mode_locator} | |
249 | + ${classification} = get from dictionary by keys ${data} classification | |
250 | + run keyword if condition is not none ${classification} select classification by code attributes ${plan_form_classification_edit_btn_locator} ${classification} | |
251 | + ${additional_classifications} = get from dictionary by keys ${data} additionalClassifications | |
252 | + run keyword if condition is not none ${additional_classifications} select classification by array of code attributes ${plan_form_additional_classification_edit_btn_locator} ${additional_classifications} ${None} ${kekv_schemes} | |
253 | + run keyword if condition is not none ${additional_classifications} select classification by array of code attributes ${plan_form_kekv_classification_edit_btn_locator} ${additional_classifications} ${kekv_schemes} | |
254 | + ${funding_kind} = get from dictionary by keys ${data} fundingKind | |
255 | + run keyword if condition is not none ${funding_kind} select from visible list by value ${tender_form_general_funding_kind_input_locator} ${funding_kind} | |
256 | +#closeframework | |
257 | + ${max_awards_count} = get from dictionary by keys ${data} maxAwardsCount | |
258 | + run keyword if condition is not none ${max_awards_count} input text to exist visible input ${tender_form_general_max_awards_count_input_locator} ${max_awards_count} | |
259 | + ${agreement_duration_years} = get from dictionary by keys ${data} agreementDuration | |
260 | + ${agreement_duration_years1}= Run keyword If '${agreement_duration_years}' != '${None}' split_agreementDuration ${agreement_duration_years} year | |
261 | + run keyword if condition is not none ${agreement_duration_years} select from visible list by value ${tender_form_general_agreement_duration_years_input_locator} ${agreement_duration_years1} | |
262 | + ${agreement_duration_months} = get from dictionary by keys ${data} agreementDuration | |
263 | + ${agreement_duration_months1}= Run keyword If '${agreement_duration_months}' != '${None}' split_agreementDuration ${agreement_duration_months} month | |
264 | + run keyword if condition is not none ${agreement_duration_months} select from visible list by value ${tender_form_general_agreement_duration_months_input_locator} ${agreement_duration_months1} | |
265 | + ${agreement_duration_days} = get from dictionary by keys ${data} agreementDuration | |
266 | + ${agreement_duration_days1}= Run keyword If '${agreement_duration_days}' != '${None}' split_agreementDuration ${agreement_duration_years} day | |
267 | + run keyword if condition is not none ${agreement_duration_days} select from visible list by value ${tender_form_general_agreement_duration_days_input_locator} ${agreement_duration_days1} | |
268 | +#closeFrameworkAgreementSelectionUA | |
269 | + ${max_awards_count} = get from dictionary by keys ${data} maxAwardsCount | |
270 | + run keyword if condition is not none ${max_awards_count} input text to exist visible input ${tender_form_general_max_awards_count_input_locator} ${max_awards_count} | |
271 | + ${agreement_duration_years} = get from dictionary by keys ${data} agreementDuration | |
272 | + ${agreement_duration_years1}= Run keyword If '${agreement_duration_years}' != '${None}' split_agreementDuration ${agreement_duration_years} year | |
273 | + run keyword if condition is not none ${agreement_duration_years} select from visible list by value ${tender_form_general_agreement_duration_years_input_locator} ${agreement_duration_years1} | |
274 | + ${agreement_duration_months} = get from dictionary by keys ${data} agreementDuration | |
275 | + ${agreement_duration_months1}= Run keyword If '${agreement_duration_months}' != '${None}' split_agreementDuration ${agreement_duration_months} month | |
276 | + run keyword if condition is not none ${agreement_duration_months} select from visible list by value ${tender_form_general_agreement_duration_months_input_locator} ${agreement_duration_months1} | |
277 | + ${agreement_duration_days} = get from dictionary by keys ${data} agreementDuration | |
278 | + ${agreement_duration_days1}= Run keyword If '${agreement_duration_days}' != '${None}' split_agreementDuration ${agreement_duration_years} day | |
279 | + run keyword if condition is not none ${agreement_duration_days} select from visible list by value ${tender_form_general_agreement_duration_days_input_locator} ${agreement_duration_days1} | |
280 | + submit current visible popup | |
281 | + | |
282 | +fill tender form items | |
283 | + [Arguments] ${item_attributes_array} | |
284 | + [Documentation] заповнення номенклатури тендеру | |
285 | + | |
286 | + :FOR ${item_attributes} IN @{item_attributes_array} | |
287 | + \ run keyword and ignore error open popup by btn locator ${tender_form_item_add_edit_btn_locator} | |
288 | +# \ wait until popup is visible | |
289 | + \ fill tender item form in opened popup ${item_attributes} | |
290 | + \ submit current visible popup | |
291 | + \ ${features} = get from dictionary by keys ${item_attributes} features | |
292 | + \ run keyword if condition is not none ${features} fill tender form features ${features} ${tender_form_item_panel_add_feature_btn_locator} | |
293 | + | |
294 | +fill tender form items 2 stage | |
295 | + [Arguments] ${item_attributes_array} | |
296 | + [Documentation] заповнення номенклатури тендеру | |
297 | + | |
298 | + :FOR ${item_attributes} IN @{item_attributes_array} | |
299 | + \ run keyword and ignore error open popup by btn locator ${tender_form_item_edit_btn_locator} | |
300 | +# \ wait until popup is visible | |
301 | + \ fill tender item form in opened popup ${item_attributes} | |
302 | + \ submit current visible popup | |
303 | + \ ${features} = get from dictionary by keys ${item_attributes} features | |
304 | + \ run keyword if condition is not none ${features} fill tender form features ${features} ${tender_form_item_panel_add_feature_btn_locator} | |
305 | + | |
306 | +fill tender item form in opened popup | |
307 | + [Arguments] ${data} | |
308 | + [Documentation] заповнює відкриту форму згідно вказаних даних | |
309 | + | |
310 | + fill item form in opened popup ${data} | |
311 | + | |
312 | + ${region} = get from dictionary by keys ${data} deliveryAddress region | |
313 | + run keyword if condition is not none ${region} select from visible list by label ${item_form_popup_delivery_region_id_input_locator} ${region} | |
314 | + ${postal_code} = get from dictionary by keys ${data} deliveryAddress postalCode | |
315 | + run keyword if condition is not none ${postal_code} input text to visible input ${item_form_popup_delivery_postal_code_input_locator} ${postal_code} | |
316 | + ${locality} = get from dictionary by keys ${data} deliveryAddress locality | |
317 | + run keyword if condition is not none ${locality} input text to visible input ${item_form_popup_delivery_locality_input_locator} ${locality} | |
318 | + ${street_address} = get from dictionary by keys ${data} deliveryAddress streetAddress | |
319 | + run keyword if condition is not none ${street_address} input text to visible input ${item_form_popup_delivery_street_address_input_locator} ${street_address} | |
320 | + ${delivery_start_date} = get from dictionary by keys ${data} deliveryDate startDate | |
321 | + ${delivery_start_date} = Run keyword If '${delivery_start_date}' != '${None}' parse_deliveryPeriod_date ${delivery_start_date} | |
322 | + run keyword if condition is not none ${delivery_start_date} run keyword and ignore error input datetime to exist visible input ${item_form_popup_delivery_start_date_input_locator} ${delivery_start_date} | |
323 | + ${delivery_end_date} = get from dictionary by keys ${data} deliveryDate endDate | |
324 | + ${delivery_end_date} = Run keyword If '${delivery_end_date}' != '${None}' parse_deliveryPeriod_date ${delivery_end_date} | |
325 | + run keyword if condition is not none ${delivery_end_date} run keyword and ignore error input text ${item_form_popup_delivery_end_date_input_locator} ${delivery_end_date} | |
326 | +## run keyword if condition is not none ${delivery_end_date} run keyword and ignore error input datetime to exist visible input ${item_form_popup_delivery_end_date_input_locator} ${delivery_end_date} | |
327 | + | |
328 | +fill tender form milestones | |
329 | + [Arguments] ${milestone_attributes_array} | |
330 | + [Documentation] заповнення умов оплати тендеру | |
331 | + | |
332 | + open popup by btn locator ${tender_form_milestones_panel_edit_btn_locator} | |
333 | +# click visible element ${tender_form_milestones_panel_edit_btn_locator} | |
334 | +# wait until popup is visible | |
335 | + :FOR ${milestone_attributes} IN @{milestone_attributes_array} | |
336 | + \ click visible element ${milestone_form_popup_add_btn_locator} | |
337 | + \ wait until page does not contain element ${popup_dynamic_form_loading_element_locator} | |
338 | + \ fill milestone form in opened popup ${milestone_attributes} | |
339 | + submit current visible popup | |
340 | + | |
341 | +fill tender form milestones fake | |
342 | + [Documentation] заповнення умов оплати тендеру | |
343 | + | |
344 | + open popup by btn locator ${tender_form_milestones_panel_edit_btn_locator} | |
345 | + click visible element ${milestone_form_popup_add_btn_locator} | |
346 | + wait until page does not contain element ${popup_dynamic_form_loading_element_locator} | |
347 | + select from visible list by value ${milestone_form_popup_title_input_locator} submissionDateOfApplications | |
348 | + input text to exist visible input ${milestone_form_popup_description_input_locator} submissionDateOfApplications | |
349 | + input text to exist visible input ${milestone_form_popup_percentage_input_locator} 100 | |
350 | + select from visible list by value ${milestone_form_popup_code_input_locator} postpayment | |
351 | + input text to exist visible input ${milestone_form_popup_duration_days_input_locator} 145 | |
352 | + select from visible list by value ${milestone_form_popup_duration_type_input_locator} working | |
353 | + submit current visible popup | |
354 | + | |
355 | +fill milestone form in opened popup | |
356 | + [Arguments] ${data} | |
357 | + [Documentation] заповнює відкриту форму в активній вкладці згідно вказаних даних | |
358 | + | |
359 | + ${title} = get from dictionary by keys ${data} title | |
360 | + run keyword if condition is not none ${title} select from visible list by value ${milestone_form_popup_title_input_locator} ${title} | |
361 | + ${description} = get from dictionary by keys ${data} description | |
362 | + run keyword if condition is not none ${description} input text to exist visible input ${milestone_form_popup_description_input_locator} ${description} | |
363 | + ${percentage} = get from dictionary by keys ${data} percentage | |
364 | + run keyword if condition is not none ${percentage} input text to exist visible input ${milestone_form_popup_percentage_input_locator} ${percentage} | |
365 | + ${code} = get from dictionary by keys ${data} code | |
366 | + run keyword if condition is not none ${code} select from visible list by value ${milestone_form_popup_code_input_locator} ${code} | |
367 | + ${duration_days} = get from dictionary by keys ${data} duration days | |
368 | + run keyword if condition is not none ${duration_days} input text to exist visible input ${milestone_form_popup_duration_days_input_locator} ${duration_days} | |
369 | + ${duration_type} = get from dictionary by keys ${data} duration type | |
370 | + run keyword if condition is not none ${duration_type} select from visible list by value ${milestone_form_popup_duration_type_input_locator} ${duration_type} | |
371 | + | |
372 | +fill tender form features | |
373 | + [Arguments] ${feature_attributes_array} ${add_btn_locator} | |
374 | + [Documentation] заповнення нецінові крітерії тендеру | |
375 | + | |
376 | + open popup by btn locator ${add_btn_locator} | |
377 | +# click visible element ${add_btn_locator} | |
378 | +# wait until popup is visible | |
379 | + :FOR ${feature_attributes} IN @{feature_attributes_array} | |
380 | +# \ click visible element ${tender_form_features_panel_edit_btn_locator} | |
381 | + \ execute javascript ${tender_form_features_panel_edit_btn_locator} | |
382 | + \ wait until page does not contain element ${popup_dynamic_form_loading_element_locator} | |
383 | + \ fill feature form in opened popup ${feature_attributes} | |
384 | + submit current visible popup | |
385 | + | |
386 | +fill tender form features2 | |
387 | + [Arguments] ${feature_attributes_array} ${add_btn_locator} | |
388 | + [Documentation] заповнення нецінові крітерії тендеру | |
389 | + | |
390 | + open popup by btn locator ${add_btn_locator} | |
391 | +# click visible element ${add_btn_locator} | |
392 | +# wait until popup is visible | |
393 | + click visible element ${tender_form_features_panel_edit_btn_locator} | |
394 | + wait until page does not contain element ${popup_dynamic_form_loading_element_locator} | |
395 | + fill feature form in opened popup ${feature_attributes_array} | |
396 | + submit current visible popup | |
397 | + | |
398 | +fill feature form in opened popup | |
399 | + [Arguments] ${data} | |
400 | + [Documentation] заповнює відкриту форму в активній вкладці згідно вказаних даних | |
401 | + | |
402 | + ${title} = get from dictionary by keys ${data} title | |
403 | + run keyword if condition is not none ${title} input text to exist visible input ${feature_form_popup_title_input_locator} ${title} | |
404 | + ${description} = get from dictionary by keys ${data} description | |
405 | + run keyword if condition is not none ${description} input text to exist visible input ${feature_form_popup_description_input_locator} ${description} | |
406 | + ${title_en} = get from dictionary by keys ${data} title_en | |
407 | + run keyword if condition is not none ${title_en} input text to exist visible input ${feature_form_popup_title_en_input_locator} ${title_en} | |
408 | + ${description_en} = get from dictionary by keys ${data} description | |
409 | + run keyword if condition is not none ${description_en} input text to exist visible input ${feature_form_popup_description_en_input_locator} ${description_en} | |
410 | + ${options} = Get From Dictionary ${data} enum | |
411 | + ${count} = Get Length ${options} | |
412 | + ${ex}= Evaluate ${count} - 1 | |
413 | + : FOR ${INDEX} IN RANGE 0 ${count} | |
414 | + \ run keyword if condition is not none ${options[${INDEX}].title} input text to exist visible input ${feature_form_popup_enum_title_input_locator} ${options[${INDEX}].title} | |
415 | + \ run keyword and ignore error input text to exist visible input ${feature_form_popup_enum_title_en_input_locator} test2 | |
416 | +# \ run keyword if condition is not none ${options[${INDEX}].title_en} input text to exist visible input ${feature_form_popup_enum_title_en_input_locator} ${options[${INDEX}].title_en} | |
417 | + \ ${value} = convert_float_to_string ${options[${INDEX}].value} | |
418 | + \ ${value} = Convert To Number ${value} | |
419 | + \ ${value} = multiply_hundred ${value} | |
420 | + \ ${value} = convert_float_to_string ${value} | |
421 | + \ run keyword if condition is not none ${options[${INDEX}].value} input text to exist visible input ${feature_form_popup_enum_value_input_locator} ${value} | |
422 | + \ Continue For Loop If '${INDEX}' == '${ex}' | |
423 | + \ Run Keyword If ${count} != 1 click visible element ${feature_form_popup_add-enums_btn_locator} | |
424 | + \ wait until page does not contain element ${popup_dynamic_form_loading_element_locator} | |
425 | + | |
426 | +fill tender form lots | |
427 | + [Arguments] ${lot_attributes_array} | |
428 | + [Documentation] заповнення номенклатури тендеру | |
429 | + | |
430 | + ##### BOF - TMP for negotiation milestone 1 lot##### | |
431 | + ${prepared_tender_data} = Get From Dictionary ${td_railway_crutch} data | |
432 | + ${milestones1} = Run Keyword If "${mode}" in "negotiation" Get From Dictionary ${prepared_tender_data} milestones | |
433 | + ##### EOF - TMP ##### | |
434 | + :FOR ${lot_attributes} IN @{lot_attributes_array} | |
435 | + \ run keyword if '${mode}' not in 'open_framework' open popup by btn locator ${tender_form_lots_panel_edit_btn_locator} | |
436 | + \ ... ELSE click visible element ${tender_form_lots_edit_lot1_btn_locator} | |
437 | +# \ open popup by btn locator ${tender_form_lots_panel_edit_btn_locator} | |
438 | +# \ click visible element ${tender_form_lots_panel_edit_btn_locator} | |
439 | +# \ wait until popup is visible | |
440 | + \ fill lot form in opened popup ${lot_attributes} | |
441 | + \ submit current visible popup | |
442 | + \ ${features} = get from dictionary by keys ${lot_attributes} features | |
443 | + \ run keyword if condition is not none ${features} fill tender form features ${features} ${tender_form_lot_panel_add_feature_btn_locator} | |
444 | + \ ${milestones} = get from dictionary by keys ${lot_attributes} milestones | |
445 | + \ run keyword if condition is not none ${milestones} fill tender form milestones ${milestones} | |
446 | + \ run keyword if condition is none ${milestones} run keyword if "${mode}" in "negotiation" fill tender form milestones ${milestones1} | |
447 | + \ ${items} = get from dictionary by keys ${lot_attributes} items | |
448 | + \ run keyword if condition is not none ${items} fill tender form items ${items} | |
449 | + | |
450 | +fill tender form lots 2 stage | |
451 | + [Arguments] ${lot_attributes_array} | |
452 | + [Documentation] заповнення номенклатури тендеру | |
453 | + | |
454 | + ##### BOF - TMP for negotiation milestone 1 lot##### | |
455 | + ${prepared_tender_data} = Get From Dictionary ${td_railway_crutch} data | |
456 | + ${milestones1} = Run Keyword If "${mode}" in "negotiation" Get From Dictionary ${prepared_tender_data} milestones | |
457 | + ##### EOF - TMP ##### | |
458 | + :FOR ${lot_attributes} IN @{lot_attributes_array} | |
459 | + \ open popup by btn locator ${tender_form_lots_edit_lot1_btn_locator} | |
460 | + ##\ open popup by btn locator ${tender_form_lots_panel_edit_btn_locator} | |
461 | + \ fill lot form in opened popup ${lot_attributes} | |
462 | + \ submit current visible popup | |
463 | + \ ${features} = get from dictionary by keys ${lot_attributes} features | |
464 | + \ run keyword if condition is not none ${features} fill tender form features ${features} ${tender_form_lot_panel_add_feature_btn_locator} | |
465 | + \ ${milestones} = get from dictionary by keys ${lot_attributes} milestones | |
466 | + \ run keyword if condition is not none ${milestones} fill tender form milestones ${milestones} | |
467 | + \ run keyword if condition is none ${milestones} run keyword if "${mode}" in "negotiation" fill tender form milestones ${milestones1} | |
468 | + \ run keyword if condition is none ${milestones} run keyword if "${mode}" in "framework_selection" fill tender form milestones fake | |
469 | + \ ${items} = get from dictionary by keys ${lot_attributes} items | |
470 | + \ run keyword if condition is not none ${items} fill tender form items 2 stage ${items} | |
471 | + | |
472 | +fill lot form in opened popup | |
473 | + [Arguments] ${data} | |
474 | + [Documentation] заповнює відкриту форму згідно вказаних даних | |
475 | + | |
476 | + log many ${data} | |
477 | + ${title} = get from dictionary by keys ${data} title | |
478 | + run keyword if condition is not none ${title} input text to visible input ${lot_form_popup_title_input_locator} ${title} | |
479 | + ${title_en} = get from dictionary by keys ${data} title_en | |
480 | + run keyword if condition is not none ${title_en} input text to exist visible input ${lot_form_popup_title_en_input_locator} ${title_en} | |
481 | + ${description} = get from dictionary by keys ${data} description | |
482 | + run keyword if condition is not none ${description} input text to visible input ${lot_form_popup_description_input_locator} ${description} | |
483 | + ${description_en} = get from dictionary by keys ${data} description_en | |
484 | + run keyword if condition is not none ${description_en} input text to exist visible input ${lot_form_popup_description_en_input_locator} ${description_en} | |
485 | + capture page screenshot | |
486 | + ${description_ru} = get from dictionary by keys ${data} description_ru | |
487 | + run keyword if condition is not none ${description_ru} input text to exist visible input ${item_form_popup_description_ru_input_locator} ${description_ru} | |
488 | + ${amount} = get from dictionary by keys ${data} value amount | |
489 | + run keyword if condition is not none ${amount} input number to exist visible input ${lot_form_popup_value_amount_input_locator} ${amount} | |
490 | + ${min_step_amount} = get from dictionary by keys ${data} minimalStep amount | |
491 | + run keyword if condition is not none ${min_step_amount} input number to exist visible input ${lot_form_popup_minimalstep_amount_input_locator} ${min_step_amount} | |
492 | + | |
493 | + ${yearly_payments_percentage_range} = get from dictionary by keys ${data} yearlyPaymentsPercentageRange | |
494 | + ${yearly_payments_percentage_range} = Run keyword If '${yearly_payments_percentage_range}' != '${None}' set_value_minimalStepPercentage ${yearly_payments_percentage_range} | |
495 | + ${yearly_payments_percentage_range} = Run keyword If '${yearly_payments_percentage_range}' != '${None}' convert_esco__float_to_string ${yearly_payments_percentage_range} | |
496 | + run keyword if condition is not none ${yearly_payments_percentage_range} input number to exist visible input ${tender_form_general_yearly_payments_percentage_range_input_locator} ${yearly_payments_percentage_range} | |
497 | + ${minimal_step_percentage} = get from dictionary by keys ${data} minimalStepPercentage | |
498 | + ${minimal_step_percentage} = Run keyword If '${minimal_step_percentage}' != '${None}' set_value_minimalStepPercentage ${minimal_step_percentage} | |
499 | + ${minimal_step_percentage} = Run keyword If '${minimal_step_percentage}' != '${None}' convert_esco__float_to_string ${minimal_step_percentage} | |
500 | + run keyword if condition is not none ${minimal_step_percentage} input number to exist visible input ${tender_form_general_minimal_step_percentage_input_locator} ${minimal_step_percentage} | |
501 | +# ${currency} = get from dictionary by keys ${data} value currency | |
502 | +# run keyword if condition is not none ${currency} select from visible list by value ${tender_form_lots_value_currency_input_locator} ${currency} | |
503 | +# ${valueAddedTaxIncluded} = get from dictionary by keys ${data} value valueAddedTaxIncluded | |
504 | +# run keyword if condition is not none ${valueAddedTaxIncluded} run keyword if ${valueAddedTaxIncluded} Click Element ${tender_form_lots_value_added_tax_input_locator} | |
505 | + | |
506 | +fill tender form funders | |
507 | + [Arguments] ${funder_attributes_array} | |
508 | + [Documentation] заповнення донорів тендеру | |
509 | + | |
510 | + :FOR ${funder_attributes} IN @{funder_attributes_array} | |
511 | + \ ${name} = get from dictionary by keys ${funder_attributes} name | |
512 | + \ run keyword if condition is not none ${name} select from visible list by label ${tender_form_general_tender_funder_name_locator} ${name} | |
513 | + | |
514 | +fill tender required documents | |
515 | + [Documentation] додає документ до усієї закупівлі для успішної валідації форми | |
516 | + | |
517 | + ${file_path} ${file_name} ${file_content} = create_fake_doc | |
518 | + click visible element ${tender_form_general_panel_add_document_btn_locator} | |
519 | + choose file ${add_file_to_form_locator} ${file_path} | |
520 | + wait until page does not contain element ${popup_dynamic_form_loading_element_locator} | |
521 | + submit current visible popup | |
522 | + | |
523 | +fill tender from award reporting | |
524 | + [Arguments] ${budget} ${award_attributes_array} | |
525 | + [Documentation] заповнення переможця reporting тендеру | |
526 | + | |
527 | + capture page screenshot | |
528 | + run keyword and ignore error click visible element ${tender_form_general_panel_update_award_negotiation_btn_locator} | |
529 | + capture page screenshot | |
530 | +# Run Keyword If "${TEST_NAME}" == "Можливість створити переговорну процедуру" open popup by btn locator ${tender_form_general_panel_add_award_negotiation_btn_locator} | |
531 | + run keyword and ignore error Run Keyword If "${TEST_NAME}" == "Можливість створити переговорну процедуру" open popup by btn locator ${tender_form_general_panel_add_award_negotiation_btn_locator} | |
532 | + ... ELSE IF "${TEST_NAME}" == "Можливість створити звіт про укладений договір" open popup by btn locator ${tender_form_general_panel_update_award_reporting_btn_locator} | |
533 | + capture page screenshot | |
534 | + Run Keyword If "${TEST_NAME}" == "Можливість зареєструвати і підтвердити постачальника до звіту про укладений договір" open popup by btn locator ${tender_form_general_panel_update_award_reporting_btn_locator} | |
535 | + capture page screenshot | |
536 | +# Run Keyword If "${TEST_NAME}" == "Можливість зареєструвати і підтвердити постачальника до переговорної процедури" open popup by btn locator ${tender_form_general_panel_update_award_negotiation_btn_locator} | |
537 | + capture page screenshot | |
538 | + fill award reporting form in opened popup ${budget} ${award_attributes_array} | |
539 | + submit current visible popup | |
540 | + | |
541 | +fill award reporting form in opened popup | |
542 | + [Arguments] ${budget} ${data} | |
543 | + [Documentation] заповнює відкриту форму в активній вкладці згідно вказаних даних | |
544 | + | |
545 | + ${org_name} = get from dictionary by keys ${data} identifier legalName | |
546 | + run keyword if condition is not none ${org_name} input text to exist visible input ${tender_form_award_organization_name_locator} ${org_name} | |
547 | + ${organization_identifier_code} = get from dictionary by keys ${data} identifier id | |
548 | + run keyword if condition is not none ${organization_identifier_code} input text to exist visible input ${tender_form_award_organization_identifier_code_locator} ${organization_identifier_code} | |
549 | + ${award_organization_scale} = get from dictionary by keys ${data} scale | |
550 | + run keyword if condition is not none ${award_organization_scale} select from visible list by value ${tender_form_award_organization_scale_locator} ${award_organization_scale} | |
551 | + ${region} = get from dictionary by keys ${data} address region | |
552 | + run keyword if condition is not none ${region} select from visible list by label ${tender_form_award_organization_region_id_locator} ${region} | |
553 | + ${postal_code} = get from dictionary by keys ${data} address postalCode | |
554 | + run keyword if condition is not none ${postal_code} input text to exist visible input ${tender_form_award_organization_postal_code_locator} ${postal_code} | |
555 | + ${locality} = get from dictionary by keys ${data} address locality | |
556 | + run keyword if condition is not none ${locality} input text to exist visible input ${tender_form_award_organization_locality_locator} ${locality} | |
557 | + ${street_address} = get from dictionary by keys ${data} address streetAddress | |
558 | + run keyword if condition is not none ${street_address} input text to exist visible input ${tender_form_award_organization_street_address_locator} ${street_address} | |
559 | + ${contact_point_name} = get from dictionary by keys ${data} contactPoint name | |
560 | + run keyword if condition is not none ${contact_point_name} input text to exist visible input ${tender_form_award_organization_contact_point_name_locator} ${contact_point_name} | |
561 | + ${contact_point_email} = get from dictionary by keys ${data} contactPoint email | |
562 | + run keyword if condition is not none ${contact_point_email} input text to exist visible input ${tender_form_award_organization_contact_point_email_locator} ${contact_point_email} | |
563 | + ${contact_point_phone} = get from dictionary by keys ${data} contactPoint telephone | |
564 | + run keyword if condition is not none ${contact_point_phone} input text to exist visible input ${tender_form_award_organization_contact_point_phone_locator} ${contact_point_phone} | |
565 | +# ${duration_days} = get from dictionary by keys ${data} contactPoint days | |
566 | +# run keyword if condition is not none ${duration_days} input text to exist visible input ${milestone_form_popup_duration_days_input_locator} ${duration_days} | |
567 | + input number to exist visible input ${tender_form_award_budget_locator} ${budget} | |
568 | + | |
569 | +open tender search form | |
570 | + [Documentation] відкриває сторінку з пошуком тендерів | |
571 | + | |
572 | + open page and wait element by locator ${broker_baseurl}/tenders ${tender_search_form_locator} | |
573 | + | |
574 | +save tender form and wait synchronization | |
575 | + [Documentation] натискає кнопку "Зберегти" і чекає синхронізації тендеру | |
576 | + | |
577 | + submit form and check result ${tender_form_submit_btn_locator} ${tender_form_submit_success_msg} ${tender_created_checker_element_locator} ${true} | |
578 | + wait until page does not contain element with reloading ${tender_sync_element_locator} | |
579 | + | |
580 | +add document in tender | |
581 | + [Arguments] ${filepath} | |
582 | + [Documentation] Завантажити документ, який знаходиться по шляху filepath. | |
583 | + | |
584 | + click visible element ${tender_form_general_panel_edit_add_document_btn_locator} | |
585 | + choose file ${add_file_to_form_locator} ${filepath} | |
586 | + wait until page does not contain element ${popup_dynamic_form_loading_element_locator} | |
587 | + submit current visible popup | |
588 | + | |
589 | +add document in lot | |
590 | + [Arguments] ${filepath} ${lot_id} | |
591 | + [Documentation] Завантажити в лот (з ідентіфікатором ${lot_id}) документ, який знаходиться по шляху filepath. | |
592 | + | |
593 | + ${open_form_add_doc_lot_btn_locator} = replace string ${tender_form_lot_panel_add_document_btn_locator_tpl} %lot_id% ${lot_id} | |
594 | + 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 | |
595 | + choose file ${add_file_to_form_locator} ${filepath} | |
596 | + wait until page does not contain element ${popup_dynamic_form_loading_element_locator} | |
597 | + submit current visible popup | |
598 | + | |
599 | +confirm-stage2 | |
600 | + [Documentation] Перевести тендер tender_uaid в статус active.stage2.waiting. | |
601 | + | |
602 | + Wait Until Keyword Succeeds 300 s 20 s Wait For stage2button | |
603 | + click visible element ${tender_stage2_open_btn_locator} | |
604 | + Wait Until Page Contains ${tender_stage2_submit_success_msg} 60 | |
605 | +# click visible element ${tender_stage2_submit_success_btn_locator} | |
606 | +# submit form and check result ${tender_stage2_submit_success_btn_locator} ${tender_stage2_submit_alert_success_msg} ${tender_created_checker_element_locator} | |
607 | + execute javascript ${tender_stage2_submit_js_success_btn_locator} | |
608 | + Wait Until Page Contains ${tender_stage2_submit_alert_success_msg} 60 | |
609 | + wait until alert is visible ${tender_stage2_submit_alert_success_msg} | |
610 | + run keyword and ignore error close current visible alert | |
611 | + | |
612 | + | |
613 | +activate stage 2 | |
614 | + [Documentation] Перевести тендер tender_uaid в статус active.tendering. | |
615 | + | |
616 | + open popup by btn locator ${tender_form_general_panel_edit_btn_locator} | |
617 | + ${tender_end_date} = Get Current Date increment=00:35:00 | |
618 | + input datetime to visible input ${tender_tender_period_end_date_input_locator} ${tender_end_date} | |
619 | + capture page screenshot | |
620 | + click visible element ${tender_form_general_panel_draft_mode_input_locator} | |
621 | + capture page screenshot | |
622 | + submit current visible popup | |
623 | + capture page screenshot | |
624 | + ${file_path} ${file_name} ${file_content} = create_fake_doc | |
625 | + click visible element ${tender_form_general_panel_document_stage2_input_locator} | |
626 | + choose file ${add_file_to_form_locator} ${file_path} | |
627 | + wait until element is visible ${stage2_form_add_document_type_input_locator} | |
628 | + click visible element ${stage2_form_add_document_description_btn_locator} | |
629 | + capture page screenshot | |
630 | + wait until element is visible ${stage2_form_add_document_description_input_locator} | |
631 | + input text to exist visible input ${stage2_form_add_document_description_input_locator} test2 | |
632 | + click visible element ${stage2_form_add_document_close_description_btn_locator} | |
633 | + capture page screenshot | |
634 | + submit current visible popup | |
635 | + capture page screenshot | |
636 | + | |
637 | +fix awards data in global Users variable | |
638 | + [Arguments] ${username} | |
639 | + [Documentation] Фікс для помилки "Resolving variable '${award.value.amount}' failed: AttributeError: value" | |
640 | + | |
641 | + :FOR ${user} IN @{USERS} | |
642 | + \ continue for loop if '${user}' == '${username}' | |
643 | + \ ${is_user_has_data} = run keyword and return status dictionary should contain key ${USERS.users} ${user} | |
644 | + \ continue for loop if ${is_user_has_data} == ${False} | |
645 | + \ ${user_data} = set variable ${USERS.users['${user}']} | |
646 | + \ ${is_user_has_tender_data} = run keyword and return status dictionary should contain key ${user_data} tender_data | |
647 | + \ continue for loop if ${is_user_has_tender_data} == ${False} | |
648 | + \ ${status} ${award_data} = run keyword and ignore error get_from_object ${USERS.users['${user}'].tender_data.data} awards | |
649 | + \ continue for loop if '${status}' != 'PASS' | |
650 | + \ set to object ${USERS.users['${username}'].tender_data.data} awards ${award_data} | |
651 | + \ exit for loop | |
652 | + | |
653 | +fill tender contact person | |
654 | + [Arguments] ${data} | |
655 | + [Documentation] заповнює відкриту форму згідно вказаних даних | |
656 | + run keyword and ignore error open popup by btn locator ${tender_form_cp_edit_btn_locator} | |
657 | + ${organization_name_en} = get from dictionary by keys ${data} procuringEntity name_en | |
658 | + run keyword if condition is not none ${organization_name_en} input text to visible input ${tender_form_organization_name_en_input_locator} ${organization_name_en} | |
659 | + ${contact_point_name_en} = get from dictionary by keys ${data} procuringEntity contactPoint name_en | |
660 | + run keyword if condition is not none ${contact_point_name_en} input text to visible input ${tender_form_contact_point_name_en_input_locator} ${contact_point_name_en} | |
661 | + submit current visible popup | ... | ... |
Please
register
or
login
to post a comment