@@ -97,8 +97,17 @@ def registration_details_page(self, driver, registration_guid):
97
97
registration_details_page .goto ()
98
98
return registration_details_page
99
99
100
+ @pytest .fixture ()
101
+ def registration_details_page_with_resource (self , driver , registration_guid ):
102
+ registration_details_page = RegistrationDetailPage (
103
+ driver , guid = registration_guid
104
+ )
105
+ osf_api .create_registration_resource (registration_guid , resource_type = 'Data' )
106
+ registration_details_page .goto ()
107
+ return registration_details_page
108
+
100
109
def create_new_resource (
101
- self , driver , registration_guid , registration_details_page , resource_type
110
+ self , registration_guid , registration_details_page , resource_type
102
111
):
103
112
"""This method creates new resource of the type given for the given registration"""
104
113
doi = '10.17605'
@@ -138,9 +147,7 @@ def test_add_new_resource_data(
138
147
)
139
148
)
140
149
141
- self .create_new_resource (
142
- self , driver , registration_details_page , resource_type = 'Data'
143
- )
150
+ self .create_new_resource (self , registration_details_page , resource_type = 'Data' )
144
151
145
152
data_resource = WebDriverWait (driver , 10 ).until (
146
153
EC .presence_of_element_located ((By .XPATH , '//li/p[text()="Data"]' ))
@@ -149,78 +156,43 @@ def test_add_new_resource_data(
149
156
osf_api .delete_registration_resource (registration_guid )
150
157
151
158
def test_edit_resource_data (
152
- self , driver , registration_details_page , registration_guid , fake
159
+ self , driver , registration_details_page_with_resource , registration_guid , fake
153
160
):
154
161
"""This test updates the description of data output resource for a given registration"""
155
162
resource_description = fake .sentence (nb_words = 1 )
156
- registration_details_page .open_practice_resource_data .click ()
157
- # Verify n and delete the resource if already exists
158
- resource_id = osf_api .get_registration_resource_id (
159
- registration_id = registration_guid
160
- )
161
- if resource_id is not None :
162
- osf_api .delete_registration_resource (registration_guid )
163
- registration_details_page .reload ()
164
- WebDriverWait (driver , 10 ).until (
165
- EC .invisibility_of_element_located ((By .XPATH , '//li/p[text()="Data"]' ))
166
- )
167
-
168
- osf_api .create_registration_resource (registration_guid , resource_type = 'Data' )
169
- registration_details_page .reload ()
170
- WebDriverWait (driver , 10 ).until (
171
- EC .presence_of_element_located ((By .XPATH , '//li/p[text()="Data"]' ))
172
- )
173
- registration_details_page .resource_type_edit_button .click ()
174
- registration_details_page .resource_description .click ()
175
- registration_details_page .resource_description .clear ()
176
- registration_details_page .resource_description .send_keys (resource_description )
177
- registration_details_page .save_button .click ()
163
+ registration_details_page_with_resource .open_practice_resource_data .click ()
178
164
179
- registration_details_page .reload ()
180
- WebDriverWait (driver , 5 ).until (
181
- EC .presence_of_element_located ((By .XPATH , '//li/p[text()="Data"]' ))
165
+ registration_details_page_with_resource .resource_type_edit_button .click ()
166
+ registration_details_page_with_resource .resource_description .click ()
167
+ registration_details_page_with_resource .resource_description .clear ()
168
+ registration_details_page_with_resource .resource_description .send_keys (
169
+ resource_description
182
170
)
171
+ registration_details_page_with_resource .save_button .click ()
183
172
assert (
184
- registration_details_page .resource_card_description .text
173
+ registration_details_page_with_resource .resource_card_description .text
185
174
== resource_description
186
175
)
187
176
osf_api .delete_registration_resource (registration_guid )
188
177
189
178
def test_delete_resource_data (
190
- self , driver , registration_details_page , registration_guid , fake
179
+ self , driver , registration_details_page_with_resource , registration_guid , fake
191
180
):
192
181
"""This test verifies delete functionality of data output resource for a registration"""
193
182
194
- registration_details_page .open_practice_resource_data .click ()
195
- # Verify and delete the resource if already exists
196
- resource_id = osf_api .get_registration_resource_id (
197
- registration_id = registration_guid
198
- )
199
- if resource_id is not None :
200
- osf_api .delete_registration_resource (registration_guid )
201
- registration_details_page .reload ()
202
- WebDriverWait (driver , 10 ).until (
203
- EC .invisibility_of_element_located ((By .XPATH , '//li/p[text()="Data"]' ))
204
- )
183
+ registration_details_page_with_resource .open_practice_resource_data .click ()
205
184
206
- osf_api .create_registration_resource (registration_guid , resource_type = 'Data' )
207
- registration_details_page .reload ()
208
- WebDriverWait (driver , 5 ).until (
209
- EC .visibility_of_element_located ((By .XPATH , '//li/p[text()="Data"]' ))
210
- )
185
+ registration_details_page_with_resource .resource_type_delete_button .click ()
186
+ registration_details_page_with_resource .resource_type_delete_confirm .click ()
211
187
212
- orig_data_icon_color = driver .find_element_by_css_selector (
213
- 'img[data-analytics-name="data"]'
214
- ).get_attribute ('src' )
215
- registration_details_page .resource_type_delete_button .click ()
216
- registration_details_page .resource_type_delete_confirm .click ()
217
- registration_details_page .reload ()
188
+ registration_details_page_with_resource .reload ()
218
189
WebDriverWait (driver , 10 ).until (
219
190
EC .visibility_of_element_located (
220
191
(By .CSS_SELECTOR , '[data-test-add-resource-section]' )
221
192
)
222
193
)
223
- new_data_icon_color = driver .find_element_by_css_selector (
224
- 'img[data-analytics-name="data"]'
225
- ).get_attribute ('src' )
226
- assert new_data_icon_color != orig_data_icon_color
194
+
195
+ assert (
196
+ registration_details_page_with_resource .resource_list .text
197
+ == 'This registration has no resources.'
198
+ )
0 commit comments