Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
E
edx-platform
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
edx
edx-platform
Commits
d9562077
Commit
d9562077
authored
Mar 31, 2017
by
Robert Raposa
Committed by
GitHub
Mar 31, 2017
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #14792 from edx/robrap/LEARNER-346
LEARNER-346: Refactor tests for new course outline.
parents
d445c235
6362d225
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
138 additions
and
60 deletions
+138
-60
common/test/acceptance/pages/lms/course_home.py
+43
-10
common/test/acceptance/pages/lms/courseware.py
+2
-0
common/test/acceptance/pages/lms/staff_view.py
+36
-5
common/test/acceptance/tests/lms/test_lms.py
+21
-13
common/test/acceptance/tests/lms/test_lms_cohorted_courseware_search.py
+2
-2
common/test/acceptance/tests/lms/test_lms_courseware.py
+2
-2
common/test/acceptance/tests/lms/test_lms_gating.py
+22
-18
common/test/acceptance/tests/lms/test_lms_user_preview.py
+2
-2
common/test/acceptance/tests/studio/test_import_export.py
+2
-2
common/test/acceptance/tests/studio/test_studio_container.py
+3
-3
common/test/acceptance/tests/studio/test_studio_outline.py
+3
-3
No files found.
common/test/acceptance/pages/lms/course_home.py
View file @
d9562077
...
@@ -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.
...
...
common/test/acceptance/pages/lms/courseware.py
View file @
d9562077
...
@@ -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'
...
...
common/test/acceptance/pages/lms/staff_view.py
View file @
d9562077
"""
"""
Staff view
of courseware
Staff view
s 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
StaffP
age
(
CoursewarePage
):
class
StaffP
reviewPage
(
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
...
...
common/test/acceptance/tests/lms/test_lms.py
View file @
d9562077
...
@@ -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
.
course
war
e_page
.
visit
()
self
.
course
_hom
e_page
.
visit
()
self
.
assertEqual
(
3
,
len
(
self
.
course
ware_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
.
course
war
e_page
.
visit
()
self
.
course
_hom
e_page
.
visit
()
self
.
assertEqual
(
2
,
len
(
self
.
course
ware_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
.
course
war
e_page
.
visit
()
self
.
course
_hom
e_page
.
visit
()
self
.
course
ware_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'
)
...
...
common/test/acceptance/tests/lms/test_lms_cohorted_courseware_search.py
View file @
d9562077
...
@@ -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
Staff
Courseware
Page
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
=
Staff
Courseware
Page
(
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
...
...
common/test/acceptance/tests/lms/test_lms_courseware.py
View file @
d9562077
...
@@ -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
Staff
Courseware
Page
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
=
Staff
Courseware
Page
(
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
)
...
...
common/test/acceptance/tests/lms/test_lms_gating.py
View file @
d9562077
...
@@ -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
.
course
war
e_page
.
visit
()
self
.
course
_hom
e_page
.
visit
()
self
.
assertEqual
(
self
.
course
ware_pag
e
.
num_subsections
,
1
)
self
.
assertEqual
(
self
.
course
_home_page
.
outlin
e
.
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
.
course
ware_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
())
s
taff_page
.
set_staff_view_mode_specific_student
(
self
.
STUDENT_USERNAME
)
s
elf
.
course_home_page
.
visit
(
)
self
.
course_home_page
.
preview
.
set_staff_view_mode_specific_student
(
self
.
STUDENT_USERNAME
)
self
.
assertEqual
(
self
.
course
ware_pag
e
.
num_subsections
,
2
)
self
.
assertEqual
(
self
.
course
_home_page
.
outlin
e
.
num_subsections
,
2
)
self
.
course
ware_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
())
common/test/acceptance/tests/lms/test_lms_user_preview.py
View file @
d9562077
...
@@ -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
Staff
Courseware
Page
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
=
Staff
Courseware
Page
(
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
...
...
common/test/acceptance/tests/studio/test_import_export.py
View file @
d9562077
...
@@ -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
Staff
Courseware
Page
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'
)
Staff
Courseware
Page
(
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
]
...
...
common/test/acceptance/tests/studio/test_studio_container.py
View file @
d9562077
...
@@ -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
Staff
Courseware
Page
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 Staff
Courseware
Page.
"""
"""
page
=
StaffPage
(
self
.
browser
,
self
.
course_id
)
page
=
Staff
Courseware
Page
(
self
.
browser
,
self
.
course_id
)
page
.
wait_for_page
()
page
.
wait_for_page
()
return
page
return
page
...
...
common/test/acceptance/tests/studio/test_studio_outline.py
View file @
d9562077
...
@@ -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
Staff
Courseware
Page
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'
)
Staff
Courseware
Page
(
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'
)
Staff
Courseware
Page
(
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
):
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment