Skip to content

Commit 78bba40

Browse files
Ramya Virajamangalajh27539
authored andcommitted
Added new fixture method registration_details_page_with_resource for edit and delete tests
1 parent 0c877b7 commit 78bba40

File tree

2 files changed

+33
-58
lines changed

2 files changed

+33
-58
lines changed

pages/registries.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,9 @@ class RegistrationDetailPage(BaseSubmittedRegistrationPage):
100100
open_practice_resource_data = Locator(By.CSS_SELECTOR, '[data-test-resource-link]')
101101
add_resource_button = Locator(By.CSS_SELECTOR, 'button[aria-label="Add resource"]')
102102
doi_input_field = Locator(By.XPATH, '//input[@name="pid"]')
103+
resource_list = Locator(
104+
By.XPATH, '//li[text()="This registration has no resources."]'
105+
)
103106
resource_type_dropdown = Locator(
104107
By.CSS_SELECTOR, '[data-test-power-select-dropdown]'
105108
)

tests/test_registration_sidebar.py

Lines changed: 30 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -97,8 +97,17 @@ def registration_details_page(self, driver, registration_guid):
9797
registration_details_page.goto()
9898
return registration_details_page
9999

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+
100109
def create_new_resource(
101-
self, driver, registration_guid, registration_details_page, resource_type
110+
self, registration_guid, registration_details_page, resource_type
102111
):
103112
"""This method creates new resource of the type given for the given registration"""
104113
doi = '10.17605'
@@ -138,9 +147,7 @@ def test_add_new_resource_data(
138147
)
139148
)
140149

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')
144151

145152
data_resource = WebDriverWait(driver, 10).until(
146153
EC.presence_of_element_located((By.XPATH, '//li/p[text()="Data"]'))
@@ -149,78 +156,43 @@ def test_add_new_resource_data(
149156
osf_api.delete_registration_resource(registration_guid)
150157

151158
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
153160
):
154161
"""This test updates the description of data output resource for a given registration"""
155162
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()
178164

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
182170
)
171+
registration_details_page_with_resource.save_button.click()
183172
assert (
184-
registration_details_page.resource_card_description.text
173+
registration_details_page_with_resource.resource_card_description.text
185174
== resource_description
186175
)
187176
osf_api.delete_registration_resource(registration_guid)
188177

189178
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
191180
):
192181
"""This test verifies delete functionality of data output resource for a registration"""
193182

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()
205184

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()
211187

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()
218189
WebDriverWait(driver, 10).until(
219190
EC.visibility_of_element_located(
220191
(By.CSS_SELECTOR, '[data-test-add-resource-section]')
221192
)
222193
)
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

Comments
 (0)