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
2dc78100
Commit
2dc78100
authored
Jul 27, 2015
by
Clinton Blackburn
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #9071 from edx/clintonb/mode-names
Corrected CourseMode Display Name
parents
b5e6607b
56e9625a
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
56 additions
and
1 deletions
+56
-1
lms/djangoapps/commerce/api/v1/models.py
+18
-1
lms/djangoapps/commerce/api/v1/tests/test_models.py
+33
-0
lms/djangoapps/commerce/api/v1/tests/test_views.py
+5
-0
No files found.
lms/djangoapps/commerce/api/v1/models.py
View file @
2dc78100
...
...
@@ -22,12 +22,29 @@ class Course(object):
self
.
modes
=
list
(
modes
)
self
.
_deleted_modes
=
[]
def
get_mode_display_name
(
self
,
mode
):
""" Returns display name for the given mode. """
slug
=
mode
.
mode_slug
.
strip
()
.
lower
()
if
slug
==
'credit'
:
return
'Credit'
if
'professional'
in
slug
:
return
'Professional Education'
elif
slug
==
'verified'
:
return
'Verified Certificate'
elif
slug
==
'honor'
:
return
'Honor Certificate'
elif
slug
==
'audit'
:
return
'Audit'
return
mode
.
mode_slug
@transaction.commit_on_success
def
save
(
self
,
*
args
,
**
kwargs
):
# pylint: disable=unused-argument
""" Save the CourseMode objects to the database. """
for
mode
in
self
.
modes
:
mode
.
course_id
=
self
.
id
mode
.
mode_display_name
=
mode
.
mode_slug
mode
.
mode_display_name
=
self
.
get_mode_display_name
(
mode
)
mode
.
save
()
deleted_mode_ids
=
[
mode
.
id
for
mode
in
self
.
_deleted_modes
]
...
...
lms/djangoapps/commerce/api/v1/tests/test_models.py
0 → 100644
View file @
2dc78100
""" Tests for models. """
import
ddt
from
django.test
import
TestCase
from
commerce.api.v1.models
import
Course
from
course_modes.models
import
CourseMode
@ddt.ddt
class
CourseTests
(
TestCase
):
""" Tests for Course model. """
def
setUp
(
self
):
super
(
CourseTests
,
self
)
.
setUp
()
self
.
course
=
Course
(
'a/b/c'
,
[])
@ddt.unpack
@ddt.data
(
(
'credit'
,
'Credit'
),
(
'professional'
,
'Professional Education'
),
(
'no-id-professional'
,
'Professional Education'
),
(
'verified'
,
'Verified Certificate'
),
(
'honor'
,
'Honor Certificate'
),
(
'audit'
,
'Audit'
),
)
def
test_get_mode_display_name
(
self
,
slug
,
expected_display_name
):
""" Verify the method properly maps mode slugs to display names. """
mode
=
CourseMode
(
mode_slug
=
slug
)
self
.
assertEqual
(
self
.
course
.
get_mode_display_name
(
mode
),
expected_display_name
)
def
test_get_mode_display_name_unknown_slug
(
self
):
""" Verify the method returns the slug if it has no known mapping. """
mode
=
CourseMode
(
mode_slug
=
'Blah!'
)
self
.
assertEqual
(
self
.
course
.
get_mode_display_name
(
mode
),
mode
.
mode_slug
)
lms/djangoapps/commerce/api/v1/tests/test_views.py
View file @
2dc78100
...
...
@@ -163,6 +163,11 @@ class CourseRetrieveUpdateViewTests(CourseApiViewTestMixin, ModuleStoreTestCase)
actual
=
json
.
loads
(
response
.
content
)
self
.
assertEqual
(
actual
,
expected
)
# Verify the display names are correct
course_modes
=
CourseMode
.
objects
.
filter
(
course_id
=
course
.
id
)
actual
=
[
course_mode
.
mode_display_name
for
course_mode
in
course_modes
]
self
.
assertListEqual
(
actual
,
[
'Verified Certificate'
,
'Honor Certificate'
])
def
test_create_with_permissions
(
self
):
""" Verify the view supports creating a course as a user with the appropriate permissions. """
permissions
=
Permission
.
objects
.
filter
(
name__in
=
(
'Can add course mode'
,
'Can change course mode'
))
...
...
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