Showing
1 changed file
with
183 additions
and
0 deletions
publicbid_plan.robot
0 → 100644
1 | +*** Settings *** | ||
2 | + | ||
3 | +Resource playtender_common.robot | ||
4 | +Resource playtender_plan_variables.robot | ||
5 | + | ||
6 | +*** Keywords *** | ||
7 | + | ||
8 | +update plan queue | ||
9 | + [Documentation] запускає оновлення планів з ЦБД і додає їх в чергу, тобто синхронізація може відбутися не відразу | ||
10 | + ... поточна сторіка повертається | ||
11 | + | ||
12 | + ${current_url} = get location | ||
13 | + go to ${broker_baseurl}/utils/queue-plan-update | ||
14 | + go to ${current_url} | ||
15 | + | ||
16 | +open new plan form | ||
17 | + [Documentation] відкриття сторінки створення плану | ||
18 | + | ||
19 | + open page and wait element by locator ${broker_baseurl}/plan/create ${plan_form_locator} | ||
20 | + | ||
21 | +open plan form by uaid | ||
22 | + [Arguments] ${plan_uaid} | ||
23 | + [Documentation] відкриття сторінки редагування плану | ||
24 | + | ||
25 | + open plan page by uaid ${plan_uaid} | ||
26 | + click visible element and wait until page contains element ${plan_edit_btn_locator} ${plan_form_locator} | ||
27 | + | ||
28 | +open plan page by uaid | ||
29 | + [Arguments] ${uaid} ${refresh}=${True} | ||
30 | + [Documentation] відкриває сторінку з планом | ||
31 | + | ||
32 | + ${current_location} = get location | ||
33 | + ${needed_location} = set variable ${broker_baseurl}/plan/${uaid} | ||
34 | + run keyword if '${current_location}' != '${needed_location}' or ${refresh} == ${True} open site page and wait content element ${needed_location} | ||
35 | + log many 1 | ||
36 | + ${is_plan_found} = get is element exist ${plan_view_checker_element_locator} | ||
37 | + log many 2 | ||
38 | + return from keyword if ${is_plan_found} == ${True} | ||
39 | + log many 3 | ||
40 | + ${is_plan_not_found} = get is 404 page | ||
41 | + ${is_needed_to_update_and_wait_sync} = set variable if ${is_test_role_owner} == ${False} and ${is_plan_not_found} ${True} ${False} | ||
42 | + run keyword if ${is_needed_to_update_and_wait_sync} update plan queue | ||
43 | + run keyword if ${is_needed_to_update_and_wait_sync} wait until 404 page disappears | ||
44 | + ${is_plan_found} = get is element exist ${plan_view_checker_element_locator} | ||
45 | + run keyword if ${is_plan_found} == ${False} fail Opening plan page by uaid fails. | ||
46 | + | ||
47 | +open plan search form | ||
48 | + [Documentation] відкриває сторінку з пошуком планів | ||
49 | + | ||
50 | + open page and wait element by locator ${broker_baseurl}/plans ${plan_search_form_locator} | ||
51 | + | ||
52 | +fill plan form | ||
53 | + [Arguments] ${data} | ||
54 | + [Documentation] заповнення відкритої форми з масива даних | ||
55 | + | ||
56 | + fill plan general info ${data} | ||
57 | + ${items} = get from dictionary by keys ${data} items | ||
58 | + run keyword if condition is not none ${items} fill plan form items ${items} | ||
59 | + ${buyers} = get from dictionary by keys ${data} buyers | ||
60 | + run keyword if condition is not none ${buyers} fill plan form buyers ${buyers} | ||
61 | +#Пока не передает Дятлов | ||
62 | + ${budget_breakdowns} = get from dictionary by keys ${data} budget breakdown | ||
63 | + run keyword if condition is not none ${budget_breakdowns} fill plan form budgetbreakdowns ${budget_breakdowns} | ||
64 | +# fill plan form budgetbreakdowns | ||
65 | + | ||
66 | +fill plan general info | ||
67 | + [Arguments] ${data} | ||
68 | + [Documentation] заповнює приховані поля + відкриває попап основних даних, заповнює його і закриває | ||
69 | + | ||
70 | + # hidden inputs | ||
71 | + ${budget_id} = get from dictionary by keys ${data} budget id | ||
72 | + run keyword if condition is not none ${budget_id} input text to hidden input ${plan_form_budget_id_input_locator} ${budget_id} | ||
73 | + ${project_id} = get from dictionary by keys ${data} budget project id | ||
74 | + run keyword if condition is not none ${project_id} input text to hidden input ${plan_form_project_id_input_locator} ${project_id} | ||
75 | + ${project_name} = get from dictionary by keys ${data} budget project name | ||
76 | + run keyword if condition is not none ${project_name} input text to hidden input ${plan_form_project_name_input_locator} ${project_name} | ||
77 | + | ||
78 | + # general info | ||
79 | + open popup by btn locator ${plan_form_general_panel_edit_btn_locator} | ||
80 | + ${procurement_method_type} = get from dictionary by keys ${data} tender procurementMethodType | ||
81 | + run keyword if condition is not none ${procurement_method_type} select from visible list by value ${plan_form_procurement_method_type_input_locator} ${procurement_method_type} | ||
82 | + ${budget_description} = get from dictionary by keys ${data} budget description | ||
83 | + run keyword if condition is not none ${budget_description} input text to visible input ${plan_form_title_input_locator} ${budget_description} | ||
84 | + ${tender_start_date} = get from dictionary by keys ${data} tender tenderPeriod startDate | ||
85 | + run keyword if condition is not none ${tender_start_date} select from visible list by year of date ${plan_form_year_input_locator} ${tender_start_date} | ||
86 | + run keyword if condition is not none ${tender_start_date} input month.year of date to visible input ${plan_form_tender_start_date_input_locator} ${tender_start_date} | ||
87 | + ${amount} = get from dictionary by keys ${data} budget amount | ||
88 | + run keyword and ignore error run keyword if condition is not none ${amount} input number to visible input ${plan_form_value_amount_input_locator} ${amount} | ||
89 | + ${currency} = get from dictionary by keys ${data} budget currency | ||
90 | + run keyword if condition is not none ${currency} select from visible list by value ${plan_form_value_currency_input_locator} ${currency} | ||
91 | + ${classification} = get from dictionary by keys ${data} classification | ||
92 | + run keyword if condition is not none ${classification} select classification by code attributes ${plan_form_classification_edit_btn_locator} ${classification} | ||
93 | + ${additional_classifications} = get from dictionary by keys ${data} additionalClassifications | ||
94 | + 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} | ||
95 | + 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} | ||
96 | + Execute Javascript $('[id$="planform-test_mode"]').click() | ||
97 | + submit current visible popup | ||
98 | + | ||
99 | +fill plan form items | ||
100 | + [Arguments] ${item_attributes_array} | ||
101 | + [Documentation] заповнення номенклатури плану | ||
102 | + | ||
103 | + :FOR ${item_attributes} IN @{item_attributes_array} | ||
104 | + \ ${item_update_index} = get from dictionary by keys ${item_attributes} list_index | ||
105 | + \ ${item_update_index_string} = convert to string ${item_update_index} | ||
106 | + \ ${open_form_btn_locator} = replace string ${plan_form_update_item_btn_locator_tpl} %index% ${item_update_index_string} | ||
107 | + \ run keyword if condition is not none ${item_update_index} click visible element ${open_form_btn_locator} | ||
108 | + \ run keyword if condition is none ${item_update_index} click visible element ${plan_form_add_item_btn_locator} | ||
109 | + \ wait until popup is visible | ||
110 | + \ fill plan item form in opened popup ${item_attributes} | ||
111 | + \ run keyword and ignore error submit current visible popup | ||
112 | + | ||
113 | +fill plan item form in opened popup | ||
114 | + [Arguments] ${data} | ||
115 | + | ||
116 | + fill item form in opened popup ${data} | ||
117 | + | ||
118 | + ${delivery_end_date} = get from dictionary by keys ${data} deliveryDate endDate | ||
119 | + run keyword if condition is not none ${delivery_end_date} run keyword and ignore error input date to input ${item_form_popup_delivery_end_date_input_locator} ${delivery_end_date} | ||
120 | + | ||
121 | +fill plan form buyers | ||
122 | + [Arguments] ${buyer_attributes_array} | ||
123 | + [Documentation] заповнення замовника плану | ||
124 | + | ||
125 | + :FOR ${buyer_attributes} IN @{buyer_attributes_array} | ||
126 | + \ click visible element ${plan_form_update_buyer_btn_locator} | ||
127 | + \ wait until popup is visible | ||
128 | + \ fill buyer form in opened popup ${buyer_attributes} | ||
129 | + \ submit current visible popup | ||
130 | + | ||
131 | +fill buyer form in opened popup | ||
132 | + [Arguments] ${data} | ||
133 | + [Documentation] заповнює відкриту форму згідно вказаних даних про замовника | ||
134 | + | ||
135 | + ${legal_name} = get from dictionary by keys ${data} identifier legalName | ||
136 | + run keyword if condition is not none ${legal_name} input text to visible input ${buyer_form_popup_legal_name_input_locator} ${legal_name} | ||
137 | + ${identifier_id} = get from dictionary by keys ${data} identifier id | ||
138 | + run keyword if condition is not none ${identifier_id} input text to visible input ${buyer_form_popup_identifier_id_input_locator} ${identifier_id} | ||
139 | + | ||
140 | +fill plan form budgetbreakdowns | ||
141 | + [Arguments] ${budgetbreakdowns_attributes_array} | ||
142 | + [Documentation] заповнення Джерел фінансування плану | ||
143 | + | ||
144 | + click visible element ${plan_form_update_budgetbreakdowns_btn_locator} | ||
145 | + wait until popup is visible | ||
146 | + :FOR ${budgetbreakdowns_attributes} IN @{budgetbreakdowns_attributes_array} | ||
147 | + \ click visible element ${plan_form_add_budgetbreakdowns_btn_locator} | ||
148 | + \ wait until page does not contain element ${popup_dynamic_form_loading_element_locator} | ||
149 | + \ fill budgetbreakdowns form in opened popup ${budgetbreakdowns_attributes} | ||
150 | +### \ submit current visible popup | ||
151 | +## click visible element ${plan_form_add_budgetbreakdowns_btn_locator} | ||
152 | +## wait until page does not contain element ${popup_dynamic_form_loading_element_locator} | ||
153 | +## fill budgetbreakdowns form in opened popup | ||
154 | +# fill budgetbreakdowns form in opened popup ${budgetbreakdowns_attributes} | ||
155 | + submit current visible popup | ||
156 | + | ||
157 | +fill budgetbreakdowns form in opened popup | ||
158 | + [Arguments] ${data} | ||
159 | + [Documentation] заповнює відкриту форму згідно вказаних даних про Джерела фінансування | ||
160 | + | ||
161 | + ${title} = get from dictionary by keys ${data} title | ||
162 | + run keyword if condition is not none ${title} select from visible list by label ${plan_budgetbreakdowns_form_popup_title_input_locator} ${title} | ||
163 | + ${value_amount} = get from dictionary by keys ${data} value amount | ||
164 | + run keyword if condition is not none ${value_amount} input number to visible input ${plan_budgetbreakdowns_value_amount_input_locator} ${value_amount} | ||
165 | +## input number to visible input ${plan_budgetbreakdowns_value_amount_input_locator} 56333.77 | ||
166 | + ${description} = get from dictionary by keys ${data} description | ||
167 | + run keyword if condition is not none ${description} input text to visible input ${plan_budgetbreakdowns_description_input_locator} ${description} | ||
168 | +## input text to visible input ${plan_budgetbreakdowns_description_input_locator} description | ||
169 | + | ||
170 | +save plan form and wait synchronization | ||
171 | + [Documentation] натискає кнопку "Зберегти" і чекає синхронізації плану | ||
172 | + | ||
173 | + submit form and check result ${plan_form_submit_btn_locator} ${plan_form_submit_success_msg} ${plan_created_checker_element_locator} | ||
174 | + wait until page does not contain element with reloading ${plan_sync_element_locator} | ||
175 | + | ||
176 | +delete plan | ||
177 | + [Arguments] ${data} | ||
178 | + [Documentation] натискає кнопку "Скасувати рядок плану" і видаляє план | ||
179 | + | ||
180 | + click visible element ${plan_delete_btn_locator} | ||
181 | + ${reason} = get from dictionary by keys ${data} reason | ||
182 | + run keyword if condition is not none ${reason} input text to visible input ${plan_form_delete_reason_value_locator} ${reason} | ||
183 | + submit form and check result ${plan_form_delete_sucess_btn_locator} ${plan_form_delete_submit_success_msg} |
Please
register
or
login
to post a comment