From 29bceffcea5703dca54ce9ef543670f6be0465a6 Mon Sep 17 00:00:00 2001 From: marjev Date: Mon, 23 Mar 2015 09:24:33 +0000 Subject: [PATCH] Fixed flaky test(s) - (SOL-336) --- .../test/acceptance/pages/studio/overview.py | 9 ++++++--- .../performance/test_studio_performance.py | 2 +- .../test/acceptance/tests/lms/test_library.py | 2 +- .../tests/lms/test_lms_courseware_search.py | 7 ++----- .../tests/studio/base_studio_test.py | 2 +- .../tests/studio/test_studio_acid_xblock.py | 6 +++--- .../tests/studio/test_studio_general.py | 2 +- .../studio/test_studio_library_container.py | 2 +- .../tests/studio/test_studio_outline.py | 20 +++++++++---------- .../tests/studio/test_studio_rerun.py | 2 +- .../studio/test_studio_with_ora_component.py | 2 +- .../tests/video/test_studio_video_module.py | 2 +- 12 files changed, 29 insertions(+), 29 deletions(-) diff --git a/common/test/acceptance/pages/studio/overview.py b/common/test/acceptance/pages/studio/overview.py index 1dd1cb0f50..cbff06967e 100644 --- a/common/test/acceptance/pages/studio/overview.py +++ b/common/test/acceptance/pages/studio/overview.py @@ -222,7 +222,7 @@ class CourseOutlineContainer(CourseOutlineItem): require_notification=require_notification, ) - def toggle_expand(self): + def expand_subsection(self): """ Toggle the expansion of this subsection. """ @@ -236,12 +236,15 @@ class CourseOutlineContainer(CourseOutlineItem): currently_expanded = subsection_expanded() self.q(css=self._bounded_selector('.ui-toggle-expansion i')).first.click() + self.wait_for_element_presence(self._bounded_selector(self.ADD_BUTTON_SELECTOR), 'Subsection is expanded') EmptyPromise( lambda: subsection_expanded() != currently_expanded, "Check that the container {} has been toggled".format(self.locator) ).fulfill() + self.browser.execute_script("jQuery.fx.off = false;") + return self @property @@ -564,10 +567,10 @@ class CourseOutlinePage(CoursePage, CourseOutlineContainer): """ for section in self.sections(): if section.is_collapsed: - section.toggle_expand() + section.expand_subsection() for subsection in section.subsections(): if subsection.is_collapsed: - subsection.toggle_expand() + subsection.expand_subsection() @property def xblocks(self): diff --git a/common/test/acceptance/performance/test_studio_performance.py b/common/test/acceptance/performance/test_studio_performance.py index 4886e03b45..db222a5586 100644 --- a/common/test/acceptance/performance/test_studio_performance.py +++ b/common/test/acceptance/performance/test_studio_performance.py @@ -44,7 +44,7 @@ class StudioPagePerformanceTest(WebAppTest): Produce a HAR for loading a unit page. """ course_outline_page = CourseOutlinePage(self.browser, self.course_org, self.course_num, self.course_run).visit() - course_outline_unit = course_outline_page.section(section_title).subsection(subsection_title).toggle_expand().unit(unit_title) + course_outline_unit = course_outline_page.section(section_title).subsection(subsection_title).expand_subsection().unit(unit_title) har_name = 'UnitPage_{org}_{course}'.format( org=self.course_org, course=self.course_num diff --git a/common/test/acceptance/tests/lms/test_library.py b/common/test/acceptance/tests/lms/test_library.py index 2564ba85e0..e4bb1cd8ec 100644 --- a/common/test/acceptance/tests/lms/test_library.py +++ b/common/test/acceptance/tests/lms/test_library.py @@ -119,7 +119,7 @@ class LibraryContentTestBase(UniqueCourseTest): self._auto_auth(self.STAFF_USERNAME, self.STAFF_EMAIL, True) self.course_outline.visit() subsection = self.course_outline.section(SECTION_NAME).subsection(SUBSECTION_NAME) - return subsection.toggle_expand().unit(UNIT_NAME).go_to() + return subsection.expand_subsection().unit(UNIT_NAME).go_to() def _goto_library_block_page(self, block_id=None): """ diff --git a/common/test/acceptance/tests/lms/test_lms_courseware_search.py b/common/test/acceptance/tests/lms/test_lms_courseware_search.py index 1481753fad..c648c9e5dc 100644 --- a/common/test/acceptance/tests/lms/test_lms_courseware_search.py +++ b/common/test/acceptance/tests/lms/test_lms_courseware_search.py @@ -4,8 +4,6 @@ Test courseware search import os import json -from flaky import flaky - from ..helpers import UniqueCourseTest from ...pages.common.logout import LogoutPage from ...pages.studio.utils import add_html_component, click_css, type_in_codemirror @@ -99,7 +97,7 @@ class CoursewareSearchTest(UniqueCourseTest): """ self.course_outline.visit() subsection = self.course_outline.section_at(section_index).subsection_at(0) - subsection.toggle_expand() + subsection.expand_subsection() unit = subsection.unit_at(0) unit.publish() @@ -119,7 +117,7 @@ class CoursewareSearchTest(UniqueCourseTest): # create a unit in course outline self.course_outline.visit() subsection = self.course_outline.section_at(section_index).subsection_at(0) - subsection.toggle_expand() + subsection.expand_subsection() subsection.add_unit() # got to unit and create an HTML component and save (not publish) @@ -167,7 +165,6 @@ class CoursewareSearchTest(UniqueCourseTest): self.courseware_search_page.search_for_term(self.SEARCH_STRING) assert self.SEARCH_STRING in self.courseware_search_page.search_results.html[0] - @flaky # TODO fix this, see SOL-336 def test_reindex(self): """ Make sure new content gets reindexed on button press. diff --git a/common/test/acceptance/tests/studio/base_studio_test.py b/common/test/acceptance/tests/studio/base_studio_test.py index b847c7ba78..d12b616608 100644 --- a/common/test/acceptance/tests/studio/base_studio_test.py +++ b/common/test/acceptance/tests/studio/base_studio_test.py @@ -93,7 +93,7 @@ class ContainerBase(StudioCourseTest): """ self.outline.visit() subsection = self.outline.section(section_name).subsection(subsection_name) - return subsection.toggle_expand().unit(unit_name).go_to() + return subsection.expand_subsection().unit(unit_name).go_to() def do_action_and_verify(self, action, expected_ordering): """ diff --git a/common/test/acceptance/tests/studio/test_studio_acid_xblock.py b/common/test/acceptance/tests/studio/test_studio_acid_xblock.py index 4f5963aa1c..55661cc795 100644 --- a/common/test/acceptance/tests/studio/test_studio_acid_xblock.py +++ b/common/test/acceptance/tests/studio/test_studio_acid_xblock.py @@ -69,7 +69,7 @@ class XBlockAcidBase(WebAppTest): self.outline.visit() subsection = self.outline.section('Test Section').subsection('Test Subsection') - unit = subsection.toggle_expand().unit('Test Unit').go_to() + unit = subsection.expand_subsection().unit('Test Unit').go_to() acid_block = AcidView(self.browser, unit.xblocks[0].preview_selector) self.validate_acid_block_preview(acid_block) @@ -81,7 +81,7 @@ class XBlockAcidBase(WebAppTest): self.outline.visit() subsection = self.outline.section('Test Section').subsection('Test Subsection') - unit = subsection.toggle_expand().unit('Test Unit').go_to() + unit = subsection.expand_subsection().unit('Test Unit').go_to() acid_block = AcidView(self.browser, unit.xblocks[0].edit().editor_selector) self.assertTrue(acid_block.init_fn_passed) @@ -133,7 +133,7 @@ class XBlockAcidParentBase(XBlockAcidBase): self.outline.visit() subsection = self.outline.section('Test Section').subsection('Test Subsection') - unit = subsection.toggle_expand().unit('Test Unit').go_to() + unit = subsection.expand_subsection().unit('Test Unit').go_to() container = unit.xblocks[0].go_to_container() acid_block = AcidView(self.browser, container.xblocks[0].preview_selector) diff --git a/common/test/acceptance/tests/studio/test_studio_general.py b/common/test/acceptance/tests/studio/test_studio_general.py index 5766c02c8f..a03d91e714 100644 --- a/common/test/acceptance/tests/studio/test_studio_general.py +++ b/common/test/acceptance/tests/studio/test_studio_general.py @@ -131,7 +131,7 @@ class DiscussionPreviewTest(StudioCourseTest): self.course_info['run'] ) cop.visit() - self.unit = cop.section('Test Section').subsection('Test Subsection').toggle_expand().unit('Test Unit') + self.unit = cop.section('Test Section').subsection('Test Subsection').expand_subsection().unit('Test Unit') self.unit.go_to() def populate_course_fixture(self, course_fixture): diff --git a/common/test/acceptance/tests/studio/test_studio_library_container.py b/common/test/acceptance/tests/studio/test_studio_library_container.py index 24ec806fef..772b9013a0 100644 --- a/common/test/acceptance/tests/studio/test_studio_library_container.py +++ b/common/test/acceptance/tests/studio/test_studio_library_container.py @@ -40,7 +40,7 @@ class StudioLibraryContainerTest(StudioLibraryTest, UniqueCourseTest): self.outline.visit() subsection = self.outline.section(SECTION_NAME).subsection(SUBSECTION_NAME) - self.unit_page = subsection.toggle_expand().unit(UNIT_NAME).go_to() + self.unit_page = subsection.expand_subsection().unit(UNIT_NAME).go_to() def populate_library_fixture(self, library_fixture): """ diff --git a/common/test/acceptance/tests/studio/test_studio_outline.py b/common/test/acceptance/tests/studio/test_studio_outline.py index 044d5ed8d4..926038d5b1 100644 --- a/common/test/acceptance/tests/studio/test_studio_outline.py +++ b/common/test/acceptance/tests/studio/test_studio_outline.py @@ -292,7 +292,7 @@ class WarningMessagesTest(CourseOutlineTest): self.course_outline_page.visit() section = self.course_outline_page.section(unit_state.name) subsection = section.subsection_at(0) - subsection.toggle_expand() + subsection.expand_subsection() unit = subsection.unit_at(0) if expected_status_message == self.STAFF_ONLY_WARNING: self.assertEqual(section.status_message, self.STAFF_ONLY_WARNING) @@ -314,7 +314,7 @@ class WarningMessagesTest(CourseOutlineTest): name = unit_state.name self.course_outline_page.visit() subsection = self.course_outline_page.section(name).subsection(name) - subsection.toggle_expand() + subsection.expand_subsection() if unit_state.publish_state == self.PublishState.UNPUBLISHED_CHANGES: unit = subsection.unit(name).go_to() @@ -962,7 +962,7 @@ class EditNamesTest(CourseOutlineTest): Then the section is collapsed """ self.course_outline_page.visit() - self.course_outline_page.section_at(0).toggle_expand() + self.course_outline_page.section_at(0).expand_subsection() self.assertFalse(self.course_outline_page.section_at(0).in_editable_form()) self.assertTrue(self.course_outline_page.section_at(0).is_collapsed) self.course_outline_page.section_at(0).edit_name() @@ -1138,7 +1138,7 @@ class DeleteContentTest(CourseOutlineTest): And the unit should immediately be deleted from the course outline """ self.course_outline_page.visit() - self.course_outline_page.section_at(0).subsection_at(0).toggle_expand() + self.course_outline_page.section_at(0).subsection_at(0).expand_subsection() self.assertEqual(len(self.course_outline_page.section_at(0).subsection_at(0).units()), 1) self.course_outline_page.section_at(0).subsection_at(0).unit_at(0).delete() self.assertEqual(len(self.course_outline_page.section_at(0).subsection_at(0).units()), 0) @@ -1153,7 +1153,7 @@ class DeleteContentTest(CourseOutlineTest): And the unit should remain in the course outline """ self.course_outline_page.visit() - self.course_outline_page.section_at(0).subsection_at(0).toggle_expand() + self.course_outline_page.section_at(0).subsection_at(0).expand_subsection() self.assertEqual(len(self.course_outline_page.section_at(0).subsection_at(0).units()), 1) self.course_outline_page.section_at(0).subsection_at(0).unit_at(0).delete(cancel=True) self.assertEqual(len(self.course_outline_page.section_at(0).subsection_at(0).units()), 1) @@ -1208,7 +1208,7 @@ class ExpandCollapseMultipleSectionsTest(CourseOutlineTest): Toggles the expand collapse state of all sections. """ for section in self.course_outline_page.sections(): - section.toggle_expand() + section.expand_subsection() def test_expanded_by_default(self): """ @@ -1265,7 +1265,7 @@ class ExpandCollapseMultipleSectionsTest(CourseOutlineTest): """ self.course_outline_page.visit() self.verify_all_sections(collapsed=False) - self.course_outline_page.section_at(0).toggle_expand() + self.course_outline_page.section_at(0).expand_subsection() self.course_outline_page.toggle_expand_collapse() self.assertEquals(self.course_outline_page.expand_collapse_link_state, ExpandCollapseLinkState.EXPAND) self.verify_all_sections(collapsed=True) @@ -1299,7 +1299,7 @@ class ExpandCollapseMultipleSectionsTest(CourseOutlineTest): self.course_outline_page.visit() self.course_outline_page.toggle_expand_collapse() self.assertEquals(self.course_outline_page.expand_collapse_link_state, ExpandCollapseLinkState.EXPAND) - self.course_outline_page.section_at(0).toggle_expand() + self.course_outline_page.section_at(0).expand_subsection() self.course_outline_page.toggle_expand_collapse() self.assertEquals(self.course_outline_page.expand_collapse_link_state, ExpandCollapseLinkState.COLLAPSE) self.verify_all_sections(collapsed=False) @@ -1449,7 +1449,7 @@ class UnitNavigationTest(CourseOutlineTest): Then I will be taken to the appropriate unit page """ self.course_outline_page.visit() - self.course_outline_page.section_at(0).subsection_at(0).toggle_expand() + self.course_outline_page.section_at(0).subsection_at(0).expand_subsection() unit = self.course_outline_page.section_at(0).subsection_at(0).unit_at(0).go_to() self.assertTrue(unit.is_browser_on_page) @@ -1575,6 +1575,6 @@ class PublishSectionTest(CourseOutlineTest): """ section = self.course_outline_page.section(SECTION_NAME) subsection = section.subsection(SUBSECTION_NAME) - unit = subsection.toggle_expand().unit(UNIT_NAME) + unit = subsection.expand_subsection().unit(UNIT_NAME) return (section, subsection, unit) diff --git a/common/test/acceptance/tests/studio/test_studio_rerun.py b/common/test/acceptance/tests/studio/test_studio_rerun.py index a193fd46fc..21a003bd68 100644 --- a/common/test/acceptance/tests/studio/test_studio_rerun.py +++ b/common/test/acceptance/tests/studio/test_studio_rerun.py @@ -94,7 +94,7 @@ class CourseRerunTest(StudioCourseTest): EmptyPromise(lambda: not outline_page.has_rerun_notification, "Rerun notification dismissed").fulfill() subsection = outline_page.section(self.SECTION_NAME).subsection(self.SUBSECITON_NAME) - subsection.toggle_expand() + subsection.expand_subsection() unit_page = subsection.unit(self.UNIT_NAME).go_to() unit_page.view_published_version() diff --git a/common/test/acceptance/tests/studio/test_studio_with_ora_component.py b/common/test/acceptance/tests/studio/test_studio_with_ora_component.py index 35a8e89208..76060bfc8c 100644 --- a/common/test/acceptance/tests/studio/test_studio_with_ora_component.py +++ b/common/test/acceptance/tests/studio/test_studio_with_ora_component.py @@ -53,7 +53,7 @@ class ORAComponentTest(StudioCourseTest): def _go_to_unit_page(self, section_name='Test Section', subsection_name='Test Subsection', unit_name='Test Unit'): self.course_outline_page.visit() subsection = self.course_outline_page.section(section_name).subsection(subsection_name) - return subsection.toggle_expand().unit(unit_name).go_to() + return subsection.expand_subsection().unit(unit_name).go_to() def test_edit_save_and_export(self): """ diff --git a/common/test/acceptance/tests/video/test_studio_video_module.py b/common/test/acceptance/tests/video/test_studio_video_module.py index b069c6fa70..707a9ad726 100644 --- a/common/test/acceptance/tests/video/test_studio_video_module.py +++ b/common/test/acceptance/tests/video/test_studio_video_module.py @@ -83,7 +83,7 @@ class CMSVideoBaseTest(UniqueCourseTest): self.outline.visit() # Visit Unit page - self.unit_page = self.outline.section('Test Section').subsection('Test Subsection').toggle_expand().unit( + self.unit_page = self.outline.section('Test Section').subsection('Test Subsection').expand_subsection().unit( 'Test Unit').go_to() self.video.wait_for_video_component_render()