Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
E
edx-ora2
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-ora2
Commits
c70f6a9d
Commit
c70f6a9d
authored
Sep 27, 2016
by
Eric Fischer
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
refactor common tests
parent
f3871af3
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
38 additions
and
51 deletions
+38
-51
test/acceptance/tests.py
+38
-51
No files found.
test/acceptance/tests.py
View file @
c70f6a9d
...
...
@@ -386,18 +386,25 @@ class PeerAssessmentTest(OpenAssessmentTest):
self
.
do_peer_assessment
()
class
PeerAssessmentTestStaffOverride
(
OpenAssessmentTest
):
class
StaffOverrideTest
(
OpenAssessmentTest
):
"""
Test setting a staff override on a problem which requires peer assessment.
Test setting a staff override on a problem which requires peer or self assessment.
This is used as a base class, as the problem type defined by subclasses must be known in setUp().
"""
def
__init__
(
self
,
*
args
,
**
kwargs
):
super
(
StaffOverrideTest
,
self
)
.
__init__
(
*
args
,
**
kwargs
)
self
.
problem_type
=
None
def
setUp
(
self
):
super
(
PeerAssessmentTestStaffOverride
,
self
)
.
setUp
(
'peer_only'
,
staff
=
True
)
if
self
.
problem_type
is
None
:
self
.
fail
(
"Please define self.problem_type in a sub-class"
)
super
(
StaffOverrideTest
,
self
)
.
setUp
(
self
.
problem_type
,
staff
=
True
)
self
.
staff_area_page
=
StaffAreaPage
(
self
.
browser
,
self
.
problem_loc
)
@retry
()
@attr
(
'acceptance'
)
def
test_staff_override
(
self
):
def
_
test_staff_override
(
self
):
"""
Scenario: staff can override a learner's grade
...
...
@@ -405,11 +412,7 @@ class PeerAssessmentTestStaffOverride(OpenAssessmentTest):
And if I create a response to the problem
Then there is no Staff Grade section present
And if a staff member creates a grade override
Then when I refresh the page, I see that a staff override exists
And the message says that I must complete my steps to view the grade
And if I submit required peer assessments
Then the Staff Grade section is marked complete with no message
And I can see my final grade, even though no peers have assessed me
Then I can see my final grade, even though no peers have assessed me
"""
# Create a submission
self
.
auto_auth_page
.
visit
()
...
...
@@ -430,6 +433,30 @@ class PeerAssessmentTestStaffOverride(OpenAssessmentTest):
self
.
assertEqual
(
self
.
STAFF_OVERRIDE_SCORE
,
self
.
grade_page
.
wait_for_page
()
.
score
)
class
StaffOverrideSelfTest
(
StaffOverrideTest
):
"""
Subclass of StaffOverrideTest for a 'self_only' problem.
"""
def
__init__
(
self
,
*
args
,
**
kwargs
):
super
(
StaffOverrideSelfTest
,
self
)
.
__init__
(
*
args
,
**
kwargs
)
self
.
problem_type
=
'self_only'
def
test_staff_override
(
self
):
super
(
StaffOverrideSelfTest
,
self
)
.
_test_staff_override
()
class
StaffOverridePeerTest
(
StaffOverrideTest
):
"""
Subclass of StaffOverrideTest for a 'peer_only' problem.
"""
def
__init__
(
self
,
*
args
,
**
kwargs
):
super
(
StaffOverridePeerTest
,
self
)
.
__init__
(
*
args
,
**
kwargs
)
self
.
problem_type
=
'peer_only'
def
test_staff_override
(
self
):
super
(
StaffOverridePeerTest
,
self
)
.
_test_staff_override
()
class
StudentTrainingTest
(
OpenAssessmentTest
):
"""
Test student training (the "learning to assess" step).
...
...
@@ -667,43 +694,6 @@ class StaffAreaTest(OpenAssessmentTest):
@retry
()
@attr
(
'acceptance'
)
def
test_staff_grade_override
(
self
):
"""
Scenario: the staff grade section displays correctly
Given I am viewing a new self assessment problem as a learner
Then there is no Staff Grade section present
And if I create a response to the problem
Then there is no Staff Grade section present
And if a staff member creates a grade override
Then when I refresh the page, I see that a staff override exists
And the message says that I must complete my steps to view the grade
And if I submit my self-assessment
Then the Staff Grade section is marked complete with no message
And I can see my final grade
"""
# View the problem-- no Staff Grade area.
self
.
auto_auth_page
.
visit
()
username
,
_
=
self
.
auto_auth_page
.
get_username_and_email
()
self
.
submission_page
.
visit
()
self
.
assertFalse
(
self
.
staff_asmnt_page
.
is_browser_on_page
())
self
.
submission_page
.
submit_response
(
self
.
SUBMISSION
)
self
.
assertTrue
(
self
.
submission_page
.
has_submitted
)
self
.
assertFalse
(
self
.
staff_asmnt_page
.
is_browser_on_page
())
# Submit a staff override
self
.
do_staff_override
(
username
,
self
.
STAFF_OVERRIDE_STAFF_AREA_NOT_COMPLETE
)
# Refresh the page so the learner sees the Staff Grade section.
self
.
refresh_page
()
self
.
_verify_staff_grade_section
(
self
.
STAFF_GRADE_EXISTS
)
# Verify the staff override grade
self
.
assertEqual
(
self
.
STAFF_OVERRIDE_SCORE
,
self
.
grade_page
.
wait_for_page
()
.
score
)
@retry
()
@attr
(
'acceptance'
)
def
test_staff_grade_override_cancelled
(
self
):
"""
Scenario: the staff grade section displays cancelled when the submission is cancelled
...
...
@@ -1040,10 +1030,7 @@ class FullWorkflowOverrideTest(OpenAssessmentTest, FullWorkflowMixin):
Given that I have created a submission
Then I see no score yet
And when a staff member creates a grade override
Then I see that an override exists, but I cannot see the score
And when a second learner creates a submission
Then I can complete my required steps (training, self assessment, peer assesssment)
And I see my staff override score
Then I see my staff override score
And all fields in the staff area tool are correct
"""
# Create only the initial submission before doing the staff override.
...
...
@@ -1055,7 +1042,7 @@ class FullWorkflowOverrideTest(OpenAssessmentTest, FullWorkflowMixin):
self
.
verify_staff_area_fields
(
learner
,
[],
[],
[])
self
.
staff_area_page
.
verify_learner_final_score
(
self
.
STAFF_OVERRIDE_STAFF_AREA_NOT_COMPLETE
)
# Do staff override
-- score still not shown due to steps not being complete.
# Do staff override
self
.
do_staff_override
(
learner
,
self
.
STAFF_OVERRIDE_STAFF_AREA_NOT_COMPLETE
)
# Refresh the page so the learner sees the Staff Grade section.
...
...
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