Skip to content

Commit 811a744

Browse files
author
Ramya Virajamangala
committed
Fixed edit_contributors test for project metadata
1 parent a208417 commit 811a744

File tree

2 files changed

+43
-41
lines changed

2 files changed

+43
-41
lines changed

pages/project.py

Lines changed: 34 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -563,11 +563,13 @@ class ProjectMetadataPage(GuidBasePage):
563563
add_contributor_button = Locator(
564564
By.CSS_SELECTOR, 'a.btn.btn-success.btn-sm.m-l-md[href="#addContributors"]'
565565
)
566-
contributor_search_button = Locator(By.XPATH, '//input[@class="btn btn-default"]')
566+
contributor_search_button = Locator(
567+
By.CSS_SELECTOR, '[data-test-user-search-button]'
568+
)
567569
add_displayed_contributor_button = Locator(
568570
By.CSS_SELECTOR, '[a.btn.btn-success.contrib-button.btn-mini]'
569571
)
570-
search_input = Locator(By.XPATH, '//input[@class="form-control"]')
572+
search_input = Locator(By.CSS_SELECTOR, '[data-test-user-search-input]')
571573
resource_type = Locator(
572574
By.CSS_SELECTOR, '[data-test-display-resource-type-general]'
573575
)
@@ -596,6 +598,36 @@ def select_from_dropdown_listbox(self, selection):
596598
By.CSS_SELECTOR, '[data-test-save-resource-metadata-button]'
597599
)
598600

601+
rows = GroupLocator(By.CSS_SELECTOR, '[data-test-user-card-main]')
602+
603+
def select_from_table_of_rows(self, selection):
604+
for row in self.rows:
605+
cell = row.find_element(
606+
By.CSS_SELECTOR, '[data-analytics-name="View user"]'
607+
)
608+
if selection in cell.text.strip():
609+
row.find_element(
610+
By.CSS_SELECTOR, '[data-test-add-contributor-button]'
611+
).click()
612+
break
613+
614+
contributors_list = GroupLocator(
615+
By.CSS_SELECTOR, '[data-analytics-name="Contributor name"]'
616+
)
617+
618+
def select_from_list(self, selection):
619+
for contributor in self.contributors_list:
620+
if selection in contributor.text.strip():
621+
return contributor
622+
break
623+
624+
search_cancel_button = Locator(
625+
By.CSS_SELECTOR, '[data-test-user-search-cancel-button]'
626+
)
627+
add_contributor_finish_button = Locator(
628+
By.CSS_SELECTOR, '[data-test-finish-node-contributor-editing-button]'
629+
)
630+
599631
funder_name = Locator(By.XPATH, '//span[@class="ember-power-select-status-icon"]')
600632
funder_name_search_input = Locator(
601633
By.XPATH, '//input[@class="ember-power-select-search-input"]'

tests/test_metadata.py

Lines changed: 9 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -345,19 +345,9 @@ def test_edit_contributors(
345345

346346
WebDriverWait(driver, 5).until(
347347
EC.element_to_be_clickable(
348-
(By.CSS_SELECTOR, '[data-test-edit-contributors]')
348+
(By.CSS_SELECTOR, '[data-test-edit-node-contributors-button]')
349349
)
350350
).click()
351-
352-
WebDriverWait(driver, 5).until(
353-
EC.element_to_be_clickable(
354-
(
355-
By.CSS_SELECTOR,
356-
'a.btn.btn-success.btn-sm.m-l-md[href="#addContributors"]',
357-
)
358-
)
359-
).click()
360-
361351
project_metadata_page.search_input.click()
362352
project_metadata_page.search_input.send_keys(new_user)
363353
project_metadata_page.contributor_search_button.click()
@@ -366,43 +356,23 @@ def test_edit_contributors(
366356
WebDriverWait(driver, 5).until(
367357
EC.visibility_of_element_located(
368358
(
369-
By.XPATH,
370-
'//div[@class="row"]/div[@class="col-md-4"]/table[@class="table-condensed table-hover"]',
359+
By.CSS_SELECTOR,
360+
'[data-test-user-card]',
371361
)
372362
)
373363
)
374-
search_table_path = '//table[@class="table-condensed table-hover"]'
375-
rno, search_table_data = utils.read_data_from_table(
376-
driver, search_table_path, check_match=True, item_match=new_user
377-
)
378-
# Click on the Add button of the row number for the user from the search table to add the new contributor user
379-
WebDriverWait(driver, 5).until(
380-
EC.element_to_be_clickable(
381-
(By.XPATH, search_table_path + '/tbody/tr[' + str(rno) + ']/td[1]')
382-
)
383-
).click()
384364

385-
WebDriverWait(driver, 5).until(
386-
EC.element_to_be_clickable((By.XPATH, '//a[@class="btn btn-success"]'))
387-
).click()
365+
project_metadata_page.select_from_table_of_rows(new_user)
366+
project_metadata_page.search_cancel_button.click()
367+
project_metadata_page.add_contributor_finish_button.click()
388368

389-
project_metadata_page.reload()
390369
WebDriverWait(driver, 5).until(
391370
EC.visibility_of_element_located(
392-
(By.XPATH, '//table[@id="manageContributorsTable"]')
371+
(By.CSS_SELECTOR, '[data-test-contributors-list]')
393372
)
394373
)
395-
contributor_table_path = '//table[@id="manageContributorsTable"]'
396-
# Get the total number of rows in contributors table
397-
rowno, contributor_table_data = utils.read_data_from_table(
398-
driver, contributor_table_path, check_match=False
399-
)
400-
401-
# Get the user name from the last row which is added recently
402-
user = driver.find_element_by_xpath(
403-
contributor_table_path + '/tbody/tr[' + str(rowno) + ']/td[2]'
404-
)
405-
assert new_user in user.text
374+
user = project_metadata_page.select_from_list(new_user)
375+
assert new_user in user.text.strip()
406376

407377
def test_edit_resource_information(self, driver, project_metadata_page):
408378
"""This test verifies that user can add/remove

0 commit comments

Comments
 (0)