From 98012dd9cff4060d7a601056d2a380871e54ec26 Mon Sep 17 00:00:00 2001 From: Feanil Patel Date: Tue, 25 Feb 2020 14:50:54 -0500 Subject: [PATCH] Remove lms dashboard search tests. --- .../tests/lms/test_lms_dashboard_search.py | 199 ------------------ 1 file changed, 199 deletions(-) delete mode 100644 common/test/acceptance/tests/lms/test_lms_dashboard_search.py diff --git a/common/test/acceptance/tests/lms/test_lms_dashboard_search.py b/common/test/acceptance/tests/lms/test_lms_dashboard_search.py deleted file mode 100644 index 67362535e0..0000000000 --- a/common/test/acceptance/tests/lms/test_lms_dashboard_search.py +++ /dev/null @@ -1,199 +0,0 @@ -""" -Test dashboard search -""" - - -import json -import os - -import six - -from common.test.acceptance.fixtures.course import CourseFixture, XBlockFixtureDesc -from common.test.acceptance.pages.common.auto_auth import AutoAuthPage -from common.test.acceptance.pages.common.logout import LogoutPage -from common.test.acceptance.pages.common.utils import click_css -from common.test.acceptance.pages.lms.dashboard_search import DashboardSearchPage -from common.test.acceptance.pages.studio.container import ContainerPage -from common.test.acceptance.pages.studio.overview import CourseOutlinePage as StudioCourseOutlinePage -from common.test.acceptance.pages.studio.utils import add_html_component, type_in_codemirror -from common.test.acceptance.tests.helpers import AcceptanceTest, generate_course_key - - -class DashboardSearchTest(AcceptanceTest): - """ - Test dashboard search. - """ - shard = 7 - - USERNAME = 'STUDENT_TESTER' - EMAIL = 'student101@example.com' - - STAFF_USERNAME = "STAFF_TESTER" - STAFF_EMAIL = "staff101@example.com" - - TEST_INDEX_FILENAME = "test_root/index_file.dat" - - def setUp(self): - """ - Create the search page and courses to search. - """ - # create test file in which index for this test will live - with open(self.TEST_INDEX_FILENAME, "w+") as index_file: - json.dump({}, index_file) - - super(DashboardSearchTest, self).setUp() - self.dashboard = DashboardSearchPage(self.browser) - - self.courses = { - 'A': { - 'org': 'test_org', - 'number': self.unique_id, - 'run': 'test_run_A', - 'display_name': 'Test Course A ' - }, - 'B': { - 'org': 'test_org', - 'number': self.unique_id, - 'run': 'test_run_B', - 'display_name': 'Test Course B ' - }, - 'C': { - 'org': 'test_org', - 'number': self.unique_id, - 'run': 'test_run_C', - 'display_name': 'Test Course C ' - } - } - - # generate course fixtures and outline pages - self.studio_course_outlines = {} - self.course_fixtures = {} - for key, course_info in six.iteritems(self.courses): - studio_course_outline = StudioCourseOutlinePage( - self.browser, - course_info['org'], - course_info['number'], - course_info['run'] - ) - - course_fix = CourseFixture( - course_info['org'], - course_info['number'], - course_info['run'], - course_info['display_name'] - ) - - course_fix.add_children( - XBlockFixtureDesc('chapter', 'Section 1').add_children( - XBlockFixtureDesc('sequential', 'Subsection 1').add_children( - XBlockFixtureDesc('problem', 'Test Problem') - ) - ) - ).add_children( - XBlockFixtureDesc('chapter', 'Section 2').add_children( - XBlockFixtureDesc('sequential', 'Subsection 2') - ) - ).install() - - self.studio_course_outlines[key] = studio_course_outline - self.course_fixtures[key] = course_fix - - def tearDown(self): - """ - Remove index file - """ - super(DashboardSearchTest, self).tearDown() - os.remove(self.TEST_INDEX_FILENAME) - - def _auto_auth(self, username, email, staff): - """ - Logout and login with given credentials. - """ - LogoutPage(self.browser).visit() - AutoAuthPage(self.browser, username=username, email=email, staff=staff).visit() - - def _studio_add_content(self, studio_course_outline, html_content): - """ - Add content to first section on studio course page. - """ - # create a unit in course outline - studio_course_outline.visit() - subsection = studio_course_outline.section_at(0).subsection_at(0) - subsection.expand_subsection() - subsection.add_unit() - - # got to unit and create an HTML component and save (not publish) - unit_page = ContainerPage(self.browser, None) - unit_page.wait_for_page() - add_html_component(unit_page, 0) - unit_page.wait_for_element_presence('.edit-button', 'Edit button is visible') - click_css(unit_page, '.edit-button', 0, require_notification=False) - unit_page.wait_for_element_visibility('.modal-editor', 'Modal editor is visible') - type_in_codemirror(unit_page, 0, html_content) - click_css(unit_page, '.action-save', 0) - - def _studio_publish_content(self, studio_course_outline): - """ - Publish content in first section on studio course page. - """ - studio_course_outline.visit() - subsection = studio_course_outline.section_at(0).subsection_at(0) - subsection.expand_subsection() - unit = subsection.unit_at(0) - unit.publish() - - def test_page_existence(self): - """ - Make sure that the page exists. - """ - self._auto_auth(self.USERNAME, self.EMAIL, False) - self.dashboard.visit() - - def test_search(self): - """ - Make sure that you can search courses. - """ - - search_string = "dashboard" - html_content = "dashboard search" - - # Enroll student in courses A & B, but not C - for course_info in [self.courses['A'], self.courses['B']]: - course_key = generate_course_key( - course_info['org'], - course_info['number'], - course_info['run'] - ) - AutoAuthPage( - self.browser, - username=self.USERNAME, - email=self.EMAIL, - course_id=course_key - ).visit() - - # Create content in studio without publishing. - self._auto_auth(self.STAFF_USERNAME, self.STAFF_EMAIL, True) - self._studio_add_content(self.studio_course_outlines['A'], html_content) - self._studio_add_content(self.studio_course_outlines['B'], html_content) - self._studio_add_content(self.studio_course_outlines['C'], html_content) - - # Do a search, there should be no results shown. - self._auto_auth(self.USERNAME, self.EMAIL, False) - self.dashboard.visit() - self.dashboard.search_for_term(search_string) - assert search_string not in self.dashboard.search_results.html[0] - - # Publish in studio to trigger indexing. - self._auto_auth(self.STAFF_USERNAME, self.STAFF_EMAIL, True) - self._studio_publish_content(self.studio_course_outlines['A']) - self._studio_publish_content(self.studio_course_outlines['B']) - self._studio_publish_content(self.studio_course_outlines['C']) - - # Do the search again, this time we expect results from courses A & B, but not C - self._auto_auth(self.USERNAME, self.EMAIL, False) - self.dashboard.visit() - - self.dashboard.search_for_term(search_string) - assert self.dashboard.search_results.html[0].count(search_string) == 2 - assert self.dashboard.search_results.html[0].count(self.courses['A']['display_name']) == 1 - assert self.dashboard.search_results.html[0].count(self.courses['B']['display_name']) == 1