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
e01e812c
Commit
e01e812c
authored
Jan 22, 2014
by
Stephen Sanchez
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Latest additions to BDD testing
parent
03b14597
Hide whitespace changes
Inline
Side-by-side
Showing
17 changed files
with
201 additions
and
63 deletions
+201
-63
common_grading/features/rubric.feature
+8
-5
common_grading/features/rubric.py
+27
-6
common_grading/features/submission_time_window.feature
+15
-15
common_grading/features/submission_time_window.py
+3
-3
common_grading/features/submit_confirmation.feature
+9
-0
common_grading/features/submit_confirmation.py
+14
-0
peer_grading/features/required_reviewers.feature
+7
-7
peer_grading/features/required_reviewers.py
+4
-4
peer_grading/features/required_reviews.feature
+13
-10
peer_grading/features/required_reviews.py
+12
-4
peer_grading/features/required_reviews_validation.feature
+3
-3
peer_grading/features/required_reviews_validation.py
+3
-3
peer_grading/features/review_time_window.feature
+3
-3
peer_grading/features/submissions_fixed_while_grading.feature
+16
-0
peer_grading/features/submissions_fixed_while_grading.py
+28
-0
peer_grading/features/submit_submission.feature
+13
-0
peer_grading/features/submit_submission.py
+23
-0
No files found.
common_grading/features/rubric.feature
View file @
e01e812c
...
@@ -6,9 +6,12 @@ Feature: As an author I can create a rubric
...
@@ -6,9 +6,12 @@ Feature: As an author I can create a rubric
Scenario
:
As an author I create a rubric
Scenario
:
As an author I create a rubric
Given
:
I
have created a rubric for a problem
Given
:
I
have created a rubric for a problem
When
:
I
review the problem
When
:
I
review the problem
Then
:
I
should see the rubric.
Then
:
I
should see the rubric
Scenario
:
As an author I update a rubric
Given
:
I
am an author
When
:
I
review a published rubric
Then
:
I
should see the rubric
And
:
I
update a rubric for a problem
When
:
I
review the problem
Then
:
I
should see the changes to the rubric
common_grading/features/rubric.py
View file @
e01e812c
# -*- coding: utf-8 -*-
# -*- coding: utf-8 -*-
from
lettuce
import
step
from
lettuce
import
step
@step
(
u'Given: I
have defined a step
'
)
@step
(
u'Given: I
am an author
'
)
def
given_i_
have_defined_a_step
(
step
):
def
given_i_
am_an_author
(
step
):
pass
pass
@step
(
u'
And: I have implemented the step in lettuce
'
)
@step
(
u'
Given: I have created a rubric for a problem
'
)
def
and_i_have_implemented_the_step_in_lettuce
(
step
):
def
given_i_have_created_a_rubric_for_a_problem
(
step
):
pass
pass
@step
(
u'
Then: The spec should run in Travis
'
)
@step
(
u'
When: I review the problem
'
)
def
then_the_spec_should_run_in_travis
(
step
):
def
when_i_review_the_problem
(
step
):
pass
pass
@step
(
u'Then: I should see the rubric'
)
def
then_i_should_see_the_rubric
(
step
):
pass
@step
(
u'When: I review a published rubric'
)
def
when_i_review_a_published_rubric
(
step
):
pass
@step
(
u'And: I update a rubric for a problem'
)
def
and_i_update_a_rubric_for_a_problem
(
step
):
pass
@step
(
u'When: I review the problem'
)
def
when_i_review_the_problem
(
step
):
pass
@step
(
u'Then: I should see the changes to the rubric'
)
def
then_i_should_see_the_changes_to_the_rubric
(
step
):
pass
\ No newline at end of file
peer
_grading/features/submission_time_window.feature
→
common
_grading/features/submission_time_window.feature
View file @
e01e812c
Feature
:
An author can configure the submission start and end dates
Feature
:
An author can configure the submission start and end dates
As an author
As an author
I can configure the date when a question is open for submissions
I can configure the date when a question is open for submissions
I can configure the date when a question is closed for submissions
I can configure the date when a question is closed for submissions
Scenario
:
An
author can configure the submission start and end dates
Scenario
:
An
author can configure the submission start and end dates
Given
:
I
am an author
Given
:
I
am an author
And
:
I
configure a start date in the
<RelativeStartTime>
And
:
I
configure a start date in the
"<RelativeStartTime>"
And
:
I
configure an end date in the
<RelativeEndTime>
And
:
I
configure an end date in the
"<RelativeEndTime>"
When
:
I
attempt to submit a submission
When
:
I
attempt to submit a submission
Then
:
My
attempt
to
submit
a
submission
<Result>
Then
:
My
attempt
to
submit
a
submission
"<Result>"
Examples
:
Examples
:
|
RelativeStartTime
|
RelativeEndTime
|
Result
|
|
RelativeStartTime
|
RelativeEndTime
|
Result
|
|
past
|
future
|
passes
|
|
past
|
future
|
passes
|
|
future
|
future
|
fails
|
|
future
|
future
|
fails
|
|
future
|
past
|
fails
|
|
future
|
past
|
fails
|
|
past
|
past
|
fails
|
|
past
|
past
|
fails
|
peer
_grading/features/submission_time_window.py
→
common
_grading/features/submission_time_window.py
View file @
e01e812c
...
@@ -6,11 +6,11 @@ def given_i_am_an_author(step):
...
@@ -6,11 +6,11 @@ def given_i_am_an_author(step):
pass
pass
@step
(
u'And: I configure a start date in the "([^"]*)"'
)
@step
(
u'And: I configure a start date in the "([^"]*)"'
)
def
and_i_configure_a_start_date
(
step
):
def
and_i_configure_a_start_date
(
step
,
start_date
):
pass
pass
@step
(
u'And: I configure an end date in the "([^"]*)"'
)
@step
(
u'And: I configure an end date in the "([^"]*)"'
)
def
and_i_configure_an_end_date
(
step
):
def
and_i_configure_an_end_date
(
step
,
end_date
):
pass
pass
@step
(
u'When: I attempt to submit a submission'
)
@step
(
u'When: I attempt to submit a submission'
)
...
@@ -18,5 +18,5 @@ def when_i_attempt_to_submit_a_submission(step):
...
@@ -18,5 +18,5 @@ def when_i_attempt_to_submit_a_submission(step):
pass
pass
@step
(
u'Then: My attempt to submit a submission "([^"]*)"'
)
@step
(
u'Then: My attempt to submit a submission "([^"]*)"'
)
def
then_my_attempt_to_submit_a_submission
(
step
):
def
then_my_attempt_to_submit_a_submission
(
step
,
result
):
pass
pass
common_grading/features/submit_confirmation.feature
0 → 100644
View file @
e01e812c
Feature
:
Students will not accidentally submit a submission
As a student
When I submit my submission
I will need to confirm my action.
Scenario
:
A
student will not accidentally submit a submission
Given
:
I
am a student
When
:
I
submit a submission for peer review
Then
:
I
am prompted to confirm my decision
common_grading/features/submit_confirmation.py
0 → 100644
View file @
e01e812c
# -*- coding: utf-8 -*-
from
lettuce
import
step
@step
(
u'Given: I am a student'
)
def
given_i_am_a_student
(
step
):
pass
@step
(
u'When: I submit a submission for peer review'
)
def
when_i_submit_a_submission_for_peer_review
(
step
):
pass
@step
(
u'Then: I am prompted to confirm my decision'
)
def
then_i_am_prompted_to_confirm_my_decision
(
step
):
pass
peer_grading/features/required_reviewers.feature
View file @
e01e812c
...
@@ -4,14 +4,14 @@ Feature: An author can configured required reviewers per submission.
...
@@ -4,14 +4,14 @@ Feature: An author can configured required reviewers per submission.
Scenario
:
Author configures required reviewers per submission
Scenario
:
Author configures required reviewers per submission
Given
:
I
am an author
Given
:
I
am an author
And
:
I
configure
<RequiredReviews>
required reviewers per submissions
And
:
I
configure
"<RequiredReviews>"
required reviewers per submissions
And
:
I
submit a submission
And
:
I
submit a submission
And
:
I
review
<RequiredPeerReviews>
peer submissions
And
:
I
review
enough
peer submissions
When
:
<RequiredReviews>
students
review
the
submission
When
:
"<RequiredReviews>"
students
review
the
submission
Then
:
I
receive my reviews.
Then
:
I
receive my reviews.
Examples
:
Examples
:
|
RequiredReviews
|
RequiredPeerReviews
|
|
RequiredReviews
|
|
1
|
2
|
|
1
|
|
3
|
5
|
|
3
|
|
7
|
12
|
|
7
|
peer_grading/features/required_reviewers.py
View file @
e01e812c
...
@@ -6,19 +6,19 @@ def given_i_am_an_author(step):
...
@@ -6,19 +6,19 @@ def given_i_am_an_author(step):
pass
pass
@step
(
u'And: I configure "([^"]*)" required reviewers per submissions'
)
@step
(
u'And: I configure "([^"]*)" required reviewers per submissions'
)
def
and_i_configure_required_reviewers_per_submission
(
step
):
def
and_i_configure_required_reviewers_per_submission
(
step
,
required
):
pass
pass
@step
(
u'And: I submit a submission'
)
@step
(
u'And: I submit a submission'
)
def
and_i_submit_a_submission
(
step
):
def
and_i_submit_a_submission
(
step
):
pass
pass
@step
(
u'And: I review
"([^"]*)"
peer submissions'
)
@step
(
u'And: I review
enough
peer submissions'
)
def
and_i_review_peer_submissions
(
step
):
def
and_i_review_
enough_
peer_submissions
(
step
):
pass
pass
@step
(
u'When: "([^"]*)" students review the submission'
)
@step
(
u'When: "([^"]*)" students review the submission'
)
def
when_students_review_the_submission
(
step
):
def
when_students_review_the_submission
(
step
,
required
):
pass
pass
@step
(
u'Then: I receive my reviews.'
)
@step
(
u'Then: I receive my reviews.'
)
...
...
peer_grading/features/required_reviews.feature
View file @
e01e812c
...
@@ -4,15 +4,17 @@ Feature: An author can configured required reviews per student.
...
@@ -4,15 +4,17 @@ Feature: An author can configured required reviews per student.
Before the student can see their reviewed submission.
Before the student can see their reviewed submission.
Scenario
:
Author configures required reviewers per submission
Scenario
:
Author configures required reviewers per submission
Given
:
I
am an author
Given
:
I
am an author
And
:
I
configure
<RequiredPeerReviews>
required reviews per student
And
:
I
configure
"<RequiredPeerReviews>"
required reviews per student
And
:
A
student submits a submission
And
:
A
student submits a submission
And
:
A
student reviews
<RequiredPeerReviews>
peer submissions
When
:
Enough
students
review
the
submission
When
:
<RequiredReviews>
students
review
the
submission
And
:
The
student
requests
a
grade
Then
:
The
student
receives
reviews.
Then
:
The
student
is
notified
they
did
not
review
enough
peer
submissions
And
:
A
student reviews
"<RequiredPeerReviews>"
peer submissions
Then
:
The
student
receives
reviews.
Examples
:
Examples
:
|
Required
Reviews
|
Required
PeerReviews
|
|
RequiredPeerReviews
|
|
1
|
2
|
|
2
|
|
3
|
5
|
|
5
|
|
7
|
12
|
|
12
|
\ No newline at end of file
peer_grading/features/required_reviews.py
View file @
e01e812c
...
@@ -6,7 +6,7 @@ def given_i_am_an_author(step):
...
@@ -6,7 +6,7 @@ def given_i_am_an_author(step):
pass
pass
@step
(
u'And: I configure "([^"]*)" required reviews per student'
)
@step
(
u'And: I configure "([^"]*)" required reviews per student'
)
def
and_i_configure_required_reviews_per_student
(
step
):
def
and_i_configure_required_reviews_per_student
(
step
,
required
):
pass
pass
@step
(
u'And: A student submits a submission'
)
@step
(
u'And: A student submits a submission'
)
...
@@ -14,11 +14,19 @@ def and_a_student_submits_a_submission(step):
...
@@ -14,11 +14,19 @@ def and_a_student_submits_a_submission(step):
pass
pass
@step
(
u'And: A student reviews "([^"]*)" peer submissions'
)
@step
(
u'And: A student reviews "([^"]*)" peer submissions'
)
def
and_a_student_reviews_peer_submissions
(
step
):
def
and_a_student_reviews_peer_submissions
(
step
,
required
):
pass
pass
@step
(
u'When: "([^"]*)" students review the submission'
)
@step
(
u'When: Enough students review the submission'
)
def
when_students_review_the_submission
(
step
):
def
when_enough_students_review_the_submission
(
step
):
pass
@step
(
u'And: The student requests a grade'
)
def
and_the_student_requests_a_grade
(
step
):
pass
@step
(
u'Then: The student is notified they did not review enough peer submissions'
)
def
then_the_student_is_notified_they_did_not_review_enough_peer_submissions
(
step
):
pass
pass
@step
(
u'Then: The student receives reviews.'
)
@step
(
u'Then: The student receives reviews.'
)
...
...
peer_grading/features/required_reviews_validation.feature
View file @
e01e812c
...
@@ -7,9 +7,9 @@ Feature: An author is required to configure less reviews than reviewers
...
@@ -7,9 +7,9 @@ Feature: An author is required to configure less reviews than reviewers
Scenario
:
An
author is required to configure less reviews than reviewers
Scenario
:
An
author is required to configure less reviews than reviewers
Given
:
I
am an author
Given
:
I
am an author
And
:
I
configure
<RequiredPeerReviews>
required reviews per student
And
:
I
configure
"<RequiredPeerReviews>"
required reviews per student
And
:
I
configure
<RequiredReviews>
required reviews per submission
And
:
I
configure
"<RequiredReviews>"
required reviews per submission
Then
:
The
validation
<Result>
Then
:
The
validation
"<Result>"
Examples
:
Examples
:
|
RequiredReviews
|
RequiredPeerReviews
|
Result
|
|
RequiredReviews
|
RequiredPeerReviews
|
Result
|
...
...
peer_grading/features/required_reviews_validation.py
View file @
e01e812c
...
@@ -6,13 +6,13 @@ def given_i_am_an_author(step):
...
@@ -6,13 +6,13 @@ def given_i_am_an_author(step):
pass
pass
@step
(
u'And: I configure "([^"]*)" required reviewers per student'
)
@step
(
u'And: I configure "([^"]*)" required reviewers per student'
)
def
and_i_configure_required_reviewers_per_student
(
step
):
def
and_i_configure_required_reviewers_per_student
(
step
,
required
):
pass
pass
@step
(
u'And: I configure "([^"]*)" required reviewers per submission'
)
@step
(
u'And: I configure "([^"]*)" required reviewers per submission'
)
def
and_i_configure_required_reviewers_per_student
(
step
):
def
and_i_configure_required_reviewers_per_student
(
step
,
required
):
pass
pass
@step
(
u'Then: The validation "([^"]*)"'
)
@step
(
u'Then: The validation "([^"]*)"'
)
def
then_the_validation
(
step
):
def
then_the_validation
(
step
,
result
):
pass
pass
peer_grading/features/review_time_window.feature
View file @
e01e812c
...
@@ -5,10 +5,10 @@ Feature: An author can configure the peer review start and end dates
...
@@ -5,10 +5,10 @@ Feature: An author can configure the peer review start and end dates
Scenario
:
An
author can configure the peer review start and end dates
Scenario
:
An
author can configure the peer review start and end dates
Given
:
I
am an author
Given
:
I
am an author
And
:
I
configure a start date in the
<RelativeStartTime>
And
:
I
configure a start date in the
"<RelativeStartTime>"
And
:
I
configure an end date in the
<RelativeEndTime>
And
:
I
configure an end date in the
"<RelativeEndTime>"
When
:
I
attempt to review a peer submission
When
:
I
attempt to review a peer submission
Then
:
My
attempt
to
review
a
peer submission
<Result>
Then
:
My
attempt
to
review
a
peer submission
"<Result>"
Examples
:
Examples
:
|
RelativeStartTime
|
RelativeEndTime
|
Result
|
|
RelativeStartTime
|
RelativeEndTime
|
Result
|
...
...
peer_grading/features/submissions_fixed_while_grading.feature
0 → 100644
View file @
e01e812c
Feature
:
Submissions are fixed once reviews have begun
As a student
Once review of my submission has begun
I cannot modify my submission
Scenario
:
A
student can modify a submission if reviewing has not begun
Given
:
I
am a student
When
:
I
submit a submission for peer review
And
:
I
modify my submission
Then
:
I
successfully save changes to my submission
Scenario
:
A
student cannot modify a submission once reviewing has begun
Given
:
I
am a student
When
:
I
submit a submission for peer review
And
:
A
peer begins to review my submission
Then
:
I
cannot modify my submission
peer_grading/features/submissions_fixed_while_grading.py
0 → 100644
View file @
e01e812c
# -*- coding: utf-8 -*-
from
lettuce
import
step
@step
(
u'Given: I am a student'
)
def
given_i_am_a_student
(
step
):
pass
@step
(
u'When: I submit a submission for peer review'
)
def
when_i_submit_a_submission_for_peer_review
(
step
):
pass
@step
(
u'And: A peer begins to review my submission'
)
def
and_a_peer_begins_to_review_my_submission
(
step
):
pass
@step
(
u'Then: I cannot modify my submission'
)
def
then_i_cannot_modify_my_submission
(
step
):
pass
@step
(
u'And: I modify my submission'
)
def
and_i_modify_my_submission
(
step
):
pass
@step
(
u'Then: I successfully save changes to my submission'
)
def
then_i_successfully_save_changes_to_my_submission
(
step
):
pass
peer_grading/features/submit_submission.feature
0 → 100644
View file @
e01e812c
Feature
:
A student can submit a submission
As a student
I can submit a submission for peer review
Scenario
:
A
student can submit a submission for peer review
Given
:
I
am a student
When
:
I
submit a submission for peer review
Then
:
I
am notified that my submission has been submitted
Scenario
:
A
student can submit a submission with unicode characters
Given
:
I
am a student
When
:
I
submit a submission for peer review with unicode characters
Then
:
My
submission
is
submitted
and
the
unicode
characters
are
preserved
peer_grading/features/submit_submission.py
0 → 100644
View file @
e01e812c
# -*- coding: utf-8 -*-
from
lettuce
import
step
@step
(
u'Given: I am a student'
)
def
given_i_am_a_student
(
step
):
pass
@step
(
u'When: I submit a submission for peer review'
)
def
when_i_submit_a_submission_for_peer_review
(
step
):
pass
@step
(
u'Then: I am notified that my submission has been submitted'
)
def
then_i_am_notified_that_my_submission_has_been_submitted
(
step
):
pass
@step
(
u'When: I submit a submission for peer review with unicode characters'
)
def
when_i_submit_a_submission_for_peer_review_with_unicode_characters
(
step
):
pass
@step
(
u'Then: My submission is submitted and the unicode characters are preserved'
)
def
then_my_submission_is_submitted_and_the_unicode_characters_are_preserved
(
step
):
pass
\ No newline at end of file
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