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
6362d225
Commit
6362d225
authored
Mar 29, 2017
by
Robert Raposa
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Refactor tests for new course outline.
parent
be6a4570
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 @
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.
...
...
common/test/acceptance/pages/lms/courseware.py
View file @
6362d225
...
@@ -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 @
6362d225
"""
"""
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 @
6362d225
...
@@ -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 @
6362d225
...
@@ -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 @
6362d225
...
@@ -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 @
6362d225
...
@@ -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 @
6362d225
...
@@ -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 @
6362d225
...
@@ -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 @
6362d225
...
@@ -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 @
6362d225
...
@@ -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