Skip to content

Commit

Permalink
Bug 1450022 - Convert the rest of Details Panel to ReactJS (#3621)
Browse files Browse the repository at this point in the history
  • Loading branch information
Cameron Dawson committed Jun 13, 2018
1 parent 8114711 commit 15721f0
Show file tree
Hide file tree
Showing 80 changed files with 2,603 additions and 2,767 deletions.
1 change: 0 additions & 1 deletion .eslintignore

This file was deleted.

1 change: 0 additions & 1 deletion docs/ui/index.rst
Expand Up @@ -12,4 +12,3 @@ Contents:
:maxdepth: 2

installation
plugin
96 changes: 0 additions & 96 deletions docs/ui/plugin.rst

This file was deleted.

1 change: 1 addition & 0 deletions package.json
Expand Up @@ -65,6 +65,7 @@
"react-router-dom": "4.2.2",
"react-select": "1.2.1",
"react-table": "6.8.6",
"react-tabs": "2.2.2",
"react2angular": "4.0.2",
"reactstrap": "6.0.1",
"redux": "4.0.0",
Expand Down
30 changes: 15 additions & 15 deletions tests/selenium/pages/treeherder.py
Expand Up @@ -95,8 +95,8 @@ def get_next_50(self):
self._get_next(50)

@property
def info_panel(self):
return self.InfoPanel(self)
def details_panel(self):
return self.DetailsPanel(self)

def _keyboard_shortcut(self, shortcut):
self.find_element(By.CSS_SELECTOR, 'body').send_keys(shortcut)
Expand All @@ -123,14 +123,14 @@ def select_next_job(self):

def select_next_unclassified_job(self):
self._keyboard_shortcut('n')
self.wait.until(lambda _: self.info_panel.is_open)
self.wait.until(lambda _: self.details_panel.is_open)

def select_previous_job(self):
self._keyboard_shortcut(Keys.ARROW_LEFT)

def select_previous_unclassified_job(self):
self._keyboard_shortcut('p')
self.wait.until(lambda _: self.info_panel.is_open)
self.wait.until(lambda _: self.details_panel.is_open)

def select_repository(self, name):
self.find_element(*self._repo_menu_locator).click()
Expand Down Expand Up @@ -230,8 +230,8 @@ class ResultSet(Region):
_job_groups_locator = (By.CSS_SELECTOR, '.job-group')
_jobs_locator = (By.CSS_SELECTOR, '.job-btn.filter-shown')
_pin_all_jobs_locator = (By.CLASS_NAME, 'pin-all-jobs-btn')
_set_bottom_of_range_locator = (By.CSS_SELECTOR, 'ul.dropdown-menu > li:nth-child(6)')
_set_top_of_range_locator = (By.CSS_SELECTOR, 'ul.dropdown-menu > li:nth-child(5)')
_set_bottom_of_range_locator = (By.CLASS_NAME, 'bottom-of-range-menu-item')
_set_top_of_range_locator = (By.CLASS_NAME, 'top-of-range-menu-item')

@property
def author(self):
Expand Down Expand Up @@ -288,7 +288,7 @@ class Job(Region):

def click(self):
self.root.click()
self.wait.until(lambda _: self.page.info_panel.is_open)
self.wait.until(lambda _: self.page.details_panel.is_open)

@property
def selected(self):
Expand Down Expand Up @@ -334,10 +334,10 @@ def author(self):
def comment(self):
return self.find_element(*self._comment_locator).text

class InfoPanel(Region):
class DetailsPanel(Region):

_root_locator = (By.ID, 'info-panel')
_close_locator = (By.CSS_SELECTOR, '.info-panel-navbar-controls a')
_root_locator = (By.ID, 'details-panel')
_close_locator = (By.CSS_SELECTOR, '.details-panel-close-btn')
_loading_locator = (By.CSS_SELECTOR, '.overlay')

def close(self, method='pointer'):
Expand All @@ -355,13 +355,13 @@ def is_open(self):

@property
def job_details(self):
return self.JobDetails(self.page)
return self.SummaryPanel(self.page)

class JobDetails(Region):
class SummaryPanel(Region):

_root_locator = (By.ID, 'job-details-panel')
_root_locator = (By.ID, 'summary-panel')
_keywords_locator = (By.CSS_SELECTOR, 'a[title="Filter jobs containing these keywords"]')
_log_viewer_locator = (By.ID, 'logviewer-btn')
_log_viewer_locator = (By.CLASS_NAME, 'logviewer-btn')
_pin_job_locator = (By.ID, 'pin-job-btn')
_result_locator = (By.CSS_SELECTOR, '#result-status-pane div:nth-of-type(1) span')

Expand Down Expand Up @@ -399,7 +399,7 @@ def open_log_viewer(self, method='pointer'):
class Pinboard(Region):

_root_locator = (By.ID, 'pinboard-panel')
_clear_all_locator = (By.CSS_SELECTOR, '#pinboard-controls .dropdown-menu li:nth-child(5) a')
_clear_all_locator = (By.CSS_SELECTOR, '#pinboard-controls .dropdown-menu li:nth-child(3) a')
_jobs_locator = (By.CLASS_NAME, 'pinned-job')
_save_menu_locator = (By.CSS_SELECTOR, '#pinboard-controls .save-btn-dropdown')

Expand Down
2 changes: 1 addition & 1 deletion tests/selenium/test_filter_jobs_by_failure_result.py
Expand Up @@ -25,4 +25,4 @@ def test_filter_jobs_by_failure_result(base_url, selenium, test_jobs, result):
getattr(filters, 'toggle_{}_jobs'.format(result))()
assert len(page.all_jobs) == 1
page.all_jobs[0].click()
assert page.info_panel.job_details.result == result
assert page.details_panel.job_details.result == result
4 changes: 2 additions & 2 deletions tests/selenium/test_filter_jobs_by_keywords.py
Expand Up @@ -22,8 +22,8 @@ def test_filter_jobs_by_keywords_from_job_panel(base_url, selenium, test_jobs):
page = Treeherder(selenium, base_url).open()
page.wait.until(lambda _: len(page.all_jobs) == len(test_jobs))
page.all_jobs[0].click()
keywords = page.info_panel.job_details.keywords
page.info_panel.job_details.filter_by_keywords()
keywords = page.details_panel.job_details.keywords
page.details_panel.job_details.filter_by_keywords()
page.wait.until(lambda _: len(page.all_jobs) < len(test_jobs))
assert page.quick_filter_term == keywords.lower()

Expand Down
12 changes: 6 additions & 6 deletions tests/selenium/test_filter_jobs_by_result_status.py
Expand Up @@ -37,7 +37,7 @@ def test_filter_failures(base_url, selenium, test_jobs):
page.toggle_in_progress()
page.wait.until(lambda _: len(page.all_jobs) == 1)
page.all_jobs[0].click()
assert page.info_panel.job_details.result == 'testfailed'
assert page.details_panel.job_details.result == 'testfailed'


def test_filter_success(base_url, selenium, test_jobs):
Expand All @@ -49,7 +49,7 @@ def test_filter_success(base_url, selenium, test_jobs):
page.toggle_in_progress()
page.wait.until(lambda _: len(page.all_jobs) == 1)
page.all_jobs[0].click()
assert page.info_panel.job_details.result == 'success'
assert page.details_panel.job_details.result == 'success'


def test_filter_retry(base_url, selenium, test_jobs):
Expand All @@ -61,7 +61,7 @@ def test_filter_retry(base_url, selenium, test_jobs):
page.toggle_in_progress()
page.wait.until(lambda _: len(page.all_jobs) == 1)
page.all_jobs[0].click()
assert page.info_panel.job_details.result == 'retry'
assert page.details_panel.job_details.result == 'retry'


def test_filter_usercancel(base_url, selenium, test_jobs):
Expand All @@ -73,7 +73,7 @@ def test_filter_usercancel(base_url, selenium, test_jobs):
page.toggle_in_progress()
page.wait.until(lambda _: len(page.all_jobs) == 1)
page.all_jobs[0].click()
assert page.info_panel.job_details.result == 'usercancel'
assert page.details_panel.job_details.result == 'usercancel'


def test_filter_superseded(base_url, selenium, test_jobs):
Expand All @@ -87,7 +87,7 @@ def test_filter_superseded(base_url, selenium, test_jobs):
page.toggle_in_progress()
page.wait.until(lambda _: len(page.all_jobs) == 1)
page.all_jobs[0].click()
assert page.info_panel.job_details.result == 'superseded'
assert page.details_panel.job_details.result == 'superseded'


def test_filter_in_progress(base_url, selenium, test_jobs):
Expand All @@ -99,4 +99,4 @@ def test_filter_in_progress(base_url, selenium, test_jobs):
page.toggle_usercancel()
page.wait.until(lambda _: len(page.all_jobs) == 1)
page.all_jobs[0].click()
assert page.info_panel.job_details.result == 'unknown'
assert page.details_panel.job_details.result == 'unknown'
6 changes: 3 additions & 3 deletions tests/selenium/test_info_panel.py
Expand Up @@ -8,6 +8,6 @@ def test_close_info_panel(base_url, selenium, test_job, method):
page = Treeherder(selenium, base_url).open()
page.wait.until(lambda _: page.all_jobs)
page.all_jobs[0].click()
assert page.info_panel.is_open
page.info_panel.close(method)
assert not page.info_panel.is_open
assert page.details_panel.is_open
page.details_panel.close(method)
assert not page.details_panel.is_open
2 changes: 1 addition & 1 deletion tests/selenium/test_log_viewer.py
Expand Up @@ -24,5 +24,5 @@ def test_open_log_viewer(base_url, selenium, log):
page = Treeherder(selenium, base_url).open()
page.wait.until(lambda _: page.all_jobs)
page.all_jobs[0].click()
log_viewer = page.info_panel.job_details.open_log_viewer()
log_viewer = page.details_panel.job_details.open_log_viewer()
assert log_viewer.seed_url in selenium.current_url
4 changes: 2 additions & 2 deletions tests/selenium/test_pin_jobs.py
Expand Up @@ -23,7 +23,7 @@ def test_pin_job(base_url, selenium, test_jobs, method):
page.wait.until(lambda _: len(page.all_jobs) == len(test_jobs))
page.all_jobs[0].click()
assert len(page.pinboard.jobs) == 0
page.info_panel.job_details.pin_job(method)
page.details_panel.job_details.pin_job(method)
assert len(page.pinboard.jobs) == 1
assert page.pinboard.jobs[0].symbol == page.all_jobs[0].symbol

Expand All @@ -32,7 +32,7 @@ def test_clear_pinboard(base_url, selenium, test_jobs):
page = Treeherder(selenium, base_url).open()
page.wait.until(lambda _: len(page.all_jobs) == len(test_jobs))
page.all_jobs[0].click()
page.info_panel.job_details.pin_job()
page.details_panel.job_details.pin_job()
assert len(page.pinboard.jobs) == 1
page.pinboard.clear()
assert len(page.pinboard.jobs) == 0
Expand Down
39 changes: 0 additions & 39 deletions tests/ui/unit/controllers/pinboard.tests.js

This file was deleted.

2 changes: 0 additions & 2 deletions tests/ui/unit/init.js
Expand Up @@ -28,8 +28,6 @@ const serviceContext = require.context('../../../ui/js/services', true, /^\.\/.*
serviceContext.keys().forEach(serviceContext);
const componentContext = require.context('../../../ui/js/components', true, /^\.\/.*\.jsx?$/);
componentContext.keys().forEach(componentContext);
const pluginContext = require.context('../../../ui/plugins', true, /^\.\/.*\.jsx?$/);
pluginContext.keys().forEach(pluginContext);

const testContext = require.context('./', true, /^\.\/.*\.tests\.jsx?$/);
testContext.keys().forEach(testContext);

0 comments on commit 15721f0

Please sign in to comment.