issue_list.py 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. from __future__ import absolute_import
  2. from .base import BasePage
  3. from .global_selection import GlobalSelectionPage
  4. from .issue_details import IssueDetailsPage
  5. class IssueListPage(BasePage):
  6. def __init__(self, browser, client):
  7. super(IssueListPage, self).__init__(browser)
  8. self.client = client
  9. self.global_selection = GlobalSelectionPage(browser)
  10. def visit_issue_list(self, org, query=""):
  11. self.browser.get(u"/organizations/{}/issues/{}".format(org, query))
  12. self.wait_until_loaded()
  13. def wait_for_stream(self):
  14. self.browser.wait_until('[data-test-id="event-issue-header"]', timeout=20)
  15. def select_issue(self, position):
  16. self.browser.click(u'[data-test-id="group"]:nth-child({})'.format(position))
  17. def navigate_to_issue(self, position):
  18. self.browser.click(u'[data-test-id="group"]:nth-child({}) a'.format(position))
  19. self.browser.wait_until(".group-detail")
  20. self.issue_details = IssueDetailsPage(self.browser, self.client)
  21. def resolve_issues(self):
  22. self.browser.click('[aria-label="Resolve"]')
  23. self.browser.click('[data-test-id="confirm-button"]')
  24. def wait_for_resolved_issue(self):
  25. self.browser.wait_until('[data-test-id="resolved-issue"]')
  26. def wait_for_issue(self):
  27. self.browser.wait_until('[data-test-id="group"]')
  28. def find_resolved_issues(self):
  29. return self.browser.elements('[data-test-id="resolved-issue"]')