Proyectos de Subversion Moodle

Rev

Autoría | Ultima modificación | Ver Log |

@mod @mod_quiz @core_completion
Feature: Set a quiz to be marked complete when the student passes
  In order to ensure a student has learned the material before being marked complete
  As a teacher
  I need to set a quiz to complete when the student recieves a passing grade

  Background:
    Given the following "users" exist:
      | username | firstname | lastname | email                |
      | student1 | Student   | 1        | student1@example.com |
      | teacher1 | Teacher   | 1        | teacher1@example.com |
    And the following "courses" exist:
      | fullname | shortname | category | enablecompletion |
      | Course 1 | C1        | 0        | 1                |
    And the following "course enrolments" exist:
      | user     | course | role           |
      | teacher1 | C1     | editingteacher |
      | student1 | C1     | student        |
    And the following "question categories" exist:
      | contextlevel | reference | name           |
      | Course       | C1        | Test questions |
    And the following "questions" exist:
      | questioncategory | qtype     | name           | questiontext              |
      | Test questions   | truefalse | First question | Answer the first question |
    And the following "activities" exist:
      | activity | name           | course | idnumber | attempts | gradepass | completion | completionusegrade | completionpassgrade | completionview |
      | quiz     | Test quiz name | C1     | quiz1    | 4        | 5.00      | 2          | 1                  | 1                   | 1              |
    And quiz "Test quiz name" contains the following questions:
      | question       | page |
      | First question | 1    |

  @javascript
  Scenario: student1 passes on the first try
    When I log in as "student1"
    And I am on "Course 1" course homepage
    And the "Receive a grade" completion condition of "Test quiz name" is displayed as "todo"
    And the "Receive a passing grade" completion condition of "Test quiz name" is displayed as "todo"
    And the "View" completion condition of "Test quiz name" is displayed as "todo"
    And user "student1" has attempted "Test quiz name" with responses:
      | slot | response |
      |   1  | True     |
    And I follow "Test quiz name"
    Then the "Receive a grade" completion condition of "Test quiz name" is displayed as "done"
    And the "Receive a passing grade" completion condition of "Test quiz name" is displayed as "done"
    And the "View" completion condition of "Test quiz name" is displayed as "done"
    And I am on "Course 1" course homepage
    And the "Receive a grade" completion condition of "Test quiz name" is displayed as "done"
    And the "Receive a passing grade" completion condition of "Test quiz name" is displayed as "done"
    And the "View" completion condition of "Test quiz name" is displayed as "done"
    And I log out
    And I log in as "teacher1"
    And I am on "Course 1" course homepage
    And I navigate to "Reports" in current page administration
    And I click on "Activity completion" "link"
    And "Completed" "icon" should exist in the "Student 1" "table_row"

  Scenario Outline: Verify that gradepass, together with completionpassgrade are validated correctly
    Given the following "language customisations" exist:
      | component       | stringid | value    |
      | core_langconfig | decsep   | <decsep> |
    And the following "activity" exist:
      | activity | name                             | course | idnumber | gradepass  | completion | completionpassgrade   |
      | quiz     | Oh, grades, passgrades and floats| C1     | ohgrades | <gradepass>| 2          | <completionpassgrade> |
    When  I am on the "ohgrades" "quiz activity editing" page logged in as "teacher1"
    And I expand all fieldsets
    And I set the field "Grade to pass" to "<gradepass>"
    And I set the field "Add requirements" to "1"
    And I set the field "Receive a grade" to "1"
    And I set the field "<completionpassgrade>" to "1"
    And I press "Save and display"
    Then I should see "<seen>"
    And I should not see "<notseen>"

    Examples:
      | gradepass | completionpassgrade | decsep | seen                  | notseen          | outcome        |
      |           | Any grade           | .      | method: Highest       | Save and display | ok             |
      |           | Passing grade       | .      | does not have a valid | method: Highest  | completion-err |
      | 0         | Any grade           | .      | method: Highest       | Save and display | ok             |
      | 0         | Passing grade       | .      | does not have a valid | method: Highest  | completion-err |
      | aaa       | Any grade           | .      | must enter a number   | method: Highest  | number-err     |
      | aaa       | Passing grade       | .      | must enter a number   | method: Highest  | number-err     |
      | 200       | Any grade           | .      | can not be greater    | method: Highest  | grade-big-err  |
      | 200       | Passing grade       | .      | can not be greater    | method: Highest  | grade-big-err  |
      | 5.55      | Any grade           | .      | 5.55 out of 100       | Save and display | ok             |
      | 5.55      | Passing grade       | .      | 5.55 out of 100       | Save and display | ok             |
      | 5#55      | Any grade           | .      | must enter a number   | method: Highest  | number-err     |
      | 5#55      | Passing grade       | .      | must enter a number   | method: Highest  | number-err     |
      | 5#55      | Any grade           | #      | 5#55 out of 100       | Save and display | ok             |
      | 5#55      | Passing grade       | #      | 5#55 out of 100       | Save and display | ok             |