Commit d9562077 by Robert Raposa Committed by GitHub

Merge pull request #14792 from edx/robrap/LEARNER-346

LEARNER-346: Refactor tests for new course outline.
parents d445c235 6362d225
...@@ -4,9 +4,10 @@ LMS Course Home page object ...@@ -4,9 +4,10 @@ LMS Course Home page object
from bok_choy.page_object import PageObject from bok_choy.page_object import PageObject
from common.test.acceptance.pages.lms.bookmarks import BookmarksPage from .bookmarks import BookmarksPage
from common.test.acceptance.pages.lms.course_page import CoursePage from .course_page import CoursePage
from common.test.acceptance.pages.lms.courseware import CoursewarePage from .courseware import CoursewarePage
from .staff_view import StaffPreviewPage
class CourseHomePage(CoursePage): class CourseHomePage(CoursePage):
...@@ -25,6 +26,7 @@ class CourseHomePage(CoursePage): ...@@ -25,6 +26,7 @@ class CourseHomePage(CoursePage):
super(CourseHomePage, self).__init__(browser, course_id) super(CourseHomePage, self).__init__(browser, course_id)
self.course_id = course_id self.course_id = course_id
self.outline = CourseOutlinePage(browser, self) self.outline = CourseOutlinePage(browser, self)
self.preview = StaffPreviewPage(browser, self)
# TODO: TNL-6546: Remove the following # TODO: TNL-6546: Remove the following
self.unified_course_view = False self.unified_course_view = False
...@@ -94,6 +96,31 @@ class CourseOutlinePage(PageObject): ...@@ -94,6 +96,31 @@ class CourseOutlinePage(PageObject):
return outline_dict return outline_dict
@property
def num_sections(self):
"""
Return the number of sections
"""
return len(self.q(css=self.SECTION_TITLES_SELECTOR))
@property
def num_subsections(self, section_title=None):
"""
Return the number of subsections.
Arguments:
section_title: The section for which to return the number of
subsections. If None, default to the first section.
"""
if section_title:
section_index = self._section_title_to_index(section_title)
if not section_index:
return
else:
section_index = 1
return len(self.q(css=self.SUBSECTION_TITLES_SELECTOR.format(section_index)))
def go_to_section(self, section_title, subsection_title): def go_to_section(self, section_title, subsection_title):
""" """
Go to the section in the courseware. Go to the section in the courseware.
...@@ -103,15 +130,10 @@ class CourseOutlinePage(PageObject): ...@@ -103,15 +130,10 @@ class CourseOutlinePage(PageObject):
Example: Example:
go_to_section("Week 1", "Lesson 1") go_to_section("Week 1", "Lesson 1")
""" """
section_index = self._section_title_to_index(section_title)
# Get the section by index if section_index is None:
try:
section_index = self._section_titles().index(section_title)
except ValueError:
self.warning("Could not find section '{0}'".format(section_title))
return return
# Get the subsection by index
try: try:
subsection_index = self._subsection_titles(section_index + 1).index(subsection_title) subsection_index = self._subsection_titles(section_index + 1).index(subsection_title)
except ValueError: except ValueError:
...@@ -127,6 +149,17 @@ class CourseOutlinePage(PageObject): ...@@ -127,6 +149,17 @@ class CourseOutlinePage(PageObject):
self._wait_for_course_section(section_title, subsection_title) self._wait_for_course_section(section_title, subsection_title)
def _section_title_to_index(self, section_title):
"""
Get the section title index given the section title.
"""
try:
section_index = self._section_titles().index(section_title)
except ValueError:
self.warning("Could not find section '{0}'".format(section_title))
return section_index
def resume_course_from_outline(self): def resume_course_from_outline(self):
""" """
Navigate to courseware using Resume Course button in the header. Navigate to courseware using Resume Course button in the header.
......
...@@ -18,6 +18,8 @@ class CoursewarePage(CoursePage): ...@@ -18,6 +18,8 @@ class CoursewarePage(CoursePage):
url_path = "courseware/" url_path = "courseware/"
xblock_component_selector = '.vert .xblock' xblock_component_selector = '.vert .xblock'
# TODO: TNL-6546: Remove sidebar selectors
section_selector = '.chapter' section_selector = '.chapter'
subsection_selector = '.chapter-content-container a' subsection_selector = '.chapter-content-container a'
......
""" """
Staff view of courseware Staff views of various tabs (e.g. courseware, course home)
""" """
from bok_choy.page_object import PageObject from bok_choy.page_object import PageObject
from common.test.acceptance.pages.lms.courseware import CoursewarePage from common.test.acceptance.pages.lms.courseware import CoursewarePage
class StaffPage(CoursewarePage): class StaffPreviewPage(PageObject):
""" """
View of courseware pages while logged in as course staff Handles Staff Preview for any course tab that provides that functionality.
""" """
url = None url = None
PREVIEW_MENU_CSS = '.preview-menu' PREVIEW_MENU_CSS = '.preview-menu'
VIEW_MODE_OPTIONS_CSS = '.preview-menu .action-preview-select option' VIEW_MODE_OPTIONS_CSS = '.preview-menu .action-preview-select option'
def __init__(self, browser, parent_page=None):
"""
Initialize the staff preview page.
This page can either be used as a subclass, or a child of a parent page.
Arguments:
browser: The selenium browser.
parent_page: None if this is being used as a subclass. Otherwise,
the parent_page the contains this staff preview page fragment.
"""
super(StaffPreviewPage, self).__init__(browser)
self.parent_page = parent_page
def is_browser_on_page(self): def is_browser_on_page(self):
if not super(StaffPage, self).is_browser_on_page(): if self.parent_page and not self.parent_page.is_browser_on_page:
return False return False
return self.q(css=self.PREVIEW_MENU_CSS).present return self.q(css=self.PREVIEW_MENU_CSS).present
...@@ -46,6 +60,23 @@ class StaffPage(CoursewarePage): ...@@ -46,6 +60,23 @@ class StaffPage(CoursewarePage):
) )
self.wait_for_ajax() self.wait_for_ajax()
class StaffCoursewarePage(CoursewarePage, StaffPreviewPage):
"""
View of courseware pages while logged in as course staff
"""
url = None
def __init__(self, browser, course_id):
CoursewarePage.__init__(self, browser, course_id)
StaffPreviewPage.__init__(self, browser)
def is_browser_on_page(self):
if not CoursewarePage.is_browser_on_page(self):
return False
return StaffPreviewPage.is_browser_on_page(self)
def open_staff_debug_info(self): def open_staff_debug_info(self):
""" """
Open the staff debug window Open the staff debug window
......
...@@ -957,6 +957,7 @@ class VisibleToStaffOnlyTest(UniqueCourseTest): ...@@ -957,6 +957,7 @@ class VisibleToStaffOnlyTest(UniqueCourseTest):
) )
).install() ).install()
self.course_home_page = CourseHomePage(self.browser, self.course_id)
self.courseware_page = CoursewarePage(self.browser, self.course_id) self.courseware_page = CoursewarePage(self.browser, self.course_id)
def test_visible_to_staff(self): def test_visible_to_staff(self):
...@@ -969,16 +970,21 @@ class VisibleToStaffOnlyTest(UniqueCourseTest): ...@@ -969,16 +970,21 @@ class VisibleToStaffOnlyTest(UniqueCourseTest):
AutoAuthPage(self.browser, username="STAFF_TESTER", email="johndoe_staff@example.com", AutoAuthPage(self.browser, username="STAFF_TESTER", email="johndoe_staff@example.com",
course_id=self.course_id, staff=True).visit() course_id=self.course_id, staff=True).visit()
self.courseware_page.visit() self.course_home_page.visit()
self.assertEqual(3, len(self.courseware_page.nav.sections['Test Section'])) self.assertEqual(3, len(self.course_home_page.outline.sections['Test Section']))
self.courseware_page.nav.go_to_section("Test Section", "Subsection With Locked Unit") self.course_home_page.outline.go_to_section("Test Section", "Subsection With Locked Unit")
self.courseware_page.wait_for_page()
self.assertEqual([u'Locked Unit', u'Unlocked Unit'], self.courseware_page.nav.sequence_items) self.assertEqual([u'Locked Unit', u'Unlocked Unit'], self.courseware_page.nav.sequence_items)
self.courseware_page.nav.go_to_section("Test Section", "Unlocked Subsection") self.course_home_page.visit()
self.course_home_page.outline.go_to_section("Test Section", "Unlocked Subsection")
self.courseware_page.wait_for_page()
self.assertEqual([u'Test Unit'], self.courseware_page.nav.sequence_items) self.assertEqual([u'Test Unit'], self.courseware_page.nav.sequence_items)
self.courseware_page.nav.go_to_section("Test Section", "Locked Subsection") self.course_home_page.visit()
self.course_home_page.outline.go_to_section("Test Section", "Locked Subsection")
self.courseware_page.wait_for_page()
self.assertEqual([u'Test Unit'], self.courseware_page.nav.sequence_items) self.assertEqual([u'Test Unit'], self.courseware_page.nav.sequence_items)
def test_visible_to_student(self): def test_visible_to_student(self):
...@@ -991,13 +997,16 @@ class VisibleToStaffOnlyTest(UniqueCourseTest): ...@@ -991,13 +997,16 @@ class VisibleToStaffOnlyTest(UniqueCourseTest):
AutoAuthPage(self.browser, username="STUDENT_TESTER", email="johndoe_student@example.com", AutoAuthPage(self.browser, username="STUDENT_TESTER", email="johndoe_student@example.com",
course_id=self.course_id, staff=False).visit() course_id=self.course_id, staff=False).visit()
self.courseware_page.visit() self.course_home_page.visit()
self.assertEqual(2, len(self.courseware_page.nav.sections['Test Section'])) self.assertEqual(2, len(self.course_home_page.outline.sections['Test Section']))
self.courseware_page.nav.go_to_section("Test Section", "Subsection With Locked Unit") self.course_home_page.outline.go_to_section("Test Section", "Subsection With Locked Unit")
self.courseware_page.wait_for_page()
self.assertEqual([u'Unlocked Unit'], self.courseware_page.nav.sequence_items) self.assertEqual([u'Unlocked Unit'], self.courseware_page.nav.sequence_items)
self.courseware_page.nav.go_to_section("Test Section", "Unlocked Subsection") self.course_home_page.visit()
self.course_home_page.outline.go_to_section("Test Section", "Unlocked Subsection")
self.courseware_page.wait_for_page()
self.assertEqual([u'Test Unit'], self.courseware_page.nav.sequence_items) self.assertEqual([u'Test Unit'], self.courseware_page.nav.sequence_items)
...@@ -1142,8 +1151,7 @@ class ProblemExecutionTest(UniqueCourseTest): ...@@ -1142,8 +1151,7 @@ class ProblemExecutionTest(UniqueCourseTest):
""" """
super(ProblemExecutionTest, self).setUp() super(ProblemExecutionTest, self).setUp()
self.course_info_page = CourseInfoPage(self.browser, self.course_id) self.course_home_page = CourseHomePage(self.browser, self.course_id)
self.courseware_page = CoursewarePage(self.browser, self.course_id)
self.tab_nav = TabNavPage(self.browser) self.tab_nav = TabNavPage(self.browser)
# Install a course with sections and problems. # Install a course with sections and problems.
...@@ -1188,8 +1196,8 @@ class ProblemExecutionTest(UniqueCourseTest): ...@@ -1188,8 +1196,8 @@ class ProblemExecutionTest(UniqueCourseTest):
def test_python_execution_in_problem(self): def test_python_execution_in_problem(self):
# Navigate to the problem page # Navigate to the problem page
self.courseware_page.visit() self.course_home_page.visit()
self.courseware_page.nav.go_to_section('Test Section', 'Test Subsection') self.course_home_page.outline.go_to_section('Test Section', 'Test Subsection')
problem_page = ProblemPage(self.browser) problem_page = ProblemPage(self.browser)
self.assertEqual(problem_page.problem_name.upper(), 'PYTHON PROBLEM') self.assertEqual(problem_page.problem_name.upper(), 'PYTHON PROBLEM')
......
...@@ -9,7 +9,7 @@ from common.test.acceptance.tests.helpers import remove_file ...@@ -9,7 +9,7 @@ from common.test.acceptance.tests.helpers import remove_file
from common.test.acceptance.pages.common.logout import LogoutPage from common.test.acceptance.pages.common.logout import LogoutPage
from common.test.acceptance.pages.studio.overview import CourseOutlinePage as StudioCourseOutlinePage from common.test.acceptance.pages.studio.overview import CourseOutlinePage as StudioCourseOutlinePage
from common.test.acceptance.pages.lms.courseware_search import CoursewareSearchPage from common.test.acceptance.pages.lms.courseware_search import CoursewareSearchPage
from common.test.acceptance.pages.lms.staff_view import StaffPage from common.test.acceptance.pages.lms.staff_view import StaffCoursewarePage
from common.test.acceptance.fixtures.course import XBlockFixtureDesc from common.test.acceptance.fixtures.course import XBlockFixtureDesc
from nose.plugins.attrib import attr from nose.plugins.attrib import attr
...@@ -110,7 +110,7 @@ class CoursewareSearchCohortTest(ContainerBase): ...@@ -110,7 +110,7 @@ class CoursewareSearchCohortTest(ContainerBase):
Open staff page with assertion Open staff page with assertion
""" """
self.courseware_search_page.visit() self.courseware_search_page.visit()
staff_page = StaffPage(self.browser, self.course_id) staff_page = StaffCoursewarePage(self.browser, self.course_id)
self.assertEqual(staff_page.staff_view_mode, 'Staff') self.assertEqual(staff_page.staff_view_mode, 'Staff')
return staff_page return staff_page
......
...@@ -20,7 +20,7 @@ from ...pages.lms.dashboard import DashboardPage ...@@ -20,7 +20,7 @@ from ...pages.lms.dashboard import DashboardPage
from ...pages.lms.pay_and_verify import PaymentAndVerificationFlow, FakePaymentPage, FakeSoftwareSecureVerificationPage from ...pages.lms.pay_and_verify import PaymentAndVerificationFlow, FakePaymentPage, FakeSoftwareSecureVerificationPage
from ...pages.lms.problem import ProblemPage from ...pages.lms.problem import ProblemPage
from ...pages.lms.progress import ProgressPage from ...pages.lms.progress import ProgressPage
from ...pages.lms.staff_view import StaffPage from ...pages.lms.staff_view import StaffCoursewarePage
from ...pages.lms.track_selection import TrackSelectionPage from ...pages.lms.track_selection import TrackSelectionPage
from ...pages.studio.auto_auth import AutoAuthPage from ...pages.studio.auto_auth import AutoAuthPage
from ...pages.studio.overview import CourseOutlinePage as StudioCourseOutlinePage from ...pages.studio.overview import CourseOutlinePage as StudioCourseOutlinePage
...@@ -333,7 +333,7 @@ class ProctoredExamTest(UniqueCourseTest): ...@@ -333,7 +333,7 @@ class ProctoredExamTest(UniqueCourseTest):
LogoutPage(self.browser).visit() LogoutPage(self.browser).visit()
auto_auth(self.browser, "STAFF_TESTER", "staff101@example.com", True, self.course_id) auto_auth(self.browser, "STAFF_TESTER", "staff101@example.com", True, self.course_id)
self.courseware_page.visit() self.courseware_page.visit()
staff_page = StaffPage(self.browser, self.course_id) staff_page = StaffCoursewarePage(self.browser, self.course_id)
self.assertEqual(staff_page.staff_view_mode, 'Staff') self.assertEqual(staff_page.staff_view_mode, 'Staff')
staff_page.set_staff_view_mode_specific_student(self.USERNAME) staff_page.set_staff_view_mode_specific_student(self.USERNAME)
......
...@@ -7,9 +7,9 @@ from textwrap import dedent ...@@ -7,9 +7,9 @@ from textwrap import dedent
from common.test.acceptance.tests.helpers import UniqueCourseTest from common.test.acceptance.tests.helpers import UniqueCourseTest
from common.test.acceptance.pages.studio.auto_auth import AutoAuthPage from common.test.acceptance.pages.studio.auto_auth import AutoAuthPage
from common.test.acceptance.pages.studio.overview import CourseOutlinePage as StudioCourseOutlinePage from common.test.acceptance.pages.studio.overview import CourseOutlinePage as StudioCourseOutlinePage
from common.test.acceptance.pages.lms.course_home import CourseHomePage
from common.test.acceptance.pages.lms.courseware import CoursewarePage from common.test.acceptance.pages.lms.courseware import CoursewarePage
from common.test.acceptance.pages.lms.problem import ProblemPage from common.test.acceptance.pages.lms.problem import ProblemPage
from common.test.acceptance.pages.lms.staff_view import StaffPage
from common.test.acceptance.pages.common.logout import LogoutPage from common.test.acceptance.pages.common.logout import LogoutPage
from common.test.acceptance.fixtures.course import CourseFixture, XBlockFixtureDesc from common.test.acceptance.fixtures.course import CourseFixture, XBlockFixtureDesc
...@@ -28,6 +28,7 @@ class GatingTest(UniqueCourseTest): ...@@ -28,6 +28,7 @@ class GatingTest(UniqueCourseTest):
super(GatingTest, self).setUp() super(GatingTest, self).setUp()
self.logout_page = LogoutPage(self.browser) self.logout_page = LogoutPage(self.browser)
self.course_home_page = CourseHomePage(self.browser, self.course_id)
self.courseware_page = CoursewarePage(self.browser, self.course_id) self.courseware_page = CoursewarePage(self.browser, self.course_id)
self.studio_course_outline = StudioCourseOutlinePage( self.studio_course_outline = StudioCourseOutlinePage(
self.browser, self.browser,
...@@ -158,13 +159,14 @@ class GatingTest(UniqueCourseTest): ...@@ -158,13 +159,14 @@ class GatingTest(UniqueCourseTest):
self._auto_auth(self.STUDENT_USERNAME, self.STUDENT_EMAIL, False) self._auto_auth(self.STUDENT_USERNAME, self.STUDENT_EMAIL, False)
self.courseware_page.visit() self.course_home_page.visit()
self.assertEqual(self.courseware_page.num_subsections, 1) self.assertEqual(self.course_home_page.outline.num_subsections, 1)
# Fulfill prerequisite and verify that gated subsection is shown # Fulfill prerequisite and verify that gated subsection is shown
self._fulfill_prerequisite()
self.courseware_page.visit() self.courseware_page.visit()
self.assertEqual(self.courseware_page.num_subsections, 2) self._fulfill_prerequisite()
self.course_home_page.visit()
self.assertEqual(self.course_home_page.outline.num_subsections, 2)
def test_gated_subsection_in_lms_for_staff(self): def test_gated_subsection_in_lms_for_staff(self):
""" """
...@@ -187,27 +189,29 @@ class GatingTest(UniqueCourseTest): ...@@ -187,27 +189,29 @@ class GatingTest(UniqueCourseTest):
self._auto_auth(self.STAFF_USERNAME, self.STAFF_EMAIL, True) self._auto_auth(self.STAFF_USERNAME, self.STAFF_EMAIL, True)
self.courseware_page.visit() self.course_home_page.visit()
staff_page = StaffPage(self.browser, self.course_id) self.assertEqual(self.course_home_page.preview.staff_view_mode, 'Staff')
self.assertEqual(staff_page.staff_view_mode, 'Staff') self.assertEqual(self.course_home_page.outline.num_subsections, 2)
self.assertEqual(self.courseware_page.num_subsections, 2)
# Click on gated section and check for banner # Click on gated section and check for banner
self.courseware_page.q(css='.chapter-content-container a').nth(1).click() self.course_home_page.outline.go_to_section('Test Section 1', 'Test Subsection 2')
self.courseware_page.wait_for_page() self.courseware_page.wait_for_page()
self.assertTrue(self.courseware_page.has_banner()) self.assertTrue(self.courseware_page.has_banner())
self.courseware_page.q(css='.chapter-content-container a').nth(0).click() self.course_home_page.visit()
self.course_home_page.outline.go_to_section('Test Section 1', 'Test Subsection 1')
self.courseware_page.wait_for_page() self.courseware_page.wait_for_page()
staff_page.set_staff_view_mode('Student') self.course_home_page.visit()
self.course_home_page.preview.set_staff_view_mode('Student')
self.assertEqual(self.courseware_page.num_subsections, 1) self.assertEqual(self.course_home_page.outline.num_subsections, 1)
self.course_home_page.outline.go_to_section('Test Section 1', 'Test Subsection 1')
self.courseware_page.wait_for_page()
self.assertFalse(self.courseware_page.has_banner()) self.assertFalse(self.courseware_page.has_banner())
staff_page.set_staff_view_mode_specific_student(self.STUDENT_USERNAME) self.course_home_page.visit()
self.course_home_page.preview.set_staff_view_mode_specific_student(self.STUDENT_USERNAME)
self.assertEqual(self.courseware_page.num_subsections, 2) self.assertEqual(self.course_home_page.outline.num_subsections, 2)
self.courseware_page.q(css='.chapter-content-container a').nth(1).click() self.course_home_page.outline.go_to_section('Test Section 1', 'Test Subsection 2')
self.courseware_page.wait_for_page() self.courseware_page.wait_for_page()
self.assertFalse(self.courseware_page.has_banner()) self.assertFalse(self.courseware_page.has_banner())
...@@ -10,7 +10,7 @@ from common.test.acceptance.tests.helpers import UniqueCourseTest, create_user_p ...@@ -10,7 +10,7 @@ from common.test.acceptance.tests.helpers import UniqueCourseTest, create_user_p
from common.test.acceptance.pages.studio.auto_auth import AutoAuthPage from common.test.acceptance.pages.studio.auto_auth import AutoAuthPage
from common.test.acceptance.pages.lms.courseware import CoursewarePage from common.test.acceptance.pages.lms.courseware import CoursewarePage
from common.test.acceptance.pages.lms.instructor_dashboard import InstructorDashboardPage from common.test.acceptance.pages.lms.instructor_dashboard import InstructorDashboardPage
from common.test.acceptance.pages.lms.staff_view import StaffPage from common.test.acceptance.pages.lms.staff_view import StaffCoursewarePage
from common.test.acceptance.fixtures.course import CourseFixture, XBlockFixtureDesc from common.test.acceptance.fixtures.course import CourseFixture, XBlockFixtureDesc
from bok_choy.promise import EmptyPromise from bok_choy.promise import EmptyPromise
from xmodule.partitions.partitions import Group from xmodule.partitions.partitions import Group
...@@ -50,7 +50,7 @@ class StaffViewTest(UniqueCourseTest): ...@@ -50,7 +50,7 @@ class StaffViewTest(UniqueCourseTest):
Open staff page with assertion Open staff page with assertion
""" """
self.courseware_page.visit() self.courseware_page.visit()
staff_page = StaffPage(self.browser, self.course_id) staff_page = StaffCoursewarePage(self.browser, self.course_id)
self.assertEqual(staff_page.staff_view_mode, 'Staff') self.assertEqual(staff_page.staff_view_mode, 'Staff')
return staff_page return staff_page
......
...@@ -15,7 +15,7 @@ from common.test.acceptance.pages.studio.import_export import ( ...@@ -15,7 +15,7 @@ from common.test.acceptance.pages.studio.import_export import (
from common.test.acceptance.pages.studio.library import LibraryEditPage from common.test.acceptance.pages.studio.library import LibraryEditPage
from common.test.acceptance.pages.studio.overview import CourseOutlinePage from common.test.acceptance.pages.studio.overview import CourseOutlinePage
from common.test.acceptance.pages.lms.courseware import CoursewarePage from common.test.acceptance.pages.lms.courseware import CoursewarePage
from common.test.acceptance.pages.lms.staff_view import StaffPage from common.test.acceptance.pages.lms.staff_view import StaffCoursewarePage
class ExportTestMixin(object): class ExportTestMixin(object):
...@@ -302,7 +302,7 @@ class TestEntranceExamCourseImport(ImportTestMixin, StudioCourseTest): ...@@ -302,7 +302,7 @@ class TestEntranceExamCourseImport(ImportTestMixin, StudioCourseTest):
self.landing_page.view_live() self.landing_page.view_live()
courseware = CoursewarePage(self.browser, self.course_id) courseware = CoursewarePage(self.browser, self.course_id)
courseware.wait_for_page() courseware.wait_for_page()
StaffPage(self.browser, self.course_id).set_staff_view_mode('Student') StaffCoursewarePage(self.browser, self.course_id).set_staff_view_mode('Student')
self.assertEqual(courseware.num_sections, 1) self.assertEqual(courseware.num_sections, 1)
self.assertIn( self.assertIn(
"To access course materials, you must score", courseware.entrance_exam_message_selector.text[0] "To access course materials, you must score", courseware.entrance_exam_message_selector.text[0]
......
...@@ -13,7 +13,7 @@ from common.test.acceptance.pages.studio.html_component_editor import HtmlCompon ...@@ -13,7 +13,7 @@ from common.test.acceptance.pages.studio.html_component_editor import HtmlCompon
from common.test.acceptance.pages.studio.move_xblock import MoveModalView from common.test.acceptance.pages.studio.move_xblock import MoveModalView
from common.test.acceptance.pages.studio.utils import add_discussion, drag from common.test.acceptance.pages.studio.utils import add_discussion, drag
from common.test.acceptance.pages.lms.courseware import CoursewarePage from common.test.acceptance.pages.lms.courseware import CoursewarePage
from common.test.acceptance.pages.lms.staff_view import StaffPage from common.test.acceptance.pages.lms.staff_view import StaffCoursewarePage
from common.test.acceptance.tests.helpers import create_user_partition_json from common.test.acceptance.tests.helpers import create_user_partition_json
import datetime import datetime
...@@ -972,9 +972,9 @@ class UnitPublishingTest(ContainerBase): ...@@ -972,9 +972,9 @@ class UnitPublishingTest(ContainerBase):
def _verify_and_return_staff_page(self): def _verify_and_return_staff_page(self):
""" """
Verifies that the browser is on the staff page and returns a StaffPage. Verifies that the browser is on the staff page and returns a StaffCoursewarePage.
""" """
page = StaffPage(self.browser, self.course_id) page = StaffCoursewarePage(self.browser, self.course_id)
page.wait_for_page() page.wait_for_page()
return page return page
......
...@@ -14,7 +14,7 @@ from common.test.acceptance.pages.studio.overview import CourseOutlinePage, Cont ...@@ -14,7 +14,7 @@ from common.test.acceptance.pages.studio.overview import CourseOutlinePage, Cont
from common.test.acceptance.pages.studio.utils import add_discussion, drag, verify_ordering from common.test.acceptance.pages.studio.utils import add_discussion, drag, verify_ordering
from common.test.acceptance.pages.lms.course_home import CourseHomePage from common.test.acceptance.pages.lms.course_home import CourseHomePage
from common.test.acceptance.pages.lms.courseware import CoursewarePage from common.test.acceptance.pages.lms.courseware import CoursewarePage
from common.test.acceptance.pages.lms.staff_view import StaffPage from common.test.acceptance.pages.lms.staff_view import StaffCoursewarePage
from common.test.acceptance.fixtures.config import ConfigModelFixture from common.test.acceptance.fixtures.config import ConfigModelFixture
from common.test.acceptance.fixtures.course import XBlockFixtureDesc from common.test.acceptance.fixtures.course import XBlockFixtureDesc
...@@ -741,7 +741,7 @@ class StaffLockTest(CourseOutlineTest): ...@@ -741,7 +741,7 @@ class StaffLockTest(CourseOutlineTest):
courseware = CoursewarePage(self.browser, self.course_id) courseware = CoursewarePage(self.browser, self.course_id)
courseware.wait_for_page() courseware.wait_for_page()
self.assertEqual(courseware.num_sections, 2) self.assertEqual(courseware.num_sections, 2)
StaffPage(self.browser, self.course_id).set_staff_view_mode('Student') StaffCoursewarePage(self.browser, self.course_id).set_staff_view_mode('Student')
self.assertEqual(courseware.num_sections, 1) self.assertEqual(courseware.num_sections, 1)
def test_locked_subsections_do_not_appear_in_lms(self): def test_locked_subsections_do_not_appear_in_lms(self):
...@@ -760,7 +760,7 @@ class StaffLockTest(CourseOutlineTest): ...@@ -760,7 +760,7 @@ class StaffLockTest(CourseOutlineTest):
courseware = CoursewarePage(self.browser, self.course_id) courseware = CoursewarePage(self.browser, self.course_id)
courseware.wait_for_page() courseware.wait_for_page()
self.assertEqual(courseware.num_subsections, 2) self.assertEqual(courseware.num_subsections, 2)
StaffPage(self.browser, self.course_id).set_staff_view_mode('Student') StaffCoursewarePage(self.browser, self.course_id).set_staff_view_mode('Student')
self.assertEqual(courseware.num_subsections, 1) self.assertEqual(courseware.num_subsections, 1)
def test_toggling_staff_lock_on_section_does_not_publish_draft_units(self): def test_toggling_staff_lock_on_section_does_not_publish_draft_units(self):
......
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