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
7ab76e60
Commit
7ab76e60
authored
Mar 20, 2017
by
Diana Huang
Committed by
Andy Armstrong
Mar 22, 2017
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add new bookmarks page a11y test.
parent
51f4ac43
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
85 additions
and
67 deletions
+85
-67
common/test/acceptance/tests/lms/test_bookmarks.py
+85
-67
No files found.
common/test/acceptance/tests/lms/test_bookmarks.py
View file @
7ab76e60
...
...
@@ -25,6 +25,40 @@ class BookmarksTestMixin(EventsTestMixin, UniqueCourseTest):
USERNAME
=
"STUDENT"
EMAIL
=
"student@example.com"
def
setUp
(
self
):
super
(
BookmarksTestMixin
,
self
)
.
setUp
()
self
.
studio_course_outline_page
=
StudioCourseOutlinePage
(
self
.
browser
,
self
.
course_info
[
'org'
],
self
.
course_info
[
'number'
],
self
.
course_info
[
'run'
]
)
self
.
courseware_page
=
CoursewarePage
(
self
.
browser
,
self
.
course_id
)
self
.
course_home_page
=
CourseHomePage
(
self
.
browser
,
self
.
course_id
)
self
.
bookmarks_page
=
BookmarksPage
(
self
.
browser
,
self
.
course_id
)
# Get session to be used for bookmarking units
self
.
session
=
requests
.
Session
()
params
=
{
'username'
:
self
.
USERNAME
,
'email'
:
self
.
EMAIL
,
'course_id'
:
self
.
course_id
}
response
=
self
.
session
.
get
(
BASE_URL
+
"/auto_auth"
,
params
=
params
)
self
.
assertTrue
(
response
.
ok
,
"Failed to get session"
)
def
setup_test
(
self
,
num_chapters
=
2
):
"""
Setup test settings.
Arguments:
num_chapters: number of chapters to create in course
"""
self
.
create_course_fixture
(
num_chapters
)
# Auto-auth register for the course.
LmsAutoAuthPage
(
self
.
browser
,
username
=
self
.
USERNAME
,
email
=
self
.
EMAIL
,
course_id
=
self
.
course_id
)
.
visit
()
self
.
courseware_page
.
visit
()
def
create_course_fixture
(
self
,
num_chapters
):
"""
Create course fixture
...
...
@@ -59,50 +93,6 @@ class BookmarksTestMixin(EventsTestMixin, UniqueCourseTest):
actual_events
=
self
.
wait_for_events
(
event_filter
=
{
'event_type'
:
event_type
},
number_of_matches
=
1
)
self
.
assert_events_match
(
event_data
,
actual_events
)
@attr
(
shard
=
8
)
class
BookmarksTest
(
BookmarksTestMixin
):
"""
Tests to verify bookmarks functionality.
"""
def
setUp
(
self
):
"""
Initialize test setup.
"""
super
(
BookmarksTest
,
self
)
.
setUp
()
self
.
studio_course_outline_page
=
StudioCourseOutlinePage
(
self
.
browser
,
self
.
course_info
[
'org'
],
self
.
course_info
[
'number'
],
self
.
course_info
[
'run'
]
)
self
.
courseware_page
=
CoursewarePage
(
self
.
browser
,
self
.
course_id
)
self
.
course_home_page
=
CourseHomePage
(
self
.
browser
,
self
.
course_id
)
self
.
bookmarks_page
=
BookmarksPage
(
self
.
browser
,
self
.
course_id
)
# Get session to be used for bookmarking units
self
.
session
=
requests
.
Session
()
params
=
{
'username'
:
self
.
USERNAME
,
'email'
:
self
.
EMAIL
,
'course_id'
:
self
.
course_id
}
response
=
self
.
session
.
get
(
BASE_URL
+
"/auto_auth"
,
params
=
params
)
self
.
assertTrue
(
response
.
ok
,
"Failed to get session"
)
def
_test_setup
(
self
,
num_chapters
=
2
):
"""
Setup test settings.
Arguments:
num_chapters: number of chapters to create in course
"""
self
.
create_course_fixture
(
num_chapters
)
# Auto-auth register for the course.
LmsAutoAuthPage
(
self
.
browser
,
username
=
self
.
USERNAME
,
email
=
self
.
EMAIL
,
course_id
=
self
.
course_id
)
.
visit
()
self
.
courseware_page
.
visit
()
def
_bookmark_unit
(
self
,
location
):
"""
Bookmark a unit
...
...
@@ -124,7 +114,7 @@ class BookmarksTest(BookmarksTestMixin):
)
self
.
assertTrue
(
response
.
ok
,
"Failed to bookmark unit"
)
def
_
bookmark_units
(
self
,
num_units
):
def
bookmark_units
(
self
,
num_units
):
"""
Bookmark first `num_units` units
...
...
@@ -135,6 +125,19 @@ class BookmarksTest(BookmarksTestMixin):
for
index
in
range
(
num_units
):
self
.
_bookmark_unit
(
xblocks
[
index
]
.
locator
)
@attr
(
shard
=
8
)
class
BookmarksTest
(
BookmarksTestMixin
):
"""
Tests to verify bookmarks functionality.
"""
def
setUp
(
self
):
"""
Initialize test setup.
"""
super
(
BookmarksTest
,
self
)
.
setUp
()
def
_breadcrumb
(
self
,
num_units
,
modified_name
=
None
):
"""
Creates breadcrumbs for the first `num_units`
...
...
@@ -264,7 +267,7 @@ class BookmarksTest(BookmarksTestMixin):
Then I click again on the bookmark button
And I should see a unit un-bookmarked
"""
self
.
_test_setup
()
self
.
setup_test
()
for
index
in
range
(
2
):
self
.
course_home_page
.
visit
()
self
.
course_home_page
.
outline
.
go_to_section
(
'TestSection{}'
.
format
(
index
),
'TestSubsection{}'
.
format
(
index
))
...
...
@@ -285,7 +288,7 @@ class BookmarksTest(BookmarksTestMixin):
Then I should see an empty bookmarks list
And empty bookmarks list content is correct
"""
self
.
_test_setup
()
self
.
setup_test
()
self
.
courseware_page
.
click_bookmarks_button
()
empty_list_text
=
(
"Use bookmarks to help you easily return to courseware pages. "
...
...
@@ -305,8 +308,8 @@ class BookmarksTest(BookmarksTestMixin):
When I click on bookmarked link
Then I can navigate to correct bookmarked unit
"""
self
.
_test_setup
()
self
.
_
bookmark_units
(
2
)
self
.
setup_test
()
self
.
bookmark_units
(
2
)
self
.
_navigate_to_bookmarks_list
()
self
.
_verify_breadcrumbs
(
num_units
=
2
)
...
...
@@ -347,8 +350,8 @@ class BookmarksTest(BookmarksTestMixin):
Then I can see the breadcrumb trail
with updated display_name.
"""
self
.
_test_setup
(
num_chapters
=
1
)
self
.
_
bookmark_units
(
num_units
=
1
)
self
.
setup_test
(
num_chapters
=
1
)
self
.
bookmark_units
(
num_units
=
1
)
self
.
_navigate_to_bookmarks_list
()
self
.
_verify_breadcrumbs
(
num_units
=
1
)
...
...
@@ -385,8 +388,8 @@ class BookmarksTest(BookmarksTestMixin):
When I click on deleted bookmark
Then I should navigated to 404 page
"""
self
.
_test_setup
(
num_chapters
=
1
)
self
.
_
bookmark_units
(
1
)
self
.
setup_test
(
num_chapters
=
1
)
self
.
bookmark_units
(
1
)
self
.
_delete_section
(
0
)
self
.
_navigate_to_bookmarks_list
()
...
...
@@ -414,8 +417,8 @@ class BookmarksTest(BookmarksTestMixin):
And I should see a bookmarked list
And bookmark list contains 10 bookmarked items
"""
self
.
_test_setup
(
11
)
self
.
_
bookmark_units
(
11
)
self
.
setup_test
(
11
)
self
.
bookmark_units
(
11
)
self
.
_navigate_to_bookmarks_list
()
self
.
_verify_pagination_info
(
...
...
@@ -438,8 +441,8 @@ class BookmarksTest(BookmarksTestMixin):
And I should see paging header and footer with correct data
And previous and next buttons are disabled
"""
self
.
_test_setup
(
num_chapters
=
2
)
self
.
_
bookmark_units
(
num_units
=
2
)
self
.
setup_test
(
num_chapters
=
2
)
self
.
bookmark_units
(
num_units
=
2
)
self
.
courseware_page
.
click_bookmarks_button
()
self
.
assertTrue
(
self
.
bookmarks_page
.
results_present
())
...
...
@@ -469,8 +472,8 @@ class BookmarksTest(BookmarksTestMixin):
And I should see a bookmarked list with 2 items
And I should see paging header and footer with correct info
"""
self
.
_test_setup
(
num_chapters
=
12
)
self
.
_
bookmark_units
(
num_units
=
12
)
self
.
setup_test
(
num_chapters
=
12
)
self
.
bookmark_units
(
num_units
=
12
)
self
.
courseware_page
.
click_bookmarks_button
()
self
.
assertTrue
(
self
.
bookmarks_page
.
results_present
())
...
...
@@ -512,8 +515,8 @@ class BookmarksTest(BookmarksTestMixin):
And I should be navigated to first page
And I should see paging header and footer with correct info
"""
self
.
_test_setup
(
num_chapters
=
12
)
self
.
_
bookmark_units
(
num_units
=
12
)
self
.
setup_test
(
num_chapters
=
12
)
self
.
bookmark_units
(
num_units
=
12
)
self
.
courseware_page
.
click_bookmarks_button
()
self
.
assertTrue
(
self
.
bookmarks_page
.
results_present
())
...
...
@@ -552,8 +555,8 @@ class BookmarksTest(BookmarksTestMixin):
Then I enter 2 in the page number input
And I should be navigated to page 2
"""
self
.
_test_setup
(
num_chapters
=
11
)
self
.
_
bookmark_units
(
num_units
=
11
)
self
.
setup_test
(
num_chapters
=
11
)
self
.
bookmark_units
(
num_units
=
11
)
self
.
courseware_page
.
click_bookmarks_button
()
self
.
assertTrue
(
self
.
bookmarks_page
.
results_present
())
...
...
@@ -582,8 +585,8 @@ class BookmarksTest(BookmarksTestMixin):
Then I enter 3 in the page number input
And I should stay at page 1
"""
self
.
_test_setup
(
num_chapters
=
11
)
self
.
_
bookmark_units
(
num_units
=
11
)
self
.
setup_test
(
num_chapters
=
11
)
self
.
bookmark_units
(
num_units
=
11
)
self
.
courseware_page
.
click_bookmarks_button
()
self
.
assertTrue
(
self
.
bookmarks_page
.
results_present
())
...
...
@@ -609,7 +612,7 @@ class BookmarksTest(BookmarksTestMixin):
When I click on bookmarked unit
Then `edx.course.bookmark.accessed` event is emitted
"""
self
.
_test_setup
(
num_chapters
=
1
)
self
.
setup_test
(
num_chapters
=
1
)
self
.
reset_event_tracking
()
# create expected event data
...
...
@@ -623,7 +626,7 @@ class BookmarksTest(BookmarksTestMixin):
}
}
]
self
.
_
bookmark_units
(
num_units
=
1
)
self
.
bookmark_units
(
num_units
=
1
)
self
.
courseware_page
.
click_bookmarks_button
()
self
.
_verify_pagination_info
(
...
...
@@ -637,3 +640,18 @@ class BookmarksTest(BookmarksTestMixin):
self
.
bookmarks_page
.
click_bookmarked_block
(
0
)
self
.
verify_event_data
(
'edx.bookmark.accessed'
,
event_data
)
@attr
(
'a11y'
)
class
BookmarksA11yTests
(
BookmarksTestMixin
):
"""
Tests for checking the a11y of the bookmarks page.
"""
def
test_view_a11y
(
self
):
"""
Verify the basic accessibility of the bookmarks page while paginated.
"""
self
.
setup_test
(
num_chapters
=
11
)
self
.
bookmark_units
(
num_units
=
11
)
self
.
courseware_page
.
click_bookmarks_button
()
self
.
bookmarks_page
.
a11y_audit
.
check_for_accessibility_errors
()
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