зеркало из https://github.com/mozilla/treeherder.git
Fix test_filter_panel_reset_button by hiding in progress jobs via navigation and updating reset locator (#2855)
This commit is contained in:
Родитель
1c71f301ca
Коммит
f9445e7294
|
@ -14,11 +14,10 @@ class TreeherderPage(Base):
|
|||
_active_watched_repo_locator = (By.CSS_SELECTOR, '#watched-repo-navbar button.active')
|
||||
_clear_filter_locator = (By.ID, 'quick-filter-clear-button')
|
||||
_close_the_job_panel_locator = (By.CSS_SELECTOR, '.info-panel-navbar-controls > li:nth-child(2)')
|
||||
_filter_panel_all_failures_locator = (By.CSS_SELECTOR, '.pull-right input')
|
||||
_filter_panel_busted_failures_locator = (By.ID, 'busted')
|
||||
_filter_panel_exception_failures_locator = (By.ID, 'exception')
|
||||
_filter_panel_locator = (By.CSS_SELECTOR, 'span.navbar-right > span:nth-child(4)')
|
||||
_filter_panel_reset_locator = (By.CSS_SELECTOR, '.pull-right span:nth-child(3)')
|
||||
_filter_panel_reset_locator = (By.CSS_SELECTOR, '#filter-dropdown > li:last-child')
|
||||
_filter_panel_testfailed_failures_locator = (By.ID, 'testfailed')
|
||||
_info_panel_content_locator = (By.ID, 'info-panel-content')
|
||||
_mozilla_central_repo_locator = (By.CSS_SELECTOR, '#th-global-navbar-top a[href*="mozilla-central"]')
|
||||
|
@ -148,10 +147,6 @@ class TreeherderPage(Base):
|
|||
def close_all_panels(self):
|
||||
self.find_element(By.CSS_SELECTOR, 'body').send_keys(Keys.ESCAPE)
|
||||
|
||||
def deselect_all_failures(self):
|
||||
"""Filters Panel must be opened"""
|
||||
self.find_element(*self._filter_panel_all_failures_locator).click()
|
||||
|
||||
def deselect_busted_failures(self):
|
||||
"""Filters Panel must be opened"""
|
||||
self.find_element(*self._filter_panel_busted_failures_locator).click()
|
||||
|
@ -350,6 +345,11 @@ class TreeherderPage(Base):
|
|||
|
||||
class Job(Region):
|
||||
|
||||
@property
|
||||
def in_progress(self):
|
||||
classes = self.root.get_attribute('class').split()
|
||||
return any(c in ('btn-dkgray', 'btn-ltgray') for c in classes)
|
||||
|
||||
@property
|
||||
def selected(self):
|
||||
return 'selected-job' in self.root.get_attribute('class')
|
||||
|
|
|
@ -42,23 +42,14 @@ def test_filter_by_test_status(base_url, selenium):
|
|||
|
||||
@pytest.mark.nondestructive
|
||||
def test_filter_panel_reset_button(base_url, selenium):
|
||||
"""Open Treeherder page, open Filters Panel, disable all failures,
|
||||
check that all checkboxes are not selected, check that there
|
||||
are no failures, click reset button and verify that default checkboxes
|
||||
are selected"""
|
||||
"""Open Treeherder page, hide jobs in progress, reset filters button and
|
||||
verify in progress jobs are displayed"""
|
||||
page = TreeherderPage(selenium, base_url).open()
|
||||
all_jobs = len(page.all_jobs)
|
||||
|
||||
assert any(j for j in page.all_jobs if j.in_progress)
|
||||
page.filter_job_in_progress()
|
||||
assert not page.nav_filter_in_progress_is_selected
|
||||
assert not any(j for j in page.all_jobs if j.in_progress)
|
||||
page.click_on_filters_panel()
|
||||
page.deselect_all_failures()
|
||||
assert not page.checkbox_testfailed_is_selected
|
||||
assert not page.checkbox_busted_is_selected
|
||||
assert not page.checkbox_exception_is_selected
|
||||
|
||||
filtered_jobs = len(page.all_jobs)
|
||||
assert not all_jobs == filtered_jobs
|
||||
|
||||
page.reset_filters()
|
||||
assert page.checkbox_testfailed_is_selected
|
||||
assert page.checkbox_busted_is_selected
|
||||
assert page.checkbox_exception_is_selected
|
||||
assert page.nav_filter_in_progress_is_selected
|
||||
assert any(j for j in page.all_jobs if j.in_progress)
|
||||
|
|
Загрузка…
Ссылка в новой задаче