Merge branch 'MDL-2051-master-2' of git://github.com/junpataleta/moodle
This commit is contained in:
@@ -114,6 +114,11 @@ $string['publishafteranswer'] = 'Show results to students after they answer';
|
||||
$string['publishafterclose'] = 'Show results to students only after the choice is closed';
|
||||
$string['publishalways'] = 'Always show results to students';
|
||||
$string['publishanonymous'] = 'Publish anonymous results, do not show student names';
|
||||
$string['publishinfoanonafter'] = 'Anonymous results will be published after you answer.';
|
||||
$string['publishinfoanonclose'] = 'Anonymous results will be published after the activity is closed.';
|
||||
$string['publishinfofullafter'] = 'Full results, showing everyone\'s choices, will be published after you answer.';
|
||||
$string['publishinfofullclose'] = 'Full results, showing everyone\'s choices, will be published after the activity is closed.';
|
||||
$string['publishinfonever'] = 'The results of this activity will not be published after you answer.';
|
||||
$string['publishnames'] = 'Publish full results, showing names and their choices';
|
||||
$string['publishnot'] = 'Do not publish results to students';
|
||||
$string['removemychoice'] = 'Remove my choice';
|
||||
|
||||
@@ -0,0 +1,104 @@
|
||||
@mod @mod_choice
|
||||
Feature: A student can see how the results of the choice activity will be published
|
||||
In order to put my mind at ease when it comes to answering a choice
|
||||
As a student
|
||||
I need to learn how my choice will be handled and published to the other course participants.
|
||||
|
||||
Background:
|
||||
Given the following "users" exist:
|
||||
| username | firstname | lastname | email |
|
||||
| teacher1 | Teacher | 1 | teacher1@example.com |
|
||||
| student1 | Student | 1 | student1@example.com |
|
||||
And the following "courses" exist:
|
||||
| fullname | shortname | category |
|
||||
| Course 1 | C1 | 0 |
|
||||
And the following "course enrolments" exist:
|
||||
| user | course | role |
|
||||
| teacher1 | C1 | editingteacher |
|
||||
| student1 | C1 | student |
|
||||
And I log in as "teacher1"
|
||||
And I am on "Course 1" course homepage with editing mode on
|
||||
|
||||
Scenario: Results will not be published to the students
|
||||
Given I add a "Choice" to section "1" and I fill the form with:
|
||||
| Choice name | Choice 1 |
|
||||
| Description | Choice Description |
|
||||
| Publish results | Do not publish results to students |
|
||||
| option[0] | Option 1 |
|
||||
| option[1] | Option 2 |
|
||||
And I log out
|
||||
And I log in as "student1"
|
||||
And I am on "Course 1" course homepage
|
||||
When I follow "Choice 1"
|
||||
Then I should see "The results of this activity will not be published after you answer."
|
||||
|
||||
Scenario: Full results will be shown to the students after they answer
|
||||
Given I add a "Choice" to section "1" and I fill the form with:
|
||||
| Choice name | Choice 1 |
|
||||
| Description | Choice Description |
|
||||
| option[0] | Option 1 |
|
||||
| option[1] | Option 2 |
|
||||
| Publish results | Show results to students after they answer |
|
||||
| Privacy of results | Publish full results, showing names and their choices |
|
||||
And I log out
|
||||
And I log in as "student1"
|
||||
And I am on "Course 1" course homepage
|
||||
When I follow "Choice 1"
|
||||
Then I should see "Full results, showing everyone's choices, will be published after you answer."
|
||||
|
||||
Scenario: Anonymous results will be shown to students after they answer
|
||||
Given I add a "Choice" to section "1" and I fill the form with:
|
||||
| Choice name | Choice 1 |
|
||||
| Description | Choice Description |
|
||||
| option[0] | Option 1 |
|
||||
| option[1] | Option 2 |
|
||||
| Publish results | Show results to students after they answer |
|
||||
And I log out
|
||||
And I log in as "student1"
|
||||
And I am on "Course 1" course homepage
|
||||
When I follow "Choice 1"
|
||||
Then I should see "Anonymous results will be published after you answer."
|
||||
|
||||
Scenario: Full results will be shown to students only after the choice is closed
|
||||
Given I add a "Choice" to section "1" and I fill the form with:
|
||||
| Choice name | Choice 1 |
|
||||
| Description | Choice Description |
|
||||
| Publish results | Show results to students only after the choice is closed |
|
||||
| Privacy of results | Publish full results, showing names and their choices |
|
||||
| option[0] | Option 1 |
|
||||
| option[1] | Option 2 |
|
||||
And I log out
|
||||
And I log in as "student1"
|
||||
And I am on "Course 1" course homepage
|
||||
When I follow "Choice 1"
|
||||
Then I should see "Full results, showing everyone's choices, will be published after the activity is closed."
|
||||
|
||||
Scenario: Anonymous results will be shown to students only after the choice is closed
|
||||
Given I add a "Choice" to section "1" and I fill the form with:
|
||||
| Choice name | Choice 1 |
|
||||
| Description | Choice Description |
|
||||
| Publish results | Show results to students only after the choice is closed |
|
||||
| option[0] | Option 1 |
|
||||
| option[1] | Option 2 |
|
||||
And I log out
|
||||
And I log in as "student1"
|
||||
And I am on "Course 1" course homepage
|
||||
When I follow "Choice 1"
|
||||
Then I should see "Anonymous results will be published after the activity is closed."
|
||||
|
||||
Scenario: Results will always be shown to students
|
||||
Given I add a "Choice" to section "1" and I fill the form with:
|
||||
| Choice name | Choice 1 |
|
||||
| Description | Choice Description |
|
||||
| option[0] | Option 1 |
|
||||
| option[1] | Option 2 |
|
||||
| Publish results | Always show results to students |
|
||||
And I log out
|
||||
And I log in as "student1"
|
||||
And I am on "Course 1" course homepage
|
||||
When I follow "Choice 1"
|
||||
Then I should not see "Full results, showing everyone's choices, will be published after you answer."
|
||||
And I should not see "Full results, showing everyone's choices, will be published after the activity is closed."
|
||||
And I should not see "Anonymous results will be published after you answer."
|
||||
And I should not see "Anonymous results will be published after the activity is closed."
|
||||
And I should not see "The results of this activity will not be published after you answer."
|
||||
+35
-1
@@ -164,8 +164,42 @@ if ((!empty($choice->timeopen)) && ($choice->timeopen > $timenow)) {
|
||||
}
|
||||
|
||||
if ( (!$current or $choice->allowupdate) and $choiceopen and is_enrolled($context, NULL, 'mod/choice:choose')) {
|
||||
// They haven't made their choice yet or updates allowed and choice is open
|
||||
|
||||
// Show information on how the results will be published to students.
|
||||
$publishinfo = null;
|
||||
switch ($choice->showresults) {
|
||||
case CHOICE_SHOWRESULTS_NOT:
|
||||
$publishinfo = get_string('publishinfonever', 'choice');
|
||||
break;
|
||||
|
||||
case CHOICE_SHOWRESULTS_AFTER_ANSWER:
|
||||
if ($choice->publish == CHOICE_PUBLISH_ANONYMOUS) {
|
||||
$publishinfo = get_string('publishinfoanonafter', 'choice');
|
||||
} else {
|
||||
$publishinfo = get_string('publishinfofullafter', 'choice');
|
||||
}
|
||||
break;
|
||||
|
||||
case CHOICE_SHOWRESULTS_AFTER_CLOSE:
|
||||
if ($choice->publish == CHOICE_PUBLISH_ANONYMOUS) {
|
||||
$publishinfo = get_string('publishinfoanonclose', 'choice');
|
||||
} else {
|
||||
$publishinfo = get_string('publishinfofullclose', 'choice');
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
// No need to inform the user in the case of CHOICE_SHOWRESULTS_ALWAYS since it's already obvious that the results are
|
||||
// being published.
|
||||
break;
|
||||
}
|
||||
|
||||
// Show info if necessary.
|
||||
if (!empty($publishinfo)) {
|
||||
echo $OUTPUT->notification($publishinfo, 'info');
|
||||
}
|
||||
|
||||
// They haven't made their choice yet or updates allowed and choice is open.
|
||||
$options = choice_prepare_options($choice, $USER, $cm, $allresponses);
|
||||
$renderer = $PAGE->get_renderer('mod_choice');
|
||||
echo $renderer->display_options($options, $cm->id, $choice->display, $choice->allowmultiple);
|
||||
|
||||
Reference in New Issue
Block a user