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
905d884a
Commit
905d884a
authored
Jun 18, 2013
by
Jean Manuel Nater
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Removed a unnecessary imports from mongo_login_helpers.py and repeated code from tests.py.
parent
97275a32
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
1 additions
and
124 deletions
+1
-124
lms/djangoapps/courseware/tests/mongo_login_helpers.py
+1
-20
lms/djangoapps/courseware/tests/tests.py
+0
-104
No files found.
lms/djangoapps/courseware/tests/mongo_login_helpers.py
View file @
905d884a
...
@@ -3,32 +3,13 @@ import json
...
@@ -3,32 +3,13 @@ import json
from
urlparse
import
urlsplit
,
urlunsplit
from
urlparse
import
urlsplit
,
urlunsplit
from
django.contrib.auth.models
import
User
,
Group
from
django.contrib.auth.models
import
User
from
django.test
import
TestCase
from
django.test.client
import
RequestFactory
from
django.conf
import
settings
from
django.core.urlresolvers
import
reverse
from
django.core.urlresolvers
import
reverse
from
django.test.utils
import
override_settings
import
xmodule.modulestore.django
# Need access to internal func to put users in the right group
from
courseware
import
grades
from
courseware.model_data
import
ModelDataCache
from
courseware.access
import
(
has_access
,
_course_staff_group_name
,
course_beta_test_group_name
)
from
student.models
import
Registration
from
student.models
import
Registration
from
xmodule.error_module
import
ErrorDescriptor
from
xmodule.modulestore.django
import
modulestore
from
xmodule.modulestore
import
Location
from
xmodule.modulestore.xml_importer
import
import_from_xml
from
xmodule.modulestore.xml
import
XMLModuleStore
from
xmodule.modulestore.tests.factories
import
CourseFactory
,
ItemFactory
from
xmodule.modulestore.tests.django_utils
import
ModuleStoreTestCase
from
xmodule.modulestore.tests.django_utils
import
ModuleStoreTestCase
from
xmodule.modulestore.mongo
import
MongoModuleStore
log
=
logging
.
getLogger
(
"mitx."
+
__name__
)
log
=
logging
.
getLogger
(
"mitx."
+
__name__
)
...
...
lms/djangoapps/courseware/tests/tests.py
View file @
905d884a
...
@@ -351,110 +351,6 @@ class TestSubmittingProblems(LoginEnrollmentTestCase):
...
@@ -351,110 +351,6 @@ class TestSubmittingProblems(LoginEnrollmentTestCase):
return
resp
return
resp
class
TestCourseGrader
(
TestSubmittingProblems
):
"""Check that a course gets graded properly"""
course_slug
=
"graded"
course_when
=
"2012_Fall"
def
get_grade_summary
(
self
):
'''calls grades.grade for current user and course'''
model_data_cache
=
ModelDataCache
.
cache_for_descriptor_descendents
(
self
.
course
.
id
,
self
.
student_user
,
self
.
course
)
fake_request
=
self
.
factory
.
get
(
reverse
(
'progress'
,
kwargs
=
{
'course_id'
:
self
.
course
.
id
}))
return
grades
.
grade
(
self
.
student_user
,
fake_request
,
self
.
course
,
model_data_cache
)
def
get_homework_scores
(
self
):
'''get scores for homeworks'''
return
self
.
get_grade_summary
()[
'totaled_scores'
][
'Homework'
]
def
get_progress_summary
(
self
):
'''return progress summary structure for current user and course'''
model_data_cache
=
ModelDataCache
.
cache_for_descriptor_descendents
(
self
.
course
.
id
,
self
.
student_user
,
self
.
course
)
fake_request
=
self
.
factory
.
get
(
reverse
(
'progress'
,
kwargs
=
{
'course_id'
:
self
.
course
.
id
}))
progress_summary
=
grades
.
progress_summary
(
self
.
student_user
,
fake_request
,
self
.
course
,
model_data_cache
)
return
progress_summary
def
check_grade_percent
(
self
,
percent
):
'''assert that percent grade is as expected'''
grade_summary
=
self
.
get_grade_summary
()
self
.
assertEqual
(
grade_summary
[
'percent'
],
percent
)
def
test_get_graded
(
self
):
#### Check that the grader shows we have 0% in the course
self
.
check_grade_percent
(
0
)
#### Submit the answers to a few problems as ajax calls
def
earned_hw_scores
():
"""Global scores, each Score is a Problem Set"""
return
[
s
.
earned
for
s
in
self
.
get_homework_scores
()]
def
score_for_hw
(
hw_url_name
):
"""returns list of scores for a given url"""
hw_section
=
[
section
for
section
in
self
.
get_progress_summary
()[
0
][
'sections'
]
if
section
.
get
(
'url_name'
)
==
hw_url_name
][
0
]
return
[
s
.
earned
for
s
in
hw_section
[
'scores'
]]
# Only get half of the first problem correct
self
.
submit_question_answer
(
'H1P1'
,
{
'2_1'
:
'Correct'
,
'2_2'
:
'Incorrect'
})
self
.
check_grade_percent
(
0.06
)
self
.
assertEqual
(
earned_hw_scores
(),
[
1.0
,
0
,
0
])
# Order matters
self
.
assertEqual
(
score_for_hw
(
'Homework1'
),
[
1.0
,
0.0
])
# Get both parts of the first problem correct
self
.
reset_question_answer
(
'H1P1'
)
self
.
submit_question_answer
(
'H1P1'
,
{
'2_1'
:
'Correct'
,
'2_2'
:
'Correct'
})
self
.
check_grade_percent
(
0.13
)
self
.
assertEqual
(
earned_hw_scores
(),
[
2.0
,
0
,
0
])
self
.
assertEqual
(
score_for_hw
(
'Homework1'
),
[
2.0
,
0.0
])
# This problem is shown in an ABTest
self
.
submit_question_answer
(
'H1P2'
,
{
'2_1'
:
'Correct'
,
'2_2'
:
'Correct'
})
self
.
check_grade_percent
(
0.25
)
self
.
assertEqual
(
earned_hw_scores
(),
[
4.0
,
0.0
,
0
])
self
.
assertEqual
(
score_for_hw
(
'Homework1'
),
[
2.0
,
2.0
])
# This problem is hidden in an ABTest.
# Getting it correct doesn't change total grade
self
.
submit_question_answer
(
'H1P3'
,
{
'2_1'
:
'Correct'
,
'2_2'
:
'Correct'
})
self
.
check_grade_percent
(
0.25
)
self
.
assertEqual
(
score_for_hw
(
'Homework1'
),
[
2.0
,
2.0
])
# On the second homework, we only answer half of the questions.
# Then it will be dropped when homework three becomes the higher percent
# This problem is also weighted to be 4 points (instead of default of 2)
# If the problem was unweighted the percent would have been 0.38 so we
# know it works.
self
.
submit_question_answer
(
'H2P1'
,
{
'2_1'
:
'Correct'
,
'2_2'
:
'Correct'
})
self
.
check_grade_percent
(
0.42
)
self
.
assertEqual
(
earned_hw_scores
(),
[
4.0
,
4.0
,
0
])
# Third homework
self
.
submit_question_answer
(
'H3P1'
,
{
'2_1'
:
'Correct'
,
'2_2'
:
'Correct'
})
self
.
check_grade_percent
(
0.42
)
# Score didn't change
self
.
assertEqual
(
earned_hw_scores
(),
[
4.0
,
4.0
,
2.0
])
self
.
submit_question_answer
(
'H3P2'
,
{
'2_1'
:
'Correct'
,
'2_2'
:
'Correct'
})
self
.
check_grade_percent
(
0.5
)
# Now homework2 dropped. Score changes
self
.
assertEqual
(
earned_hw_scores
(),
[
4.0
,
4.0
,
4.0
])
# Now we answer the final question (worth half of the grade)
self
.
submit_question_answer
(
'FinalQuestion'
,
{
'2_1'
:
'Correct'
,
'2_2'
:
'Correct'
})
self
.
check_grade_percent
(
1.0
)
# Hooray! We got 100%
@override_settings
(
MODULESTORE
=
TEST_DATA_XML_MODULESTORE
)
@override_settings
(
MODULESTORE
=
TEST_DATA_XML_MODULESTORE
)
class
TestSchematicResponse
(
TestSubmittingProblems
):
class
TestSchematicResponse
(
TestSubmittingProblems
):
"""Check that we can submit a schematic response, and it answers properly."""
"""Check that we can submit a schematic response, and it answers properly."""
...
...
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