Commit c28e6773 by Jeremy Bowman

PLAT-1198 Fix flaky navigation buttons test

parent 173e5922
...@@ -115,8 +115,17 @@ class CoursewarePage(CoursePage): ...@@ -115,8 +115,17 @@ class CoursewarePage(CoursePage):
Arguments: Arguments:
sequential_position (int): position in sequential bar sequential_position (int): position in sequential bar
""" """
def is_at_new_position():
"""
Returns whether the specified tab has become active. It is defensive
against the case where the page is still being loaded.
"""
active_tab = self._active_sequence_tab
return active_tab and int(active_tab.attrs('data-element')[0]) == sequential_position
sequential_position_css = '#sequence-list #tab_{0}'.format(sequential_position - 1) sequential_position_css = '#sequence-list #tab_{0}'.format(sequential_position - 1)
self.q(css=sequential_position_css).first.click() self.q(css=sequential_position_css).first.click()
EmptyPromise(is_at_new_position, "Position navigation fulfilled").fulfill()
@property @property
def sequential_position(self): def sequential_position(self):
......
...@@ -436,7 +436,6 @@ class CoursewareMultipleVerticalsTest(UniqueCourseTest, EventsTestMixin): ...@@ -436,7 +436,6 @@ class CoursewareMultipleVerticalsTest(UniqueCourseTest, EventsTestMixin):
self.courseware_page.visit() self.courseware_page.visit()
self.course_nav = CourseNavPage(self.browser) self.course_nav = CourseNavPage(self.browser)
@flaky # TODO: fix this, see TNL-5762
def test_navigation_buttons(self): def test_navigation_buttons(self):
# start in first section # start in first section
self.assert_navigation_state('Test Section 1', 'Test Subsection 1,1', 0, next_enabled=True, prev_enabled=False) self.assert_navigation_state('Test Section 1', 'Test Subsection 1,1', 0, next_enabled=True, prev_enabled=False)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment