HEX
Server: Apache
System: Linux webm010.cluster103.gra.hosting.ovh.net 6.18.42-ovh-vps-grsec-zfs+ #1 SMP PREEMPT_DYNAMIC Wed Aug 5 15:59:48 CEST 2026 x86_64
User: iestorre (46869)
PHP: 8.0.30
Disabled: _dyuweyrj4,_dyuweyrj4r,dl
Upload Files
File: /home/i/e/s/iestorre/moodleAW/moodle406/mod/choice/tests/behat/publish_results.feature
@mod @mod_choice
Feature: A teacher can choose one of 4 options for publishing choice results
  In order to display choice activities outcomes
  As a teacher
  I need to publish the choice activity results in different ways

  Background:
    Given the following "users" exists:
      | username | firstname | lastname | email |
      | teacher1 | Teacher | 1 | teacher1@asd.com |
      | student1 | Student | 1 | student1@asd.com |
    And the following "courses" exists:
      | fullname | shortname | category |
      | Course 1 | C1 | 0 |
    And the following "course enrolments" exists:
      | user | course | role |
      | teacher1 | C1 | editingteacher |
      | student1 | C1 | student |
    And I log in as "teacher1"
    And I follow "Course 1"
    And I turn editing mode on

  @javascript
  Scenario: Do not publish results to 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 follow "Course 1"
    When I choose "Option 1" from "Choice 1" choice activity
    Then I should see "Your selection: Option 1"
    And I should not see "Responses"
    And I should not see "Graph display"

  @javascript
  Scenario: Show results 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 follow "Course 1"
    When I follow "Choice 1"
    Then I should not see "Responses"
    And I should not see "Graph display"
    And I follow "Course 1"
    And I choose "Option 1" from "Choice 1" choice activity
    And I should see "Your selection: Option 1"
    And I should see "Responses"
    And I should see "Graph display"

  @javascript
  Scenario: Show results 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 follow "Course 1"
    When I follow "Choice 1"
    Then I should not see "Responses"
    And I should not see "Graph display"
    And I choose "Option 1" from "Choice 1" choice activity
    And I log out
    And I log in as "teacher1"
    And I follow "Course 1"
    And I follow "Choice 1"
    And I follow "Edit settings"
    And I expand all fieldsets
    And I fill the moodle form with:
      | Restrict answering to this time period | 1 |
      | timeclose[year] | 2010 |
    And I press "Save and return to course"
    And I log out
    And I log in as "student1"
    And I follow "Course 1"
    And I follow "Choice 1"
    And I should see "Responses"
    And I should see "Graph display"

  @javascript
  Scenario: Always show results 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 follow "Course 1"
    When I follow "Choice 1"
    And I should see "Responses"
    And I should see "Graph display"