Proyectos de Subversion Moodle

Rev

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

@mod @mod_data
Feature: Users can add the ##actionsmenu## replacement to the database templates
  In order to display all the actions for entries in templates
  As a teacher
  I need to edit the templates and add the actionsmenu replacement

  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 the following "activities" exist:
      | activity | name               | intro          | course | idnumber |
      | data     | Test database name | Database intro | C1     | data1    |
    And the following "mod_data > fields" exist:
      | database | type | name   | description              |
      | data1    | text | field1 | Test field description   |
      | data1    | text | field2 | Test field 2 description |
    And the following "mod_data > templates" exist:
      | database | name            |
      | data1    | singletemplate  |
      | data1    | listtemplate    |
      | data1    | addtemplate     |
      | data1    | asearchtemplate |
      | data1    | rsstemplate     |
    And the following "mod_data > entries" exist:
      | database | user         | field1           | field2                 |
      | data1    | student1     | Student entry 1  | Some student content 1 |
      | data1    | teacher1     | Teacher entry 1  | Some teacher content 1 |
    And I am on the "Test database name" "data activity" page logged in as teacher1
    And I navigate to "Templates" in current page administration
    And I set the field "Templates tertiary navigation" to "List view template"
    And I set the field "Enable code editor" to "0"
    And I set the following fields to these values:
      | Header         | <table>                                              |
      | Repeated entry | <tr><td>[[field1]]</td><td>##actionsmenu##</td><tr>  |
      | Footer         | </table>                                             |
    And I click on "Save" "button" in the "sticky-footer" "region"
    And I set the field "Templates tertiary navigation" to "Single view template"
    And I set the following fields to these values:
      | Single view template | <table><tr><td>[[field1]]</td><td>[[field2]]</td><td>##actionsmenu##</td><tr></table> |
    And I click on "Save" "button" in the "sticky-footer" "region"

  @javascript
  Scenario: The ##actionsmenu## replacement displays the expected actions with default settings depending on the user permissions
    Given I navigate to "Database" in current page administration
    # Teachers should be able to edit/delete all the entries.
    When I open the action menu in "Student entry 1" "table_row"
    Then I should see "Show more"
    And I should see "Edit"
    And I should see "Delete"
    But I should not see "Approve"
    And I should not see "Undo approval"
    And I should not see "Export to portfolio"
    And I press the escape key
    And I open the action menu in "Teacher entry 1" "table_row"
    And I should see "Show more"
    And I should see "Edit"
    And I should see "Delete"
    # Single view (for teacher).
    And I choose "Show more" in the open action menu
    And I should see "Teacher entry 1"
    And I should see "Some teacher content 1"
    And I should not see "Student entry 1"
    And I open the action menu in "Teacher entry 1" "table_row"
    And I should not see "Show more"
    And I should see "Edit"
    And I should see "Delete"
    And I should not see "Approve"
    And I should not see "Undo approval"
    And I should not see "Export to portfolio"
    And I press the escape key
    And I follow "Previous page"
    And I should see "Student entry 1"
    And I should see "Some student content 1"
    And I should not see "Teacher entry 1"
    And I open the action menu in "Student entry 1" "table_row"
    And I should not see "Show more"
    And I should see "Edit"
    And I should see "Delete"
    And I log out
    # Students only should edit/delete their entries.
    But I am on the "Test database name" "data activity" page logged in as student1
    And I open the action menu in "Student entry 1" "table_row"
    And I should see "Show more"
    And I should see "Edit"
    And I should see "Delete"
    And I should not see "Approve"
    And I should not see "Undo approval"
    And I should not see "Export to portfolio"
    And I press the escape key
    And I open the action menu in "Teacher entry 1" "table_row"
    And I should see "Show more"
    And I should not see "Edit"
    And I should not see "Delete"
    # Single view (for student).
    And I choose "Show more" in the open action menu
    And I should see "Teacher entry 1"
    And I should see "Some teacher content 1"
    And I should not see "Student entry 1"
    And I should not see "Actions" in the "Teacher entry 1" "table_row"
    And I follow "Previous page"
    And I should see "Student entry 1"
    And I should see "Some student content 1"
    And I should not see "Teacher entry 1"
    And I open the action menu in "Student entry 1" "table_row"
    And I should not see "Show more"
    And I should see "Edit"
    And I should see "Delete"
    And I should not see "Approve"
    And I should not see "Undo approval"
    And I should not see "Export to portfolio"

  @javascript
  Scenario: The ##actionsmenu## replacement displays the Approval/Undo approval options
    Given I navigate to "Settings" in current page administration
    And I follow "Entries"
    And I set the field "Approval required" to "Yes"
    And I press "Save and display"
    When I navigate to "Database" in current page administration
    # Teachers should be able to approve/unapprove all the entries from list view.
    And I open the action menu in "Student entry 1" "table_row"
    Then I should see "Approve"
    And I should not see "Undo approval"
    And I choose "Approve" in the open action menu
    And I should see "Entry approved"
    And I press "Dismiss this notification"
    And I open the action menu in "Student entry 1" "table_row"
    And I should see "Undo approval"
    And I should not see "Approve" in the ".menu-action-text" "css_element"
    And I press the escape key
    And I open the action menu in "Teacher entry 1" "table_row"
    And I should see "Undo approval"
    And I should not see "Approve" in the ".menu-action-text" "css_element"
    # Single view (for teacher).
    And I choose "Show more" in the open action menu
    And I should see "Teacher entry 1"
    And I open the action menu in "Teacher entry 1" "table_row"
    And I should see "Undo approval"
    And I should not see "Approve"
    And I press the escape key
    And I follow "Previous page"
    And I should see "Student entry 1"
    And I open the action menu in "Student entry 1" "table_row"
    And I should not see "Approve"
    And I should see "Undo approval"
    # Check entries can be approved/unapproved from single view too.
    And I choose "Undo approval" in the open action menu
    And I should see "Entry unapproved"
    And I press "Dismiss this notification"
    And I open the action menu in "Student entry 1" "table_row"
    And I should see "Approve"
    And I should not see "Undo approval"
    And I log out
    # Students should not see the Approve/Undo approval options.
    But I am on the "Test database name" "data activity" page logged in as student1
    And I open the action menu in "Teacher entry 1" "table_row"
    And I should not see "Approve"
    And I should not see "Undo approval"
    And I press the escape key
    And I open the action menu in "Student entry 1" "table_row"
    And I should not see "Approve"
    And I should not see "Undo approval"
    # Single view (for student).
    And I choose "Show more" in the open action menu
    And I should see "Student entry 1"
    And I open the action menu in "Student entry 1" "table_row"
    And I should not see "Approve"
    And I should not see "Undo approval"
    And I follow "Next page"
    And I should see "Teacher entry 1"
    And I should not see "Actions" in the "Teacher entry 1" "table_row"

  @javascript
  Scenario: The ##actionsmenu## replacement displays the Export to portfolio options
    Given I log in as "admin"
    And the following config values are set as admin:
      | enableportfolios | 1 |
    And I navigate to "Plugins > Portfolios > Manage portfolios" in site administration
    And I set portfolio instance "File download" to "Enabled and visible"
    And I click on "Save" "button"
    And I log out
    And I am on the "Test database name" "data activity" page logged in as teacher1
    # Teachers should be able to export to portfolio all the entries from list view.
    When I open the action menu in "Student entry 1" "table_row"
    Then I should see "Export to portfolio"
    And I choose "Export to portfolio" in the open action menu
    And I should see "Configure exported data"
    And I press "Cancel"
    And I click on "Yes" "button" in the "Confirm" "dialogue"
    And I open the action menu in "Teacher entry 1" "table_row"
    And I should see "Export to portfolio"
    # Single view (for teacher).
    And I choose "Show more" in the open action menu
    And I should see "Teacher entry 1"
    And I open the action menu in "Teacher entry 1" "table_row"
    And I should see "Export to portfolio"
    And I press the escape key
    And I follow "Previous page"
    And I should see "Student entry 1"
    And I open the action menu in "Student entry 1" "table_row"
    And I should see "Export to portfolio"
    # Check entries can be exported from single view too.
    And I choose "Export to portfolio" in the open action menu
    And I should see "Configure exported data"
    And I log out
    # Students should only export their entries.
    But I am on the "Test database name" "data activity" page logged in as student1
    And I open the action menu in "Teacher entry 1" "table_row"
    And I should not see "Export to portfolio"
    And I press the escape key
    And I open the action menu in "Student entry 1" "table_row"
    And I should see "Export to portfolio"
    And I choose "Export to portfolio" in the open action menu
    And I should see "Configure exported data"
    And I press "Cancel"
    And I click on "Yes" "button" in the "Confirm" "dialogue"
    And I open the action menu in "Teacher entry 1" "table_row"
    # Single view (for student).
    And I choose "Show more" in the open action menu
    And I should see "Teacher entry 1"
    And I should not see "Actions" in the "Teacher entry 1" "table_row"
    And I follow "Previous page"
    And I should see "Student entry 1"
    And I open the action menu in "Student entry 1" "table_row"
    And I should see "Export to portfolio"
    And I choose "Export to portfolio" in the open action menu
    And I should see "Configure exported data"

  @javascript
  Scenario: The ##actionsmenu## replacement does not display the Export to portfolio option when there are no portfolios enabled
    Given I log in as "admin"
    And the following config values are set as admin:
      | enableportfolios | 1 |
    And I log out
    And I am on the "Test database name" "data activity" page logged in as teacher1
    When I open the action menu in "Student entry 1" "table_row"
    Then I should not see "Export to portfolio"
    And I log out
    # If we enable, at least, one portfolio, the Export to portfolio option should be displayed.
    But I log in as "admin"
    And I navigate to "Plugins > Portfolios > Manage portfolios" in site administration
    And I set portfolio instance "File download" to "Enabled and visible"
    And I click on "Save" "button"
    And I log out
    And I am on the "Test database name" "data activity" page logged in as teacher1
    And I open the action menu in "Student entry 1" "table_row"
    And I should see "Export to portfolio"

  @javascript
  Scenario: The Edit option in the ##actionsmenu## replacement is working
    Given I navigate to "Database" in current page administration
    # Teachers should be able to edit any entry.
    And I open the action menu in "Student entry 1" "table_row"
    When I choose "Edit" in the open action menu
    And I set the field "field2" to "Some MODIFIED BY THE TEACHER student content 1"
    And I click on "Save" "button"
    # Single view (for teacher).
    Then I should see "Some MODIFIED BY THE TEACHER student content 1"
    And I should not see "Some student content 1"
    And I open the action menu in "Student entry 1" "table_row"
    And I choose "Edit" in the open action menu
    And I set the field "field2" to "Some MORE TEACHER MODIFICATIONS FOR student content 1"
    And I click on "Save" "button"
    And I should see "Some MORE TEACHER MODIFICATIONS FOR student content 1"
    And I should not see "Some MODIFIED BY THE TEACHER student content 1"
    And I log out
    # Students only should edit their entries.
    But I am on the "Test database name" "data activity" page logged in as student1
    And I open the action menu in "Student entry 1" "table_row"
    And I choose "Edit" in the open action menu
    And I set the field "field2" to "Some MODIFIED student content 1"
    And I click on "Save" "button"
    # Single view (for student).
    And I should see "Some MODIFIED student content 1"
    And I should not see "Some MORE TEACHER MODIFICATIONS FOR student content 1"
    And I open the action menu in "Student entry 1" "table_row"
    And I choose "Edit" in the open action menu
    And I set the field "field2" to "Some MORE MODIFICATIONS FOR student content 1"
    And I click on "Save" "button"
    And I should see "Some MORE MODIFICATIONS FOR student content 1"
    And I should not see "Some MODIFIED student content 1"

  @javascript
  Scenario: The Delete option in the ##actionsmenu## replacement is working
    Given the following "mod_data > entries" exist:
      | database | user         | field1           | field2                 |
      | data1    | student1     | Student entry 2  | Some student content 2 |
      | data1    | teacher1     | Teacher entry 2  | Some teacher content 2 |
    And I navigate to "Database" in current page administration
    # Teachers should be able to delete any entry.
    And I open the action menu in "Student entry 1" "table_row"
    When I choose "Delete" in the open action menu
    Then I should see "Delete entry"
    # Cancel doesn't delete the entry.
    And I click on "Cancel" "button" in the "Confirm" "dialogue"
    And I open the action menu in "Teacher entry 1" "table_row"
    # But Delete removes the entry.
    And I choose "Delete" in the open action menu
    And I should see "Delete entry"
    And I click on "Delete" "button" in the "Confirm" "dialogue"
    And I should see "Entry deleted"
    And I should not see "Teacher entry 1"
    And I should see "Teacher entry 2"
    And I should see "Student entry 1"
    And I should see "Student entry 2"
    # Single view (for teacher).
    And I open the action menu in "Teacher entry 2" "table_row"
    And I choose "Delete" in the open action menu
    And I should see "Delete entry"
    And I click on "Delete" "button" in the "Confirm" "dialogue"
    And I should see "Entry deleted"
    And I should not see "Teacher entry 1"
    And I should not see "Teacher entry 2"
    And I should see "Student entry 1"
    And I should see "Student entry 2"
    And I log out
    # Students only should edit their entries.
    But I am on the "Test database name" "data activity" page logged in as student1
    And I open the action menu in "Student entry 1" "table_row"
    When I choose "Delete" in the open action menu
    Then I should see "Delete entry"
    # Cancel doesn't delete the entry.
    And I click on "Cancel" "button" in the "Confirm" "dialogue"
    And I open the action menu in "Student entry 1" "table_row"
    # But Delete removes the entry.
    And I choose "Delete" in the open action menu
    And I should see "Delete entry"
    And I click on "Delete" "button" in the "Confirm" "dialogue"
    And I should see "Entry deleted"
    And I should not see "Teacher entry 1"
    And I should not see "Teacher entry 2"
    And I should not see "Student entry 1"
    And I should see "Student entry 2"
    # Single view (for student).
    And I open the action menu in "Student entry 2" "table_row"
    And I choose "Delete" in the open action menu
    And I should see "Delete entry"
    And I click on "Delete" "button" in the "Confirm" "dialogue"
    And I should see "Entry deleted"
    And I should not see "Teacher entry 1"
    And I should not see "Teacher entry 2"
    And I should not see "Student entry 1"
    And I should not see "Student entry 2"