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
634b961f
Commit
634b961f
authored
Apr 01, 2016
by
Zia Fazal
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
user should be enrolled in the course before grade book is generated
parent
5fb7932b
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
34 additions
and
0 deletions
+34
-0
lms/djangoapps/api_manager/users/tests.py
+27
-0
lms/djangoapps/api_manager/users/views.py
+7
-0
No files found.
lms/djangoapps/api_manager/users/tests.py
View file @
634b961f
...
@@ -1229,6 +1229,22 @@ class UsersApiTests(ModuleStoreTestCase):
...
@@ -1229,6 +1229,22 @@ class UsersApiTests(ModuleStoreTestCase):
response
=
self
.
do_get
(
test_uri
)
response
=
self
.
do_get
(
test_uri
)
self
.
assertEqual
(
response
.
status_code
,
404
)
self
.
assertEqual
(
response
.
status_code
,
404
)
def
test_user_course_grades_user_not_enrolled
(
self
):
course
=
CourseFactory
.
create
(
org
=
'TUCGUNF'
,
run
=
'TUCGUNF1'
)
test_uri
=
'{}/{}/courses/{}/grades'
.
format
(
self
.
users_base_uri
,
self
.
user
.
id
,
course
.
id
)
response
=
self
.
do_get
(
test_uri
)
self
.
assertEqual
(
response
.
status_code
,
404
)
# now enroll user
post_uri
=
'{}/{}/courses'
.
format
(
self
.
users_base_uri
,
self
.
user
.
id
)
data
=
{
'course_id'
:
unicode
(
course
.
id
)}
response
=
self
.
do_post
(
post_uri
,
data
)
self
.
assertEqual
(
response
.
status_code
,
201
)
# get user grades after enrollment
response
=
self
.
do_get
(
test_uri
)
self
.
assertEqual
(
response
.
status_code
,
200
)
def
test_user_preferences_user_list_get_not_found
(
self
):
def
test_user_preferences_user_list_get_not_found
(
self
):
test_uri
=
'{}/{}/preferences'
.
format
(
self
.
users_base_uri
,
'999999'
)
test_uri
=
'{}/{}/preferences'
.
format
(
self
.
users_base_uri
,
'999999'
)
response
=
self
.
do_get
(
test_uri
)
response
=
self
.
do_get
(
test_uri
)
...
@@ -1656,6 +1672,17 @@ class UsersApiTests(ModuleStoreTestCase):
...
@@ -1656,6 +1672,17 @@ class UsersApiTests(ModuleStoreTestCase):
due
=
self
.
course_end_date
.
replace
(
tzinfo
=
timezone
.
utc
)
due
=
self
.
course_end_date
.
replace
(
tzinfo
=
timezone
.
utc
)
)
)
# getting grades without user being enrolled in the course should raise 404
test_uri
=
'{}/{}/courses/{}/grades'
.
format
(
self
.
users_base_uri
,
user_id
,
unicode
(
course
.
id
))
response
=
self
.
do_get
(
test_uri
)
self
.
assertEqual
(
response
.
status_code
,
404
)
# enroll user in the course
test_uri
=
'{}/{}/courses'
.
format
(
self
.
users_base_uri
,
user_id
)
response
=
self
.
do_post
(
test_uri
,
{
'course_id'
:
unicode
(
course
.
id
)})
self
.
assertEqual
(
response
.
status_code
,
201
)
# now we should be able to fetch grades of user
test_uri
=
'{}/{}/courses/{}/grades'
.
format
(
self
.
users_base_uri
,
user_id
,
unicode
(
course
.
id
))
test_uri
=
'{}/{}/courses/{}/grades'
.
format
(
self
.
users_base_uri
,
user_id
,
unicode
(
course
.
id
))
response
=
self
.
do_get
(
test_uri
)
response
=
self
.
do_get
(
test_uri
)
self
.
assertEqual
(
response
.
status_code
,
200
)
self
.
assertEqual
(
response
.
status_code
,
200
)
...
...
lms/djangoapps/api_manager/users/views.py
View file @
634b961f
...
@@ -1060,6 +1060,13 @@ class UsersCoursesGradesDetail(SecureAPIView):
...
@@ -1060,6 +1060,13 @@ class UsersCoursesGradesDetail(SecureAPIView):
gradebook_entry
.
grading_policy
=
json
.
dumps
(
grading_policy
,
cls
=
EdxJSONEncoder
)
gradebook_entry
.
grading_policy
=
json
.
dumps
(
grading_policy
,
cls
=
EdxJSONEncoder
)
gradebook_entry
.
save
()
gradebook_entry
.
save
()
else
:
else
:
if
not
CourseEnrollment
.
is_enrolled
(
student
,
course_key
):
return
Response
(
{
'message'
:
_
(
"Student not enrolled in given course"
)
},
status
=
status
.
HTTP_404_NOT_FOUND
)
gradebook_values
=
_recalculate_grade
(
request
,
student
,
course_descriptor
)
gradebook_values
=
_recalculate_grade
(
request
,
student
,
course_descriptor
)
current_grade
=
gradebook_values
[
"current_grade"
]
current_grade
=
gradebook_values
[
"current_grade"
]
proforma_grade
=
gradebook_values
[
"proforma_grade"
]
proforma_grade
=
gradebook_values
[
"proforma_grade"
]
...
...
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