Proyectos de Subversion Moodle

Rev

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

@qbank @qbank_columnsortorder @javascript
Feature: Set default question bank column order and size
  In order to set sensible defaults for the question bank interface
  As an admin
  I want to hide, reorder, and resize columns

  Scenario: Admin can reorder question bank columns
    Given I change the window size to "large"
    And I log in as "admin"
    When I navigate to "Plugins > Question bank plugins > Column sort order" in site administration
    And I drag "Created by" "qbank_columnsortorder > column move handle" and I drop it in "T" "qbank_columnsortorder > column move handle"
    Then "Created by" "table_row" should appear before "T" "table_row"
    And I reload the page
    And "Created by" "table_row" should appear before "T" "table_row"
    And I follow "Preview"
    And "Created by" "qbank_columnsortorder > column header" should appear before "T" "qbank_columnsortorder > column header"

  Scenario: Disabling a question bank plugin removes its columns
    Given I log in as "admin"
    When I navigate to "Plugins > Question bank plugins > Column sort order" in site administration
    And I should see "Created by"
    And I click on "Manage question bank plugins" "link"
    And I click on "Disable" "link" in the "View creator" "table_row"
    And I click on "Column sort order" "link"
    Then "Currently disabled question bank plugins:" "text" should appear before "Created by" "text"
    And I click on "Manage question bank plugins" "link"
    And I click on "Enable" "link" in the "View creator" "table_row"
    And I click on "Column sort order" "link"
    Then I should not see "Currently disabled question bank plugins:"
    And I should see "Created by"

  Scenario: Admin can hide a column in site administration page
    Given I log in as "admin"
    And I navigate to "Plugins > Question bank plugins > Column sort order" in site administration
    And "Created by" "table_row" should exist
    When I click on "Actions menu" "link" in the "Created by" "table_row"
    And I choose "Remove" in the open action menu
    Then "Created by" "table_row" should not exist
    And I reload the page
    And "Created by" "table_row" should not exist
    And I follow "Preview"
    And "Created by" "qbank_columnsortorder > column header" should not exist

  Scenario: Admin can show a column in site administration page
    Given the following config values are set as admin:
      | config     | value                                                     | plugin                |
      | hiddencols | qbank_viewcreator\creator_name_column-creator_name_column | qbank_columnsortorder |
    And I log in as "admin"
    And I navigate to "Plugins > Question bank plugins > Column sort order" in site administration
    And "Created by" "table_row" should not exist
    When I press "Add columns"
    And I follow "Created by"
    Then "Created by" "table_row" should exist
    And I reload the page
    And "Created by" "table_row" should exist
    And I follow "Preview"
    And "Created by" "qbank_columnsortorder > column header" should exist

  Scenario: Admin can resize a column in site administration page
    Given I log in as "admin"
    And I navigate to "Plugins > Question bank plugins > Column sort order" in site administration
    And the field "Width of 'Question' in pixels" matches value ""
    When I set the field "Width of 'Question' in pixels" to "400"
    And I reload the page
    Then the field "Width of 'Question' in pixels" matches value "400"
    And I follow "Preview"
    And the "style" attribute of "Question" "qbank_columnsortorder > column header" should contain "width: 400px"

  Scenario: Custom fields can be reordered, resized, hidden and shown
    Given I change the window size to "large"
    And I log in as "admin"
    And I navigate to "Plugins > Question bank plugins > Question custom fields" in site administration
    And I press "Add a new category"
    And I click on "Add a new custom field" "link"
    And I follow "Checkbox"
    And I set the following fields to these values:
      | Name       | checkboxcustomcolumn |
      | Short name | chckcust             |
    And I press "Save changes"
    And I should see "checkboxcustomcolumn"
    And I navigate to "Plugins > Question bank plugins > Column sort order" in site administration
    And "checkboxcustomcolumn" "table_row" should appear after "Comments" "table_row"
    When I drag "checkboxcustomcolumn" "qbank_columnsortorder > column move handle" and I drop it in "Comments" "qbank_columnsortorder > column move handle"
    And I set the field "Width of 'checkboxcustomcolumn' in pixels" to "200"
    And I follow "Preview"
    And "checkboxcustomcolumn" "qbank_columnsortorder > column header" should appear before "Comments" "qbank_columnsortorder > column header"
    And the "style" attribute of "checkboxcustomcolumn" "qbank_columnsortorder > column header" should contain "width: 200px"
    And I follow "Back"
    And "checkboxcustomcolumn" "table_row" should appear before "Comments" "table_row"
    And the field "Width of 'checkboxcustomcolumn' in pixels" matches value "200"
    And I click on "Actions menu" "link" in the "checkboxcustomcolumn" "table_row"
    And I choose "Remove" in the open action menu
    And "checkboxcustomcolumn" "table_row" should not exist
    And I follow "Preview"
    And "checkboxcustomcolumn" "qbank_columnsortorder > column header" should not exist
    And I follow "Back"
    And I press "Add columns"
    And I follow "checkboxcustomcolumn"
    And "checkboxcustomcolumn" "table_row" should exist
    And I follow "Preview"
    And "checkboxcustomcolumn" "qbank_columnsortorder > column header" should exist

  Scenario: Resetting columns on the admin page clears global settings
    Given the following config values are set as admin:
      | config       | value                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          | plugin                |
      | hiddencols   | qbank_usage\question_last_used_column-question_last_used_column                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                | qbank_columnsortorder |
      | enabledcol   | qbank_comment\comment_count_column-comment_count_column,qbank_viewquestionname\question_name_idnumber_tags_column-question_name_idnumber_tags_column,core_question\local\bank\edit_menu_column-edit_menu_column,qbank_editquestion\question_status_column-question_status_column,qbank_history\version_number_column-version_number_column,qbank_statistics\columns\discrimination_index:discrimination_index,qbank_statistics\columns\facility_index:facility_index,qbank_statistics\columns\discriminative_efficiency:discriminative_efficiency,qbank_usage\question_usage_column-question_usage_column,qbank_usage\question_last_used_column-question_last_used_column,qbank_viewcreator\creator_name_column-creator_name_column,qbank_viewcreator\modifier_name_column-modifier_name_column,qbank_viewquestiontype\question_type_column-question_type_column                                                                                                                                                                                                                                                                               | qbank_columnsortorder |
      | colsize      | [{"column":"qbank_comment\\comment_count_column-comment_count_column","width":"20"},{"column":"qbank_viewquestionname\\question_name_idnumber_tags_column-question_name_idnumber_tags_column","width":"300"},{"column":"qbank_editquestion\\question_status_column-question_status_column","width":"20"},{"column":"qbank_history\\version_number_column-version_number_column","width":"20"},{"column":"qbank_statistics\\columns\\discrimination_index:discrimination_index","width":"20"},{"column":"qbank_statistics\\columns\\facility_index:facility_index","width":"20"},{"column":"qbank_statistics\\columns\\discriminative_efficiency:discriminative_efficiency","width":"20"},{"column":"qbank_usage\\question_usage_column-question_usage_column","width":"20"},{"column":"qbank_viewcreator\\creator_name_column-creator_name_column","width":"200"},{"column":"qbank_viewcreator\\modifier_name_column-modifier_name_column","width":"200"},{"column":"qbank_viewquestiontype\\question_type_column-question_type_column","width":"20"},{"column":"core_question\\local\\bank\\edit_menu_column-edit_menu_column","width":"50"}] | qbank_columnsortorder |
    And I change the window size to "large"
    And I log in as "admin"
    And I navigate to "Plugins > Question bank plugins > Column sort order" in site administration
    And "Last used" "table_row" should not exist
    And "Comments" "table_row" should appear before "Question" "table_row"
    And the field "Width of 'Question' in pixels" matches value "300"
    When I follow "Reset columns"
    Then "Last used" "table_row" should exist
    And "Question" "table_row" should appear before "Comments" "table_row"
    And the field "Width of 'Question' in pixels" matches value ""

  Scenario: Deleting a custom field which is removed from the Column sort order
    Given the following "custom field categories" exist:
      | name              | component          | area     | itemid |
      | Category for test | qbank_customfields | question | 0      |
    And the following "custom fields" exist:
      | name    | category          | type | shortname | configdata         |
      | Field 1 | Category for test | text | f1        | {"visibility":"2"} |
      | Field 2 | Category for test | text | f2        | {"visibility":"2"} |
    And I change the window size to "large"
    When I log in as "admin"
    And I navigate to "Plugins > Question bank plugins > Column sort order" in site administration
    And "Field 1" "table_row" should exist
    And "Field 2" "table_row" should exist
    And I click on "Actions menu" "link" in the "Field 1" "table_row"
    And I choose "Remove" in the open action menu

    # Delete a question custom field.
    And I navigate to "Plugins > Question bank plugins > Question custom fields" in site administration
    And I click on "Delete" "link" in the "Field 1" "table_row"
    And I click on "Yes" "button" in the "Confirm" "dialogue"
    And I navigate to "Plugins > Question bank plugins > Column sort order" in site administration
    Then I should see "Column sort order"
    And "Field 2" "table_row" should exist
    And I click on "Actions menu" "link" in the "Field 2" "table_row"
    And I choose "Remove" in the open action menu

    # Delete the question custom category.
    And I navigate to "Plugins > Question bank plugins > Question custom fields" in site administration
    And I click on "[data-role='deletecategory']" "css_element"
    And I click on "Yes" "button" in the "Confirm" "dialogue"
    And I should not see "Category for test" in the "#customfield_catlist" "css_element"
    And I navigate to "Plugins > Question bank plugins > Column sort order" in site administration
    And I should see "Column sort order"