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
9ce46a3f
Commit
9ce46a3f
authored
May 03, 2017
by
Andy Armstrong
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Improve course experience tests
parent
75a0fdf0
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
22 additions
and
9 deletions
+22
-9
lms/djangoapps/courseware/tests/test_tabs.py
+3
-4
openedx/features/course_experience/templates/course_experience/course-home-fragment.html
+1
-3
openedx/features/course_experience/tests/views/test_course_home.py
+15
-1
openedx/features/course_experience/views/course_home.py
+3
-1
No files found.
lms/djangoapps/courseware/tests/test_tabs.py
View file @
9ce46a3f
...
@@ -2,7 +2,7 @@
...
@@ -2,7 +2,7 @@
Test cases for tabs.
Test cases for tabs.
"""
"""
import
waffle
from
waffle.testutils
import
override_flag
from
django.core.urlresolvers
import
reverse
from
django.core.urlresolvers
import
reverse
from
django.http
import
Http404
from
django.http
import
Http404
...
@@ -781,10 +781,9 @@ class CourseInfoTabTestCase(TabTestCase):
...
@@ -781,10 +781,9 @@ class CourseInfoTabTestCase(TabTestCase):
tabs
=
get_course_tab_list
(
self
.
request
,
self
.
course
)
tabs
=
get_course_tab_list
(
self
.
request
,
self
.
course
)
self
.
assertEqual
(
tabs
[
0
]
.
type
,
'course_info'
)
self
.
assertEqual
(
tabs
[
0
]
.
type
,
'course_info'
)
@
patch
(
'waffle.flag_is_active'
)
@
override_flag
(
UNIFIED_COURSE_EXPERIENCE_FLAG
,
active
=
True
)
def
test_default_tab_for_new_course_experience
(
self
,
patched_flag_is_active
):
def
test_default_tab_for_new_course_experience
(
self
):
# Verify that the unified course experience hides the course info tab
# Verify that the unified course experience hides the course info tab
patched_flag_is_active
.
return_value
=
True
tabs
=
get_course_tab_list
(
self
.
request
,
self
.
course
)
tabs
=
get_course_tab_list
(
self
.
request
,
self
.
course
)
self
.
assertEqual
(
tabs
[
0
]
.
type
,
'courseware'
)
self
.
assertEqual
(
tabs
[
0
]
.
type
,
'courseware'
)
...
...
openedx/features/course_experience/templates/course_experience/course-home-fragment.html
View file @
9ce46a3f
...
@@ -23,9 +23,7 @@ from openedx.features.course_experience import UNIFIED_COURSE_EXPERIENCE_FLAG
...
@@ -23,9 +23,7 @@ from openedx.features.course_experience import UNIFIED_COURSE_EXPERIENCE_FLAG
<header
class=
"page-header has-secondary"
>
<header
class=
"page-header has-secondary"
>
<div
class=
"page-header-main"
>
<div
class=
"page-header-main"
>
<nav
aria-label=
"${_('Course Outline')}"
class=
"sr-is-focusable"
tabindex=
"-1"
>
<nav
aria-label=
"${_('Course Outline')}"
class=
"sr-is-focusable"
tabindex=
"-1"
>
<h2
class=
"hd hd-3 page-title"
>
<h2
class=
"hd hd-3 page-title"
>
${course.display_name_with_default}
</h2>
${_("{course_name}").format(org=course.display_org_with_default, course_name=course.display_name_with_default)}
</h2>
</nav>
</nav>
</div>
</div>
<div
class=
"page-header-secondary"
>
<div
class=
"page-header-secondary"
>
...
...
openedx/features/course_experience/tests/views/test_course_home.py
View file @
9ce46a3f
"""
"""
Tests for the course home page.
Tests for the course home page.
"""
"""
from
waffle.testutils
import
override_flag
from
django.core.urlresolvers
import
reverse
from
django.core.urlresolvers
import
reverse
from
openedx.core.djangoapps.content.block_structure.api
import
get_course_in_cache
from
openedx.core.djangoapps.content.block_structure.api
import
get_course_in_cache
...
@@ -10,6 +13,8 @@ from xmodule.modulestore import ModuleStoreEnum
...
@@ -10,6 +13,8 @@ from xmodule.modulestore import ModuleStoreEnum
from
xmodule.modulestore.tests.django_utils
import
SharedModuleStoreTestCase
from
xmodule.modulestore.tests.django_utils
import
SharedModuleStoreTestCase
from
xmodule.modulestore.tests.factories
import
CourseFactory
,
ItemFactory
,
check_mongo_calls
from
xmodule.modulestore.tests.factories
import
CourseFactory
,
ItemFactory
,
check_mongo_calls
from
openedx.features.course_experience
import
UNIFIED_COURSE_EXPERIENCE_FLAG
TEST_PASSWORD
=
'test'
TEST_PASSWORD
=
'test'
...
@@ -36,7 +41,7 @@ class TestCourseHomePage(SharedModuleStoreTestCase):
...
@@ -36,7 +41,7 @@ class TestCourseHomePage(SharedModuleStoreTestCase):
# pylint: disable=super-method-not-called
# pylint: disable=super-method-not-called
with
super
(
TestCourseHomePage
,
cls
)
.
setUpClassAndTestData
():
with
super
(
TestCourseHomePage
,
cls
)
.
setUpClassAndTestData
():
with
cls
.
store
.
default_store
(
ModuleStoreEnum
.
Type
.
split
):
with
cls
.
store
.
default_store
(
ModuleStoreEnum
.
Type
.
split
):
cls
.
course
=
CourseFactory
.
create
()
cls
.
course
=
CourseFactory
.
create
(
org
=
'edX'
,
number
=
'test'
,
display_name
=
'Test Course'
)
with
cls
.
store
.
bulk_operations
(
cls
.
course
.
id
):
with
cls
.
store
.
bulk_operations
(
cls
.
course
.
id
):
chapter
=
ItemFactory
.
create
(
category
=
'chapter'
,
parent_location
=
cls
.
course
.
location
)
chapter
=
ItemFactory
.
create
(
category
=
'chapter'
,
parent_location
=
cls
.
course
.
location
)
section
=
ItemFactory
.
create
(
category
=
'sequential'
,
parent_location
=
chapter
.
location
)
section
=
ItemFactory
.
create
(
category
=
'sequential'
,
parent_location
=
chapter
.
location
)
...
@@ -57,6 +62,15 @@ class TestCourseHomePage(SharedModuleStoreTestCase):
...
@@ -57,6 +62,15 @@ class TestCourseHomePage(SharedModuleStoreTestCase):
super
(
TestCourseHomePage
,
self
)
.
setUp
()
super
(
TestCourseHomePage
,
self
)
.
setUp
()
self
.
client
.
login
(
username
=
self
.
user
.
username
,
password
=
TEST_PASSWORD
)
self
.
client
.
login
(
username
=
self
.
user
.
username
,
password
=
TEST_PASSWORD
)
@override_flag
(
UNIFIED_COURSE_EXPERIENCE_FLAG
,
active
=
True
)
def
test_unified_page
(
self
):
"""
Verify the rendering of the unified page.
"""
url
=
course_home_url
(
self
.
course
)
response
=
self
.
client
.
get
(
url
)
self
.
assertContains
(
response
,
'<h2 class="hd hd-3 page-title">Test Course</h2>'
)
def
test_queries
(
self
):
def
test_queries
(
self
):
"""
"""
Verify that the view's query count doesn't regress.
Verify that the view's query count doesn't regress.
...
...
openedx/features/course_experience/views/course_home.py
View file @
9ce46a3f
...
@@ -96,14 +96,16 @@ class CourseHomeFragmentView(EdxFragmentView):
...
@@ -96,14 +96,16 @@ class CourseHomeFragmentView(EdxFragmentView):
# Render the course dates as a fragment
# Render the course dates as a fragment
dates_fragment
=
CourseDatesFragmentView
()
.
render_to_fragment
(
request
,
course_id
=
course_id
,
**
kwargs
)
dates_fragment
=
CourseDatesFragmentView
()
.
render_to_fragment
(
request
,
course_id
=
course_id
,
**
kwargs
)
# Get the handouts
# TODO: Use get_course_overview_with_access and blocks api
# TODO: Use get_course_overview_with_access and blocks api
course
=
get_course_with_access
(
request
.
user
,
'load'
,
course_key
,
check_if_enrolled
=
True
)
course
=
get_course_with_access
(
request
.
user
,
'load'
,
course_key
,
check_if_enrolled
=
True
)
# Get the handouts
handouts_html
=
get_course_info_section
(
request
,
request
.
user
,
course
,
'handouts'
)
handouts_html
=
get_course_info_section
(
request
,
request
.
user
,
course
,
'handouts'
)
# Render the course home fragment
# Render the course home fragment
context
=
{
context
=
{
'csrf'
:
csrf
(
request
)[
'csrf_token'
],
'csrf'
:
csrf
(
request
)[
'csrf_token'
],
'course'
:
course
,
'course_key'
:
course_key
,
'course_key'
:
course_key
,
'course'
:
course
,
'course'
:
course
,
'outline_fragment'
:
outline_fragment
,
'outline_fragment'
:
outline_fragment
,
...
...
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