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
0de4f601
Commit
0de4f601
authored
Sep 29, 2014
by
Matt Drayer
Committed by
Jonathan Piacenti
Aug 20, 2015
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
mattdrayer/rebase-20140916: Initial test fixes
parent
6454290f
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
69 additions
and
43 deletions
+69
-43
lms/djangoapps/api_manager/courses/tests.py
+3
-3
lms/djangoapps/api_manager/courseware_access.py
+3
-2
lms/djangoapps/api_manager/users/tests.py
+46
-25
lms/djangoapps/api_manager/users/views.py
+14
-12
lms/djangoapps/courseware/module_render.py
+1
-1
lms/envs/test.py
+2
-0
No files found.
lms/djangoapps/api_manager/courses/tests.py
View file @
0de4f601
...
...
@@ -1743,7 +1743,7 @@ class CoursesApiTests(TestCase):
response
=
self
.
do_get
(
test_uri
)
self
.
assertEqual
(
response
.
status_code
,
200
)
self
.
assertEqual
(
len
(
response
.
data
[
'leaders'
]),
4
)
self
.
assertEqual
(
response
.
data
[
'course_avg'
],
20
)
self
.
assertEqual
(
response
.
data
[
'course_avg'
],
14
)
# without count filter and user_id
test_uri
=
'{}/{}/metrics/completions/leaders/?user_id={}'
.
format
(
self
.
base_courses_uri
,
self
.
test_course_id
,
...
...
@@ -1752,7 +1752,7 @@ class CoursesApiTests(TestCase):
self
.
assertEqual
(
response
.
status_code
,
200
)
self
.
assertEqual
(
len
(
response
.
data
[
'leaders'
]),
3
)
self
.
assertEqual
(
response
.
data
[
'position'
],
2
)
self
.
assertEqual
(
response
.
data
[
'completions'
],
28
)
self
.
assertEqual
(
response
.
data
[
'completions'
],
19
)
# with skipleaders filter
test_uri
=
'{}/{}/metrics/completions/leaders/?user_id={}&skipleaders=true'
.
format
(
self
.
base_courses_uri
,
...
...
@@ -1762,7 +1762,7 @@ class CoursesApiTests(TestCase):
self
.
assertEqual
(
response
.
status_code
,
200
)
self
.
assertIsNone
(
response
.
data
.
get
(
'leaders'
,
None
))
self
.
assertIsNone
(
response
.
data
.
get
(
'position'
,
None
))
self
.
assertEqual
(
response
.
data
[
'completions'
],
28
)
self
.
assertEqual
(
response
.
data
[
'completions'
],
19
)
# test with bogus course
test_uri
=
'{}/{}/metrics/completions/leaders/'
.
format
(
self
.
base_courses_uri
,
self
.
test_bogus_course_id
)
...
...
lms/djangoapps/api_manager/courseware_access.py
View file @
0de4f601
...
...
@@ -69,8 +69,9 @@ def get_course_leaf_nodes(course_key, detached_categories):
nodes
=
[]
verticals
=
get_modulestore
()
.
get_items
(
course_key
,
category
=
'vertical'
)
for
vertical
in
verticals
:
nodes
.
extend
([
unit
for
unit
in
vertical
.
children
if
getattr
(
unit
,
'category'
)
not
in
detached_categories
])
if
hasattr
(
vertical
,
'children'
):
nodes
.
extend
([
unit
for
unit
in
vertical
.
children
if
getattr
(
unit
,
'category'
)
not
in
detached_categories
])
return
nodes
...
...
lms/djangoapps/api_manager/users/tests.py
View file @
0de4f601
...
...
@@ -90,7 +90,9 @@ class UsersApiTests(ModuleStoreTestCase):
self
.
course
=
CourseFactory
.
create
(
display_name
=
"TEST COURSE"
,
start
=
datetime
(
2014
,
6
,
16
,
14
,
30
),
end
=
datetime
(
2015
,
1
,
16
,
14
,
30
)
end
=
datetime
(
2015
,
1
,
16
,
14
,
30
),
org
=
'USERTEST'
,
run
=
'USERTEST1'
)
self
.
course_content
=
ItemFactory
.
create
(
category
=
"videosequence"
,
...
...
@@ -99,7 +101,7 @@ class UsersApiTests(ModuleStoreTestCase):
due
=
datetime
(
2016
,
5
,
16
,
14
,
30
),
display_name
=
"View_Sequence"
)
self
.
course2
=
CourseFactory
.
create
(
display_name
=
"TEST COURSE2"
,
org
=
'TESTORG2'
)
self
.
course2
=
CourseFactory
.
create
(
display_name
=
"TEST COURSE2"
,
org
=
'TESTORG2'
,
run
=
'USERTEST2'
)
self
.
course2_content
=
ItemFactory
.
create
(
category
=
"videosequence"
,
parent_location
=
self
.
course2
.
location
,
...
...
@@ -734,7 +736,7 @@ class UsersApiTests(ModuleStoreTestCase):
self
.
assertTrue
(
response
.
data
[
'is_active'
])
def
test_user_courses_list_post_undefined_user
(
self
):
course
=
CourseFactory
.
create
()
course
=
CourseFactory
.
create
(
org
=
'TUCLPUU'
,
run
=
'TUCLPUU1'
)
test_uri
=
self
.
users_base_uri
user_id
=
'234234'
test_uri
=
'{}/{}/courses'
.
format
(
test_uri
,
str
(
user_id
))
...
...
@@ -771,7 +773,7 @@ class UsersApiTests(ModuleStoreTestCase):
self
.
assertEqual
(
response
.
status_code
,
201
)
confirm_uri
=
self
.
test_server_prefix
+
test_uri
+
'/'
+
unicode
(
self
.
course
.
id
)
course_with_out_date_values
=
CourseFactory
.
create
()
course_with_out_date_values
=
CourseFactory
.
create
(
org
=
'TUCLG'
,
run
=
'TUCLG1'
)
data
=
{
'course_id'
:
unicode
(
course_with_out_date_values
.
id
)}
response
=
self
.
do_post
(
test_uri
,
data
)
self
.
assertEqual
(
response
.
status_code
,
201
)
...
...
@@ -794,7 +796,7 @@ class UsersApiTests(ModuleStoreTestCase):
self
.
assertEqual
(
response
.
status_code
,
404
)
def
test_user_courses_detail_post_position_course_as_descriptor
(
self
):
course
=
CourseFactory
.
create
()
course
=
CourseFactory
.
create
(
org
=
'TUCDPPCAD'
,
run
=
'TUCDPPCAD1'
)
test_data
=
'<html>{}</html>'
.
format
(
str
(
uuid
.
uuid4
()))
chapter1
=
ItemFactory
.
create
(
category
=
"chapter"
,
...
...
@@ -889,7 +891,7 @@ class UsersApiTests(ModuleStoreTestCase):
self
.
assertEqual
(
response
.
status_code
,
404
)
def
test_user_courses_detail_post_position_invalid_user
(
self
):
course
=
CourseFactory
.
create
()
course
=
CourseFactory
.
create
(
org
=
'TUCDPPIU'
,
run
=
'TUCDPPIU1'
)
test_data
=
'<html>{}</html>'
.
format
(
str
(
uuid
.
uuid4
()))
chapter1
=
ItemFactory
.
create
(
category
=
"chapter"
,
...
...
@@ -913,7 +915,7 @@ class UsersApiTests(ModuleStoreTestCase):
self
.
assertEqual
(
response
.
status_code
,
404
)
def
test_user_courses_detail_post_position_course_as_content
(
self
):
course
=
CourseFactory
.
create
()
course
=
CourseFactory
.
create
(
org
=
'TUCDPPCAS'
,
run
=
'TUCDPPCAS1'
)
test_data
=
'<html>{}</html>'
.
format
(
str
(
uuid
.
uuid4
()))
chapter1
=
ItemFactory
.
create
(
category
=
"chapter"
,
...
...
@@ -962,7 +964,13 @@ class UsersApiTests(ModuleStoreTestCase):
self
.
assertEqual
(
response
.
status_code
,
400
)
def
test_user_courses_detail_get
(
self
):
course
=
CourseFactory
.
create
()
course
=
CourseFactory
.
create
(
display_name
=
"UserCoursesDetailTestCourse"
,
start
=
datetime
(
2014
,
6
,
16
,
14
,
30
),
end
=
datetime
(
2015
,
1
,
16
,
14
,
30
),
org
=
'TUCDG'
,
run
=
'TUCDG1'
)
test_data
=
'<html>{}</html>'
.
format
(
str
(
uuid
.
uuid4
()))
chapter1
=
ItemFactory
.
create
(
category
=
"chapter"
,
...
...
@@ -987,6 +995,8 @@ class UsersApiTests(ModuleStoreTestCase):
self
.
assertEqual
(
response
.
data
[
'uri'
],
confirm_uri
)
self
.
assertEqual
(
response
.
data
[
'course_id'
],
unicode
(
course
.
id
))
self
.
assertEqual
(
response
.
data
[
'user_id'
],
user_id
)
# Now add the user's position in the course
position_data
=
{
'positions'
:
[
{
...
...
@@ -1013,7 +1023,7 @@ class UsersApiTests(ModuleStoreTestCase):
self
.
assertEqual
(
response
.
status_code
,
404
)
def
test_user_courses_detail_get_undefined_enrollment
(
self
):
course
=
CourseFactory
.
create
()
course
=
CourseFactory
.
create
(
org
=
'TUCDGUE'
,
run
=
'TUCDGUE1'
)
test_uri
=
self
.
users_base_uri
local_username
=
self
.
test_username
+
str
(
randint
(
11
,
99
))
data
=
{
'email'
:
self
.
test_email
,
'username'
:
local_username
,
'password'
:
...
...
@@ -1025,7 +1035,7 @@ class UsersApiTests(ModuleStoreTestCase):
self
.
assertEqual
(
response
.
status_code
,
404
)
def
test_user_courses_detail_delete
(
self
):
course
=
CourseFactory
.
create
()
course
=
CourseFactory
.
create
(
org
=
'TUCDD'
,
run
=
'TUCDD1'
)
test_uri
=
self
.
users_base_uri
local_username
=
self
.
test_username
+
str
(
randint
(
11
,
99
))
data
=
{
'email'
:
self
.
test_email
,
'username'
:
local_username
,
'password'
:
...
...
@@ -1054,7 +1064,7 @@ class UsersApiTests(ModuleStoreTestCase):
self
.
assertEqual
(
response
.
status_code
,
404
)
def
test_user_courses_detail_delete_undefined_user
(
self
):
course
=
CourseFactory
.
create
()
course
=
CourseFactory
.
create
(
org
=
'TUCDDUU'
,
run
=
'TUCDDUU1'
)
user_id
=
'2134234'
test_uri
=
'{}/{}/courses/{}'
.
format
(
self
.
users_base_uri
,
user_id
,
course
.
id
)
response
=
self
.
do_delete
(
test_uri
)
...
...
@@ -1071,7 +1081,7 @@ class UsersApiTests(ModuleStoreTestCase):
self
.
assertEqual
(
response
.
status_code
,
404
)
def
test_user_course_grades_user_not_found
(
self
):
course
=
CourseFactory
.
create
()
course
=
CourseFactory
.
create
(
org
=
'TUCGUNF'
,
run
=
'TUCGUNF1'
)
test_uri
=
'{}/99999999/courses/{}/grades'
.
format
(
self
.
users_base_uri
,
course
.
id
)
response
=
self
.
do_get
(
test_uri
)
self
.
assertEqual
(
response
.
status_code
,
404
)
...
...
@@ -1088,8 +1098,9 @@ class UsersApiTests(ModuleStoreTestCase):
test_uri
=
'{}/{}/preferences'
.
format
(
self
.
users_base_uri
,
user_id
)
response
=
self
.
do_get
(
test_uri
)
self
.
assertEqual
(
response
.
status_code
,
200
)
self
.
assertEqual
(
len
(
response
.
data
),
1
)
self
.
assertEqual
(
len
(
response
.
data
),
2
)
self
.
assertEqual
(
response
.
data
[
'pref-lang'
],
'en'
)
self
.
assertIsNotNone
(
response
.
data
[
'notification_pref'
])
def
test_user_preferences_list_post_user_not_found
(
self
):
test_uri
=
'{}/{}/preferences'
.
format
(
self
.
users_base_uri
,
'999999'
)
...
...
@@ -1118,7 +1129,8 @@ class UsersApiTests(ModuleStoreTestCase):
self
.
assertEqual
(
response
.
status_code
,
201
)
response
=
self
.
do_get
(
test_uri
)
self
.
assertEqual
(
response
.
status_code
,
200
)
self
.
assertEqual
(
len
(
response
.
data
),
2
)
self
.
assertEqual
(
len
(
response
.
data
),
3
)
self
.
assertIsNotNone
(
response
.
data
[
'notification_pref'
])
self
.
assertEqual
(
response
.
data
[
'pref-lang'
],
'en'
)
self
.
assertEqual
(
response
.
data
[
'foo'
],
'bar'
)
...
...
@@ -1131,7 +1143,8 @@ class UsersApiTests(ModuleStoreTestCase):
self
.
assertEqual
(
response
.
status_code
,
200
)
response
=
self
.
do_get
(
test_uri
)
self
.
assertEqual
(
response
.
status_code
,
200
)
self
.
assertEqual
(
len
(
response
.
data
),
2
)
self
.
assertEqual
(
len
(
response
.
data
),
3
)
self
.
assertIsNotNone
(
response
.
data
[
'notification_pref'
])
self
.
assertEqual
(
response
.
data
[
'pref-lang'
],
'en'
)
self
.
assertEqual
(
response
.
data
[
'foo'
],
'updated'
)
...
...
@@ -1171,7 +1184,7 @@ class UsersApiTests(ModuleStoreTestCase):
def
test_user_courses_grades_list_get
(
self
):
user_id
=
self
.
user
.
id
course
=
CourseFactory
.
create
()
course
=
CourseFactory
.
create
(
org
=
'TUCGLG'
,
run
=
'TUCGLG1'
)
test_data
=
'<html>{}</html>'
.
format
(
str
(
uuid
.
uuid4
()))
chapter1
=
ItemFactory
.
create
(
category
=
"chapter"
,
...
...
@@ -1337,8 +1350,6 @@ class UsersApiTests(ModuleStoreTestCase):
due
=
datetime
(
2015
,
1
,
16
,
14
,
30
)
.
replace
(
tzinfo
=
timezone
.
utc
)
)
test_uri
=
'{}/{}/courses/{}/grades'
.
format
(
self
.
users_base_uri
,
user_id
,
unicode
(
course
.
id
))
response
=
self
.
do_get
(
test_uri
)
...
...
@@ -1355,7 +1366,7 @@ class UsersApiTests(ModuleStoreTestCase):
self
.
assertEqual
(
sections
[
0
][
'graded'
],
False
)
sections
=
courseware_summary
[
1
][
'sections'
]
self
.
assertEqual
(
len
(
sections
),
8
)
self
.
assertEqual
(
len
(
sections
),
12
)
self
.
assertEqual
(
sections
[
0
][
'display_name'
],
'Sequence 2'
)
self
.
assertEqual
(
sections
[
0
][
'graded'
],
False
)
...
...
@@ -1365,7 +1376,7 @@ class UsersApiTests(ModuleStoreTestCase):
self
.
assertGreater
(
len
(
grading_policy
[
'GRADER'
]),
0
)
self
.
assertIsNotNone
(
grading_policy
[
'GRADE_CUTOFFS'
])
self
.
assertEqual
(
response
.
data
[
'current_grade'
],
0.7
)
self
.
assertEqual
(
response
.
data
[
'current_grade'
],
0.7
3
)
self
.
assertEqual
(
response
.
data
[
'proforma_grade'
],
0.9375
)
def
is_user_profile_created_updated
(
self
,
response
,
data
):
...
...
@@ -1578,13 +1589,17 @@ class UsersApiTests(ModuleStoreTestCase):
course2
=
CourseFactory
.
create
(
display_name
=
"TEST COURSE2"
,
start
=
datetime
(
2014
,
6
,
16
,
14
,
30
),
end
=
datetime
(
2015
,
1
,
16
,
14
,
30
)
end
=
datetime
(
2015
,
1
,
16
,
14
,
30
),
org
=
'TURLG'
,
run
=
'TURLG1'
)
allow_access
(
course2
,
self
.
user
,
'instructor'
)
course3
=
CourseFactory
.
create
(
display_name
=
"TEST COURSE3"
,
start
=
datetime
(
2014
,
6
,
16
,
14
,
30
),
end
=
datetime
(
2015
,
1
,
16
,
14
,
30
)
end
=
datetime
(
2015
,
1
,
16
,
14
,
30
),
org
=
'TURLG2'
,
run
=
'TURLG2'
)
allow_access
(
course3
,
self
.
user
,
'staff'
)
test_uri
=
'{}/{}/roles/'
.
format
(
self
.
users_base_uri
,
self
.
user
.
id
)
...
...
@@ -1663,7 +1678,9 @@ class UsersApiTests(ModuleStoreTestCase):
course2
=
CourseFactory
.
create
(
display_name
=
"TEST COURSE2"
,
start
=
datetime
(
2014
,
6
,
16
,
14
,
30
),
end
=
datetime
(
2015
,
1
,
16
,
14
,
30
)
end
=
datetime
(
2015
,
1
,
16
,
14
,
30
),
org
=
'TURLP2'
,
run
=
'TURLP2'
)
Role
.
objects
.
get_or_create
(
name
=
FORUM_ROLE_MODERATOR
,
...
...
@@ -1672,7 +1689,9 @@ class UsersApiTests(ModuleStoreTestCase):
course3
=
CourseFactory
.
create
(
display_name
=
"TEST COURSE3"
,
start
=
datetime
(
2014
,
6
,
16
,
14
,
30
),
end
=
datetime
(
2015
,
1
,
16
,
14
,
30
)
end
=
datetime
(
2015
,
1
,
16
,
14
,
30
),
org
=
'TURLP3'
,
run
=
'TURLP3'
)
Role
.
objects
.
get_or_create
(
name
=
FORUM_ROLE_MODERATOR
,
...
...
@@ -1681,7 +1700,9 @@ class UsersApiTests(ModuleStoreTestCase):
course4
=
CourseFactory
.
create
(
display_name
=
"COURSE4 NO MODERATOR"
,
start
=
datetime
(
2014
,
6
,
16
,
14
,
30
),
end
=
datetime
(
2015
,
1
,
16
,
14
,
30
)
end
=
datetime
(
2015
,
1
,
16
,
14
,
30
),
org
=
'TURLP4'
,
run
=
'TURLP4'
)
test_uri
=
'{}/{}/roles/'
.
format
(
self
.
users_base_uri
,
self
.
user
.
id
)
...
...
lms/djangoapps/api_manager/users/views.py
View file @
0de4f601
...
...
@@ -23,7 +23,10 @@ from instructor.access import revoke_access, update_forum_role
from
lang_pref
import
LANGUAGE_KEY
from
lms.lib.comment_client.user
import
User
as
CommentUser
from
lms.lib.comment_client.utils
import
CommentClientRequestError
from
opaque_keys.edx.locations
import
SlashSeparatedCourseKey
from
notification_prefs.views
import
enable_notifications
from
opaque_keys
import
InvalidKeyError
from
opaque_keys.edx.keys
import
UsageKey
,
CourseKey
from
opaque_keys.edx.locations
import
Location
,
SlashSeparatedCourseKey
from
student.models
import
CourseEnrollment
,
PasswordHistory
,
UserProfile
from
openedx.core.djangoapps.user_api.models
import
UserPreference
from
student.roles
import
CourseAccessRole
,
CourseInstructorRole
,
CourseObserverRole
,
CourseStaffRole
,
CourseAssistantRole
,
UserBasedRole
...
...
@@ -32,9 +35,11 @@ from util.password_policy_validators import (
validate_password_length
,
validate_password_complexity
,
validate_password_dictionary
)
from
xmodule.modulestore
import
InvalidLocationError
from
xmodule.modulestore.django
import
modulestore
from
api_manager.courses.serializers
import
CourseModuleCompletionSerializer
from
api_manager.courseware_access
import
get_course
,
get_course_child
,
get_course_key
,
course_exists
,
calculate_proforma_grade
from
api_manager.courseware_access
import
get_course
,
get_course_child
,
get_course_
child_content
,
get_course_
key
,
course_exists
,
calculate_proforma_grade
from
api_manager.permissions
import
SecureAPIView
,
SecureListAPIView
,
IdsInFilterBackend
,
HasOrgsFilterBackend
from
api_manager.models
import
GroupProfile
,
APIUser
as
User
from
api_manager.organizations.serializers
import
OrganizationSerializer
...
...
@@ -42,12 +47,7 @@ from api_manager.utils import generate_base_uri, dict_has_items, extract_data_pa
from
projects.serializers
import
BasicWorkgroupSerializer
from
.serializers
import
UserSerializer
,
UserCountByCitySerializer
,
UserRolesSerializer
from
opaque_keys
import
InvalidKeyError
from
opaque_keys.edx.keys
import
UsageKey
,
CourseKey
from
opaque_keys.edx.locations
import
Location
from
xmodule.modulestore
import
InvalidLocationError
from
xmodule.modulestore.django
import
modulestore
log
=
logging
.
getLogger
(
__name__
)
AUDIT_LOG
=
logging
.
getLogger
(
"audit"
)
...
...
@@ -121,7 +121,7 @@ def _save_child_position(parent_descriptor, target_child_location):
we just compare id's from the array of children
"""
for
position
,
child_location
in
enumerate
(
parent_descriptor
.
children
,
start
=
1
):
if
child_location
==
target_child_location
:
if
unicode
(
child_location
)
==
unicode
(
target_child_location
)
:
# Only save if position changed
if
position
!=
parent_descriptor
.
position
:
parent_descriptor
.
position
=
position
...
...
@@ -332,6 +332,8 @@ class UsersList(SecureListAPIView):
profile
.
save
()
UserPreference
.
set_preference
(
user
,
LANGUAGE_KEY
,
get_language
())
if
settings
.
FEATURES
.
get
(
'ENABLE_DISCUSSION_EMAIL_DIGEST'
):
enable_notifications
(
user
)
# add this account creation to password history
# NOTE, this will be a NOP unless the feature has been turned on in configuration
...
...
@@ -755,13 +757,17 @@ def _get_current_position_loc(parent_module):
An optimized lookup for the current position. The LMS version can cause unnecessary round trips to
the Mongo database
"""
if
not
hasattr
(
parent_module
,
'position'
):
return
None
if
not
parent_module
.
children
:
return
None
index
=
0
if
parent_module
.
position
:
index
=
parent_module
.
position
-
1
# position is 1 indexed
...
...
@@ -859,15 +865,11 @@ class UsersCoursesDetail(SecureAPIView):
response_data
[
'position_tree'
]
=
{}
parent_module
=
course_module
while
parent_module
is
not
None
:
current_child_loc
=
_get_current_position_loc
(
parent_module
)
if
current_child_loc
:
response_data
[
'position_tree'
][
current_child_loc
.
category
]
=
{}
response_data
[
'position_tree'
][
current_child_loc
.
category
][
'id'
]
=
unicode
(
current_child_loc
)
_
,
_
,
parent_module
=
get_course_child
(
request
,
user
,
course_key
,
unicode
(
current_child_loc
),
load_content
=
True
)
else
:
parent_module
=
None
return
Response
(
response_data
,
status
=
status
.
HTTP_200_OK
)
...
...
lms/djangoapps/courseware/module_render.py
View file @
0de4f601
...
...
@@ -693,8 +693,8 @@ def get_module_system_for_user(user, field_data_cache, # TODO # pylint: disabl
except
(
ValueError
,
TypeError
):
log
.
exception
(
'Non-integer
%
r passed as position.'
,
position
)
position
=
None
system
.
set
(
'position'
,
position
)
if
settings
.
FEATURES
.
get
(
'ENABLE_PSYCHOMETRICS'
)
and
user
.
is_authenticated
():
system
.
set
(
'psychometrics_handler'
,
# set callback for updating PsychometricsData
...
...
lms/envs/test.py
View file @
0de4f601
...
...
@@ -53,6 +53,8 @@ FEATURES['DISABLE_START_DATES'] = True
# the one in cms/envs/test.py
FEATURES
[
'ENABLE_DISCUSSION_SERVICE'
]
=
False
FEATURES
[
'ENABLE_DISCUSSION_EMAIL_DIGEST'
]
=
True
FEATURES
[
'ENABLE_SERVICE_STATUS'
]
=
True
FEATURES
[
'ENABLE_HINTER_INSTRUCTOR_VIEW'
]
=
True
...
...
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