0 features failed of 23 features
0 scenarios failed of 28 scenarios
0 steps failed of 903


Suite: core_features

Feature: Annotation via smart evnidence map

In order to verify the empty annotations are disabled
As an admin
So I can annotate people's work

Feature: Annotation block is off by default

In order to verfify the annotation block is off by default but is still accessible
As an admin
So I can annotate people's work

Feature: Mahara users can export collections with bulk option

As a Mahara user
I want to export collections in bulk
So that I can have the same options of exporting as I when exporting pages.

Feature: The external block should be added and configured in a page

In order to make sure it is installed
As a user I add the block to a page

Feature: Make sure 'framework' module is installed and we can add it

to a collection
In order to use SmartEvidence
As an admin
So I can benefit from the recording/marking of SmartEvidence in a
Mahara institution

Feature: Work flow for institution member submitting collection with

SmartEvidence and institution staff leaving feedback on the
submission.

Feature: Isolated Institutions functionality

By turning on isolated institutions
1) all institutions on the site are isolated
2) people from different institutions cannot
a) see each others' profiles
b) share portfolios
c) join groups set up by non-institution members
d) send messages
e) become friends
3) only site administrators can contact everyone
4) being a member in multiple institutions is not possible
5) all self-registrations need to be confirmed by an institution or site administrator
6) public groups can only be created by site administrators
7) the "Online users" side block can only show institution members at maximum
8) profile pages are not available to all registered users
9) The site administrator can turn on the site setting "See own groups only" in Administration menu → Configure site → Site options → Group settings. This will allow regular institution members to only see groups in which they are a member and other people who are members in the same groups, restricting the contact they can have with others.
10) Institution administrators decide in the institution settings whether the online users side block shall be displayed with just the institution members or not.
11) When an institution member gains access to a profile URL from another institution member, they cannot see the page at all and receive the “Access denied” message, preventing them from even seeing the restricted profile as they should not be able to find out anything about a member of another institution.

Feature: Show Creative commons license conditions in a page block

In order to for others to know if they can use my page content
As a user
I want to display the license for my page in a page block

Feature: Displaying more pages.


In order to be able to display more pages and collections

As a user
So I can view only a limited amount of pages at one time and display
more via the 'Show more' button.

Feature: Moderate forum posts

As a moderator of a group
I want to moderate a forum posts
So that other group members can read the latest posts

Feature: Make sure 'monitor' module is installed and we can access it

In order to view monitor module
As an admin
So I can benefit from knowing that Mahara site is running as expected

Feature: Configure navigation block

As a user
I want to add a navigation block to my page
So I can easily get from that page to another

Feature: "People online"" side block is displayed on right hand side of pages

and displays all people that have been online within the last 10 minutes
So I can know who is on line or online within the last 10 minutes

Feature: The openbadges block should be present

In order to make sure it is installed
As a user I add the block to a page

Feature: Add recent forum posts block to a group page

As a member of a group
I want to add a recent forum posts block to my page
So that other group members can read the latest posts

Feature: Profile page can be shared publicly

As a user
I want to sahre my Portfolio pages on my public profile page
So that visitors can quickly browse to see them

Feature: SmartEvidence editor

As a site administrator
I want to edit or copy a framework matrix

Feature: SmartEvidence work flow from institution member submitting to Institution staff making

and adding comments to collection submission.

Feature: Strict privacy switch

As a new person logging in for the first time
When strict privacy is enabled
I should be required to accept the privacy statement

Feature: TinyMCE mathslate plugin

In order to view mathslate plugin
As an admin
I need to be able to access mathslate in Tinymce

Feature: Unsubscribing from watchlist via link in email

In order to unsubscribe from watchlist for page I am watching
As a user
I click on unsubscription link in email

Feature: Viewing pages that you have added to watchlist

In order to view a list of pages I am watching
As an admin
So I can access them from my dashboard

Feature: To create and test a webservice service group

In order to use webservices
As an admin
So I can benefit from the cross over of Moodle/Mahara
and check correct group fields are returned


Feature: Annotation via smart evnidence map

In order to verify the empty annotations are disabled
As an admin
So I can annotate people's work

  • Given the following "pages" exist:

    | title | description | ownertype | ownername |
    | Page admin_01 | Page 01 | user | admin |
    | Page admin_02 | Page 02 | user | admin |
    | Page admin_03 | Page 03 | user | admin |
    | Page admin_04 | Page 04 | user | admin |

  • And the following "collections" exist:

    | title | description | ownertype | ownername | pages |
    | Collection admin_01 | Collection 01 | user | admin | Page admin_01, Page admin_02, Page admin_03, Page admin_04 |

  • Given I log in as "admin" with password "Kupuh1pa!"
  • And I choose "Plugin administration" in "Extensions" from administration menu
  • And I click on "Show" in the "#activate_blocktype_annotation_submit_container" "css_element"
  • And I should see "Hide" in the "Smartevidence" "Smartevidence" property
  • And I choose "Settings" in "Institutions" from administration menu
  • And I click on "Edit"
  • And I enable the switch "Allow SmartEvidence"
  • And I click on "Submit"
  • And I choose "SmartEvidence" in "Extensions" from administration menu
  • And I click on "Import" in the "Arrow-bar nav" "Nav" property
  • And I attach the file "example.matrix" to "Matrix file"
  • And I click on "Upload matrix"
  • Then I should see "Title of your framework"
  • And I choose "Portfolios" in "Create" from main menu
  • And I click on "Edit" in "Collection admin_01" card menu
  • And I select "Title of your framework" from "SmartEvidence framework"
  • And I click on "Save"
  • And I click on "Collection admin_01"
  • And I click on the matrix point "4,5"
  • And I wait "1" seconds
  • And I click on "Save"
  • And I should see "This field is required"

Feature: Annotation block is off by default

In order to verfify the annotation block is off by default but is still accessible
As an admin
So I can annotate people's work

  • Given the following "pages" exist:

    | title | description | ownertype | ownername |
    | Page admin_01 | Page 01 | admin | admin |

  • Given I log in as "admin" with password "Kupuh1pa!"
  • And I click on "Page admin_01"
  • And I click on "Edit"
  • When I click on the add block button
  • And I click on "Add" in the "Add new block" "Blocks" property
  • And I click on "Show more"
  • And I click on "Show more"
  • And I should not see "Annotation" in the "Content types" "Blocks" property
  • And I display the page
  • And I choose "Plugin administration" in "Extensions" from administration menu
  • And I click on "Show" in the "#activate_blocktype_annotation_submit_container" "css_element"
  • And I am on homepage
  • And I click on "Page admin_01"
  • And I click on "Edit"
  • When I click on the add block button
  • And I click on "Add" in the "Add new block" "Blocks" property
  • And I set the field "Block title" to "Annotation"
  • And I click on blocktype "Annotation"
  • And I click on "Save"
  • And I should see "This field is required"
  • And I fill in "Please grade me" in editor "Annotation"
  • And I click on "Save"
  • And I am on homepage
  • And I click on "Page admin_01"
  • And I should see "Annotation"
  • And I should see "Please grade me"

Feature: Mahara users can export collections with bulk option

As a Mahara user
I want to export collections in bulk
So that I can have the same options of exporting as I when exporting pages.

  • Given the following "institutions" exist:

    | name | displayname | registerallowed | registerconfirm |
    | instone | Institution One | ON | OFF |

  • And the following "users" exist:

    | username | password | email | firstname | lastname | institution | authname | role |
    | UserA | Kupuh1pa! | UserA@example.org | Angela | User | instone | internal | Admin |
    | UserB | Kupuh1pa! | UserB@example.org | Bob | User | instone | internal | member |

  • And the following "pages" exist:

    | title | description | ownertype | ownername |
    | Page UserA_01 | Page 01 | user | UserA |
    | Page UserA_02 | Page 02 | user | UserA |
    | Page UserA_03 | Page 02 | user | UserA |

  • And the following "collections" exist:

    | title | description | ownertype | ownername | pages |
    | Collection UserA_01 | Collection 01 | user | UserA | Page UserA_01 |
    | Collection UserA_02 | Collection 02 | user | UserA | Page UserA_02 |
    | Collection UserA_03 | Collection 02 | user | UserA | Page UserA_03 |

  • Given I log in as "UserA" with password "Kupuh1pa!"
  • And I choose "Export" in "Manage" from main menu
  • When I select the radio "Just some of my collections"
  • Then I should see "Select all"
  • And I should see "Reverse selection"
  • When I click on "Select all" in the "#whatcollections" "css_element"
  • Then the "Collection UserA_01" checkbox should be checked
  • And the "Collection UserA_02" checkbox should be checked
  • And the "Collection UserA_03" checkbox should be checked
  • When I click on "Reverse selection" in the "#whatcollections" "css_element"
  • Then the "Collection UserA_01" checkbox should not be checked
  • And the "Collection UserA_02" checkbox should not be checked
  • And the "Collection UserA_03" checkbox should not be checked
  • When I click on "Generate export"
  • Then I should see "You must select at least one collection to export"
  • And I should see "There was an error with submitting this form. Please check the marked fields and try again."
  • When I click on "Select all" in the "#whatcollections" "css_element"
  • Then the "Collection UserA_01" checkbox should be checked
  • And the "Collection UserA_02" checkbox should be checked
  • And the "Collection UserA_03" checkbox should be checked
  • When I click on "Generate export"
  • Then I should see "Please wait while your export is being generated..."
  • Given the following "institutions" exist:

    | name | displayname | registerallowed | registerconfirm |
    | instone | Institution One | ON | OFF |

  • And the following "users" exist:

    | username | password | email | firstname | lastname | institution | authname | role |
    | UserA | Kupuh1pa! | UserA@example.org | Angela | User | instone | internal | Admin |
    | UserB | Kupuh1pa! | UserB@example.org | Bob | User | instone | internal | member |

  • And the following "pages" exist:

    | title | description | ownertype | ownername |
    | Page UserA_01 | Page 01 | user | UserA |
    | Page UserA_02 | Page 02 | user | UserA |
    | Page UserA_03 | Page 02 | user | UserA |

  • And the following "collections" exist:

    | title | description | ownertype | ownername | pages |
    | Collection UserA_01 | Collection 01 | user | UserA | Page UserA_01 |
    | Collection UserA_02 | Collection 02 | user | UserA | Page UserA_02 |
    | Collection UserA_03 | Collection 02 | user | UserA | Page UserA_03 |

  • Given I log in as "admin" with password "Kupuh1pa!"
  • And I choose "Plugin administration" in "Extensions" from administration menu
  • Then I should see "Experimental export option that utilises Headless Chrome to Print PDFs"
  • And I should see "Requires \"chrome-php\""
  • And I should see "Requires the config.php setting \"usepdfexport\" to be true"
  • Given the following "institutions" exist:

    | name | displayname | registerallowed | registerconfirm |
    | instone | Institution One | ON | OFF |

  • And the following "users" exist:

    | username | password | email | firstname | lastname | institution | authname | role |
    | UserA | Kupuh1pa! | UserA@example.org | Angela | User | instone | internal | Admin |
    | UserB | Kupuh1pa! | UserB@example.org | Bob | User | instone | internal | member |

  • And the following "pages" exist:

    | title | description | ownertype | ownername |
    | Page UserA_01 | Page 01 | user | UserA |
    | Page UserA_02 | Page 02 | user | UserA |
    | Page UserA_03 | Page 02 | user | UserA |

  • And the following "collections" exist:

    | title | description | ownertype | ownername | pages |
    | Collection UserA_01 | Collection 01 | user | UserA | Page UserA_01 |
    | Collection UserA_02 | Collection 02 | user | UserA | Page UserA_02 |
    | Collection UserA_03 | Collection 02 | user | UserA | Page UserA_03 |

  • Given I log in as "admin" with password "Kupuh1pa!"
  • When I choose "Settings" in "Institutions" from administration menu
  • And I click on "Edit" in "Institution One" row
  • And I expand the section "Locked fields"
  • And I enable the switch "First name"
  • And I enable the switch "Last name"
  • And I enable the switch "Email address"
  • And I click on "Submit"
  • Then I log out
  • Given I log in as "UserB" with password "Kupuh1pa!"
  • When I choose "Import" in "Manage" from main menu
  • And I attach the file "leap2a.xml" to "import_leap2afile"
  • And I click on "Import" in the "#import" "css_element"
  • Then I should see "Choose the way to import your portfolio items"
  • When I expand "About me" node
  • And I should see "Ignore" in the "Import First name" "Profile" property
  • And I should see "Ignore" in the "Import Last name" "Profile" property
  • And I should see "Ignore" in the "Import Student ID" "Profile" property
  • And I should see "Add new" in the "Import Student ID" "Profile" property
  • When I expand "Contact information" node
  • Then I should see "Ignore" in the "Import Email address" "Profile" property

Feature: The external block should be added and configured in a page

In order to make sure it is installed
As a user I add the block to a page

  • Given the following "users" exist:

    | username | password | email | firstname | lastname | institution | authname | role |
    | UserA | Kupuh1pa! | UserA@example.org | Angela | User | mahara | internal | member |

  • And the following "pages" exist:

    | title | description | ownertype | ownername |
    | Page UserA_01 | Page 01 | user | UserA |

  • Given I log in as "UserA" with password "Kupuh1pa!"
  • And I choose "Portfolios" in "Create" from main menu
  • And I click on "Edit" in "Page UserA_01" card menu
  • When I click on the add block button
  • And I click on "Add" in the "Add new block" "Blocks" property
  • And I click on blocktype "External feed"
  • Then I should see "URL of a valid RSS or ATOM feed"
  • And I fill in "Feed location" with "https://www.apple.com/main/rss/hotnews/hotnews.rss"
  • And I fill in "Items to show" with "2"
  • And I enable the switch "Show feed items in full"
  • And I click on "Save"
  • Then I should see "provided by Apple."

Feature: Make sure 'framework' module is installed and we can add it

to a collection
In order to use SmartEvidence
As an admin
So I can benefit from the recording/marking of SmartEvidence in a
Mahara institution

  • Given the following "users" exist:

    | username | password | email | firstname | lastname | institution | authname | role |
    | UserA | Kupuh1pa! | UserA@example.org | Angela | User | mahara | internal | admin |

  • And the following "pages" exist:

    | title | description | ownertype | ownername |
    | Page admin_01 | Page A | user | admin |
    | Page admin_02 | Page B | user | admin |
    | Page admin_03 | Page C | user | admin |
    | Page admin_04 | Page D | user | admin |
    | Page admin_05 | Page E | user | admin |
    | Page admin_06 | Page F | user | admin |
    | Page admin_07 | Page G | user | admin |
    | Page admin_08 | Page H | user | admin |

  • And the following "collections" exist:

    | title | description | ownertype | ownername | pages |
    | Collection admin_01 | This is collection A | user | admin | Page admin_01, Page admin_02, Page admin_03, Page admin_04, Page admin_05, Page admin_06, Page admin_07, Page admin_08 |

  • And the following "permissions" exist:

    | title | accesstype |
    | Collection admin_01 | public |

  • And the following "blocks" exist:

    | title | type | page | retractable | updateonly | data |
    | Portfolios shared with me | newviews | Dashboard page: admin | no | yes | limit=5;user=1;friend=1;group=1;loggedin=1;public=1 |
    | Portfolios shared with me | newviews | Dashboard page: UserA | no | yes | limit=5;user=1;friend=1;group=1;loggedin=1;public=1 |

  • Given I log in as "admin" with password "Kupuh1pa!"
  • And I choose "Plugin administration" in "Extensions" from administration menu
  • Then I should see "smartevidence"
  • And I should see "Hide" in the "Smartevidence" "Smartevidence" property
  • And I click on "Show" in the "Annotation" "Smartevidence" property
  • And I choose "SmartEvidence" in "Extensions" from administration menu
  • And I click on "Import" in the "Arrow-bar nav" "Nav" property
  • And I attach the file "example.matrix" to "Matrix file"
  • And I click on "Upload matrix"
  • Then I should see "Title of your framework"
  • And I choose "Settings" in "Institutions" from administration menu
  • And I click on "Edit" in "No Institution" row
  • And I enable the switch "Allow SmartEvidence"
  • And I click on "Submit"
  • Then I should see "Institution updated successfully."
  • And I choose "Portfolios" in "Create" from main menu
  • And I click on "Edit" in "Collection admin_01" card menu
  • And I select "Title of your framework" from "SmartEvidence framework"
  • And I click on "Save"
  • Then I should see "Collection saved successfully."
  • And I choose "Portfolios" in "Create" from main menu
  • And I click the card "Collection admin_01"
  • And I should see "You are on page 1/9"
  • And I should see "by Admin Account (admin)"
  • And I click on "Next" in the "matrix table" "Smartevidence" property
  • Then I should see "Page admin_06"
  • And I click on "Prev" in the "matrix table" "Smartevidence" property
  • Then I should not see "Page admin_06"
  • And I click on the matrix point "4,5"
  • And I fill in "My two cents" in editor "Annotation"
  • And I click on "Save"
  • And I go to portfolio page "Page admin_02"
  • Then I should see "Annotation"
  • And I click on "Edit"
  • When I click on the add block button
  • And I click on "Add" in the "Add new block" "Blocks" property
  • And I click on blocktype "Annotation"
  • And I fill in "My three cents" in editor "Annotation"
  • And I set the select2 value "1.1 - Sub level of the standard" for "instconf_smartevidence"
  • And I click on "Save"
  • And I choose "Portfolios" in "Create" from main menu
  • And I click the card "Collection admin_01"
  • And I click on the matrix point "4,5"
  • And I fill in "This is annotation feedback" in editor "Feedback"
  • And I click on "Place feedback"
  • And I should not see the field "Assessment"
  • And I close the dialog
  • And I log out
  • Given I log in as "UserA" with password "Kupuh1pa!"
  • And I wait "1" seconds
  • And I click on "Collection admin_01"
  • And I click on the matrix point "4,5"
  • And I wait "1" seconds
  • And I select "Partially meets the standard" from "Assessment"
  • And I click on "Save"
  • Then I should see "SmartEvidence updated"

Feature: Work flow for institution member submitting collection with

SmartEvidence and institution staff leaving feedback on the
submission.

  • Given the following "users" exist:

    | username | password | email | firstname | lastname | institution | authname | role |
    | UserA | Kupuh1pa! | UserA@example.org | Alice | User | mahara | internal | member |
    | UserB | Kupuh1pa! | UserB@example.org | Bob | User | mahara | internal | staff |

  • And the following "pages" exist:

    | title | description | ownertype | ownername |
    | Page UserA_01 | Page 01 | user | UserA |
    | Page UserA_02 | Page 02 | user | UserA |
    | Page UserA_03 | Page 02 | user | UserA |

  • And the following "blocks" exist:

    | title | type | page | retractable | updateonly | data |
    | Portfolios shared with me | newviews | Dashboard page: UserA | no | yes | limit=5;user=1;friend=1;group=1;loggedin=1;public=1 |
    | Portfolios shared with me | newviews | Dashboard page: UserB | no | yes | limit=5;user=1;friend=1;group=1;loggedin=1;public=1 |

  • Given I log in as "admin" with password "Kupuh1pa!"
  • And I choose "Plugin administration" in "Extensions" from administration menu
  • And I click on "Show" in the "#activate_blocktype_annotation_submit_container" "css_element"
  • And I choose "SmartEvidence" in "Extensions" from administration menu
  • And I click on "Import" in the "Arrow-bar nav" "Nav" property
  • And I attach the file "example.matrix" to "Matrix file"
  • And I click on "Upload matrix"
  • And I choose "Settings" in "Institutions" from administration menu
  • And I click on "Edit"
  • And I enable the switch "Allow SmartEvidence"
  • And I click on "Submit"
  • Then I log out
  • Given I log in as "UserA" with password "Kupuh1pa!"
  • And I choose "Portfolios" in "Create" from main menu
  • And I click on "Create" in the "Create" "Views" property
  • When I click on "Collection" in the dialog
  • And I fill in the following:

    | Collection name | SmartEvidence Collection 1 |
    | Collection description | SmartEvidence Collection 1 description |

  • And I select "Title of your framework" from "SmartEvidence framework"
  • And I click on "Next: Edit collection pages"
  • And I click on "All"
  • And I click on "Add pages"
  • When I click on "Next: Edit access"
  • Then I click on "Return to portfolios"
  • And I click on "Manage access" in "SmartEvidence Collection 1" card access menu
  • And I select "Public" from "accesslist[0][searchtype]"
  • And I click on "Save"
  • When I click on "SmartEvidence Collection 1"
  • And I click on the matrix point "3,22"
  • And I fill in "First annotation description" in first editor
  • And I click on "Save"
  • And I click on the matrix point "4,22"
  • And I fill in "First annotation description" in first editor
  • And I click on "Save"
  • And I click on the matrix point "5,22"
  • And I fill in "First annotation description" in first editor
  • And I click on "Save"
  • And I log out
  • Given I log in as "UserB" with password "Kupuh1pa!"
  • And I wait "1" seconds
  • And I click on "SmartEvidence Collection 1"
  • And I click on the matrix point "3,22"
  • And I fill in "Staff annotation description" in first editor
  • And I click on "Place feedback"
  • And I select "Doesn't meet the standard" from "Assessment"
  • And I click on "Save"
  • And I click on the matrix point "4,22"
  • And I fill in "Staff annotation description" in first editor
  • And I click on "Place feedback"
  • And I select "Partially meets the standard" from "Assessment"
  • And I click on "Save"
  • And I click on the matrix point "5,22"
  • And I fill in "Staff annotation description" in first editor
  • And I click on "Place feedback"
  • And I select "Meets the standard" from "Assessment"
  • And I click on "Save"
  • And I log out
  • Given I log in as "UserA" with password "Kupuh1pa!"
  • And I click on "SmartEvidence Collection 1"
  • And I click on "Next page"
  • When I click on "Place feedback"
  • And I fill in "Mahara member placing feedback" in editor "Feedback"
  • And I click on "Place feedback" in the "Feedback modal content" "Modal" property
  • And I wait "1" seconds
  • When I click on "Feedback (3)"
  • Then I should see "Staff annotation description"
  • And I should see "Assessment: Doesn't meet the standard"
  • And I should see "Mahara member placing feedback"
  • And I should see "Edit" in the "Feedback annotation row 3" "Smartevidence" property
  • And I should not see "Edit" in the "Feedback annotation row 2" "Smartevidence" property

Feature: Isolated Institutions functionality

By turning on isolated institutions
1) all institutions on the site are isolated
2) people from different institutions cannot
a) see each others' profiles
b) share portfolios
c) join groups set up by non-institution members
d) send messages
e) become friends
3) only site administrators can contact everyone
4) being a member in multiple institutions is not possible
5) all self-registrations need to be confirmed by an institution or site administrator
6) public groups can only be created by site administrators
7) the "Online users" side block can only show institution members at maximum
8) profile pages are not available to all registered users
9) The site administrator can turn on the site setting "See own groups only" in Administration menu → Configure site → Site options → Group settings. This will allow regular institution members to only see groups in which they are a member and other people who are members in the same groups, restricting the contact they can have with others.
10) Institution administrators decide in the institution settings whether the online users side block shall be displayed with just the institution members or not.
11) When an institution member gains access to a profile URL from another institution member, they cannot see the page at all and receive the “Access denied” message, preventing them from even seeing the restricted profile as they should not be able to find out anything about a member of another institution.

  • Given the following site settings are set:

    | field | value |
    | isolatedinstitutions | 1 |

  • And the following "institutions" exist:

    | name | displayname | registerallowed | registerconfirm | allowinstitutionpublicviews |
    | instone | Institution One | ON | OFF | 1 |
    | insttwo | Institution Two | ON | OFF | 1 |

  • And the following "users" exist:

    | username | password | email | firstname | lastname | institution | authname | role |
    | UserA | Kupuh1pa! | UserA@example.org | Alice | User | instone | internal | admin |
    | UserB | Kupuh1pa! | UserB@example.org | Bob | User | instone | internal | staff |
    | UserC | Kupuh1pa! | UserC@example.org | Carol | User | instone | internal | member |
    | UserD | Kupuh1pa! | UserD@example.org | Danny | User | instone | internal | member |
    | UserE | Kupuh1pa! | UserE@example.org | Earl | User | instone | internal | member |
    | UserF | Kupuh1pa! | UserF@example.org | Fred | User | insttwo | internal | admin |
    | UserG | Kupuh1pa! | UserG@example.org | Gail | User | insttwo | internal | staff |
    | UserH | Kupuh1pa! | UserH@example.org | Hennry | User | insttwo | internal | member |
    | UserI | Kupuh1pa! | UserI@example.org | Ian | User | insttwo | internal | member |
    | UserJ | Kupuh1pa! | UserJ@example.org | Jake | User | insttwo | internal | member |

  • And the following "groups" exist:

    | name | owner | description | institution | grouptype | open | invitefriends | editroles | submittableto | allowarchives | members | staff |
    | GroupA | UserA | GroupA owned by UserA | instone | standard | ON | OFF | all | ON | OFF | UserB, UserC, UserD | UserE |
    | GroupB | UserA | GroupB owned by UserA | instone | standard | ON | OFF | all | ON | OFF | | |
    | GroupF | UserF | GroupF owned by UserF | insttwo | standard | ON | OFF | all | ON | OFF | UserF, UserG, UserH | UserI |
    | GroupG | UserF | GroupG owned by UserF | insttwo | standard | ON | OFF | all | ON | OFF | | |

  • And the following "pages" exist:

    | title | description | ownertype | ownername |
    | Page UserA_01 | Page 01 | user | UserA |
    | Page UserB_01 | Page 01 | user | UserB |
    | Page UserC_01 | Page 01 | user | UserC |

  • And the following "permissions" exist:

    | title | accesstype |
    | Page UserA_01 | public |
    | Page UserB_01 | public |
    | Page UserC_01 | public |

  • Given I log in as "UserC" with password "Kupuh1pa!"
  • When I choose "Institution membership" in "Settings" from account menu
  • Then I should see "You are a member of Institution One"
  • And I should not see "Request membership of an institution"
  • When I choose "People" in "Engage" from main menu
  • Then I should see "Alice User"
  • And I should see "Bob User"
  • And I should not see "Fred User"
  • And I should not see "Jake User"
  • When I select "Everyone" from "Filter"
  • And I click on "Search"
  • Then I should see "Alice User"
  • And I should not see "Jake User"
  • When I choose "Groups" in "Engage" from main menu
  • Then I should see "GroupA"
  • And I should not see "GroupB"
  • And I should not see "GroupF"
  • When I select "Groups I'm in" from "Filter"
  • And I click on "Search"
  • Then I should see "GroupA"
  • And I should not see "GroupB"
  • And I should not see "GroupF"
  • When I select "Groups I own" from "Filter"
  • And I click on "Search"
  • Then I should see "No groups found"
  • When I select "Groups I can join" from "Filter"
  • And I click on "Search"
  • Then I should see "GroupB"
  • And I should not see "GroupF"
  • When I select "Groups I'm not in" from "Filter"
  • And I click on "Search"
  • Then I should see "GroupB"
  • And I should not see "GroupF"
  • When I click on "Inbox"
  • And I click on "Compose"
  • And I fill in select2 input "sendmessage_recipients" with "UserB" and select "Bob User"
  • And I fill in select2 input "sendmessage_recipients" with "UserF" and is not found
  • And I log out
  • And I log in as "UserB" with password "Kupuh1pa!"
  • And I log out
  • And I log in as "UserF" with password "Kupuh1pa!"
  • And I log out
  • And I log in as "UserC" with password "Kupuh1pa!"
  • When I go to the profile page of "UserB"
  • Then I should see "Staff of Institution One"
  • When I go to the profile page of "UserF"
  • Then I should see "Access denied"

Feature: Show Creative commons license conditions in a page block

In order to for others to know if they can use my page content
As a user
I want to display the license for my page in a page block

  • Given the following "users" exist:

    | username | password | email | firstname | lastname | institution | authname | role |
    | UserA | Kupuh1pa! | UserA@example.org | Angela | User | mahara | internal | member |

  • And the following "pages" exist:

    | title | description | ownertype | ownername |
    | Page UserA_01 | Page 01 | user | UserA |

  • Given I log in as "UserA" with password "Kupuh1pa!"
  • And I choose "Portfolios" in "Create" from main menu
  • And I click on "Edit" in "Page UserA_01" card menu
  • When I click on the add block button
  • And I click on "Add" in the "Add new block" "Blocks" property
  • And I click on blocktype "Creative Commons license"
  • And I set the field "Block title" to "Creative Commons license"
  • And I enable the switch "Allow commercial uses of your work?"
  • And I select "Yes, as long as others share alike" from "Allow modifications of your work?"
  • And I select "4.0" from "License version"
  • And I select "Automatically retract" from "Retractable"
  • And I click on "Save"
  • And I display the page
  • Then I should not see "Permissions beyond the scope of this license may be available"
  • And I expand "Creative Commons license" node
  • Then I should see "Page UserA_01 by Angela User is licensed under a Creative Commons Attribution-Share Alike 4.0 Unported license."
  • When I click on "Edit"
  • And I configure the block "Creative Commons license"
  • And I disable the switch "Allow commercial uses of your work?"
  • And I select "Yes" from "Allow modifications of your work?"
  • And I click on "Save"
  • And I display the page
  • And I expand "Creative Commons license" node
  • And I should see "Page UserA_01 by Angela User is licensed under a Creative Commons Attribution-Noncommercial 4.0 Unported license."

Feature: Displaying more pages.


In order to be able to display more pages and collections

As a user
So I can view only a limited amount of pages at one time and display
more via the 'Show more' button.

  • Given the following "users" exist:

    | username | password | email | firstname | lastname | institution | authname | role |
    | UserA | Kupuh1pa! | UserA@example.org | Angela | User | mahara | internal | member |
    | UserB | Kupuh1pa! | UserB@example.org | Bob | User | mahara | internal | member |

  • And the following "pages" exist:

    | title | description | ownertype | ownername |
    | Page UserA_01 | Page 01 | user | UserA |
    | Page UserA_02 | Page 02 | user | UserA |
    | Page UserA_03 | Page 03 | user | UserA |
    | Page UserA_04 | Page 04 | user | UserA |
    | Page UserA_05 | Page 05 | user | UserA |
    | Page UserA_06 | Page 06 | user | UserA |
    | Page UserA_07 | Page 07 | user | UserA |
    | Page UserA_08 | Page 08 | user | UserA |
    | Page UserA_09 | Page 09 | user | UserA |
    | Page UserA_10 | Page 10 | user | UserA |
    | Page UserA_11 | Page 11 | user | UserA |
    | Page UserA_12 | Page 12 | user | UserA |
    | Page UserA_13 | Page 13 | user | UserA |
    | Page UserA_14 | Page 14 | user | UserA |
    | Page UserA_15 | Page 15 | user | UserA |
    | Page UserA_16 | Page 16 | user | UserA |
    | Page UserA_17 | Page 17 | user | UserA |
    | Page UserA_18 | Page 18 | user | UserA |
    | Page UserA_19 | Page 19 | user | UserA |
    | Page UserA_20 | Page 20 | user | UserA |
    | Page UserA_21 | Page 21 | user | UserA |
    | Page UserA_22 | Page 22 | user | UserA |
    | Page UserA_23 | Page 23 | user | UserA |
    | Page UserA_24 | Page 24 | user | UserA |
    | Page UserA_25 | Page 25 | user | UserA |
    | Page UserA_26 | Page 26 | user | UserA |
    | Page UserA_27 | Page 27 | user | UserA |
    | Page UserA_28 | Page 28 | user | UserA |
    | Page UserA_29 | Page 29 | user | UserA |
    | Page UserA_30 | Page 30 | user | UserA |
    | Page UserA_31 | Page 31 | user | UserA |
    | Page UserA_32 | Page 32 | user | UserA |
    | Page UserA_33 | Page 33 | user | UserA |
    | Page UserA_34 | Page 34 | user | UserA |
    | Page UserA_35 | Page 35 | user | UserA |
    | Page UserA_36 | Page 36 | user | UserA |
    | Page UserA_37 | Page 37 | user | UserA |
    | Page UserA_38 | Page 38 | user | UserA |
    | Page UserA_39 | Page 39 | user | UserA |
    | Page UserA_40 | Page 40 | user | UserA |
    | Page UserA_41 | Page 41 | user | UserA |
    | Page UserA_42 | Page 42 | user | UserA |
    | Page UserA_43 | Page 43 | user | UserA |
    | Page UserA_44 | Page 44 | user | UserA |
    | Page UserA_45 | Page 45 | user | UserA |
    | Page UserA_46 | Page 46 | user | UserA |
    | Page UserA_47 | Page 47 | user | UserA |
    | Page UserA_48 | Page 48 | user | UserA |
    | Page UserA_49 | Page 49 | user | UserA |
    | Page UserA_50 | Page 50 | user | UserA |
    | Page UserA_51 | Page 51 | user | UserA |

  • Given I log in as "UserA" with password "Kupuh1pa!"
  • And I choose "Portfolios" in "Create" from main menu
  • And I select "atoz" from "orderby"
  • And I click on "Search" in the "#searchviews_submit_container" "css_element"
  • And I choose "Shared by me" in "Share" from main menu
  • And I click on "Edit access" in "Page UserA_01" row
  • And I set the select2 value "Page UserA_01, Page UserA_02, Page UserA_03, Page UserA_04, Page UserA_05, Page UserA_06, Page UserA_07, Page UserA_08, Page UserA_09, Page UserA_10, Page UserA_11, Page UserA_12, Page UserA_13, Page UserA_14, Page UserA_15, Page UserA_16, Page UserA_17, Page UserA_18, Page UserA_19, Page UserA_20, Page UserA_21, Page UserA_22, Page UserA_23, Page UserA_24, Page UserA_25, Page UserA_26, Page UserA_27, Page UserA_28, Page UserA_29, Page UserA_30, Page UserA_31, Page UserA_32, Page UserA_33, Page UserA_34, Page UserA_35, Page UserA_36, Page UserA_37, Page UserA_38, Page UserA_39, Page UserA_40, Page UserA_41, Page UserA_42, Page UserA_43, Page UserA_44, Page UserA_45, Page UserA_46, Page UserA_47, Page UserA_48, Page UserA_49, Page UserA_50, Page UserA_51" for "editaccess_views"
  • And I select "Public" from "accesslist[0][searchtype]"
  • And I click on "Save"
  • And I log out
  • And I log in as "UserB" with password "Kupuh1pa!"
  • And I choose "Shared with me" in "Share" from main menu
  • And I check "Registered people"
  • And I check "Public"
  • And I select "title" from "sort"
  • And I click on "Search" in the "#search_submit_container" "css_element"
  • Then I should see "Results per page:"
  • And I select "1" from "limit"
  • And I should see "Page UserA_01"
  • And I should not see "Page UserA_02"
  • And I select "10" from "limit"
  • And I should see "Page UserA_10"
  • And I should not see "Page UserA_11"
  • And I select "20" from "limit"
  • And I should see "Page UserA_20"
  • And I should not see "Page UserA_21"
  • And I select "50" from "limit"
  • And I should see "Page UserA_50"
  • And I should not see "Page UserA_51"

Feature: Moderate forum posts

As a moderator of a group
I want to moderate a forum posts
So that other group members can read the latest posts

  • Given the following "users" exist:

    | username | password | email | firstname | lastname | institution | authname | role |
    | UserA | Kupuh1pa! | UserA@example.org | Angela | User | mahara | internal | admin |
    | UserB | Kupuh1pa! | UserB@example.org | Bob | User | mahara | internal | member |
    | UserC | Kupuh1pa! | UserC@example.org | Cecilia | User | mahara | internal | member |
    | UserD | Kupuh1pa! | UserD@example.org | Dave | User | mahara | internal | member |

  • And the following "groups" exist:

    | name | owner | description | grouptype | open | invitefriends | editroles | submittableto | allowarchives | members | staff |
    | GroupA | UserA | GroupA owned by UserA | standard | ON | OFF | all | ON | OFF | UserB, UserC | |

  • Given I log in as "UserA" with password "Kupuh1pa!"
  • And I choose "Groups" in "Engage" from main menu
  • And I click on "Edit \"GroupA\""
  • And I click on "Forums" in the "Navigation" "Groups" property
  • And I click on "New forum"
  • And I set the following fields to these values:

    | Title | Group A's forum |
    | Description | Talking about things this group can do |

  • And I select "Fully expand" from "Forum indent mode"
  • And I disable the switch "Allow group members to unsubscribe"
  • And I select "UserC" from "Potential moderators"
  • And I click on "Turn selected potential moderators into moderators"
  • And the "moderateposts" select box should contain "None"
  • And the "moderateposts" select box should contain "Posts"
  • And the "moderateposts" select box should contain "Replies"
  • And the "moderateposts" select box should contain "Posts and replies"
  • And I select "Posts and replies" from "moderateposts"
  • And I click on "Save"
  • And I click on "New topic"
  • And I set the following fields to these values:

    | Subject | Taking photos of cats |
    | Message | The difficulty of cat photography is often underrated. You need a fast lens to accurately capture the speed and agility of the cat. |

  • And I enable the switch "Send message now"
  • And I click on "Post"
  • And I log out
  • When I log in as "UserB" with password "Kupuh1pa!"
  • And I choose "Groups" in "Engage" from main menu
  • And I click on "GroupA"
  • And I click on "Forums" in the "Navigation" "Groups" property
  • And I click on "Group A's forum"
  • And I click on "New topic"
  • And I set the following fields to these values:

    | Subject | Bob's forum topic |
    | Message | Bob's topic is now open for discussion |

  • And I click on "Post"
  • And I should see "Awaiting approval"
  • When I click on "Forums"
  • And I click on "Group A's forum"
  • And I click on "Taking photos of cats"
  • And I click on "Reply"
  • And I set the following fields to these values:

    | Message | Bob's Two cents worth |

  • And I click on "Post"
  • And I should see "Awaiting approval"
  • And I log out
  • When I log in as "UserC" with password "Kupuh1pa!"
  • And I choose "Groups" in "Engage" from main menu
  • And I click on "GroupA"
  • And I click on "Forums" in the "Navigation" "Groups" property
  • And I click on "Group A's forum"
  • And I click on "Bob's forum topic"
  • Then I should see "Approve"
  • And I should see "Reject"
  • When I click on "Forum"
  • And I click on "Group A's forum"
  • And I click on "Taking photos of cats"
  • Then I should see "Approve"
  • And I should see "Reject"
  • Then I log out
  • When I log in as "UserA" with password "Kupuh1pa!"
  • And I choose "Groups" in "Engage" from main menu
  • And I click on "GroupA"
  • And I click on "Forums" in the "Navigation" "Groups" property
  • And I click on "Group A's forum"
  • And I click on "Bob's forum topic"
  • Then I should see "Approve"
  • When I click on "Approve"
  • Then I should see "Post approved"
  • And I scroll to the top
  • When I click on "Forums"
  • And I click on "Group A's forum"
  • And I click on "Taking photos of cats"
  • Then I should see "Approve"
  • When I click on "Reject"
  • And I should see "Reason"
  • When I fill in "Reason" with "I cannot allow this"
  • And I click on "Notify author"
  • Then I should see "The post has been removed"

Feature: Make sure 'monitor' module is installed and we can access it

In order to view monitor module
As an admin
So I can benefit from knowing that Mahara site is running as expected

  • Given the following "users" exist:

    | username | password | email | firstname | lastname | institution | authname | role |
    | UserA | Kupuh1pa! | UserA@example.org | Angela | User | mahara | internal | member |

  • Given I log in as "admin" with password "Kupuh1pa!"
  • And I choose "Monitor" in "Admin home" from administration menu
  • Then I should see "Long running processes"
  • And I log out
  • Given I log in as "UserA" with password "Kupuh1pa!"
  • And I go to "/module/monitor/monitor.php"
  • Then I should see "You are forbidden from accessing the administration section"

Feature: Configure navigation block

As a user
I want to add a navigation block to my page
So I can easily get from that page to another

  • Given the following "users" exist:

    | username | password | email | firstname | lastname | institution | authname | role |
    | UserA | Kupuh1pa! | UserA@example.org | Angela | User | mahara | internal | member |

  • Given the following "pages" exist:

    | title | description | ownertype | ownername | instructions |
    | Page UserA_01 | Page 01 description | user | UserA | The instructions for page 1 |
    | Page UserA_02 | Page 02 description | user | UserA | The instructions for page 2 |
    | Page UserA_03 | Page 03 description | user | UserA | The instructions for page 3 |
    | Page UserA_04 | Page 04 description | user | UserA | The instructions for page 4 |

  • And the following "collections" exist:

    | title | description | ownertype | ownername | pages |
    | Collection UserA_01 | This is collection A | user | UserA | Page UserA_01, Page UserA_02 |
    | Collection UserA_02 | This is collection B | user | UserA | Page UserA_03, Page UserA_04 |

  • Given I log in as "UserA" with password "Kupuh1pa!"
  • And I choose "Portfolios" in "Create" from main menu
  • And I click on "Collection UserA_01"
  • And I click on "Edit"
  • When I click on the add block button
  • And I click on "Add" in the "Add new block" "Blocks" property
  • And I click on blocktype "Navigation"
  • And I select "Collection UserA_02" from "Collection"
  • And I set the field "Block title" to "Nav for collection B"
  • And I enable the switch "Add to all pages"
  • And I select "Automatically retract" from "Retractable"
  • And I click on "Save"
  • And I display the page
  • Then I should see "Nav for collection B"
  • And I click on "Next page"
  • And I should not see "Page UserA_04"
  • When I expand "Nav for collection B" node
  • And I click on "Page UserA_04"
  • And I expand "Instructions" node
  • Then I should see "Instructions for page 4"
  • And I should see "You are on page 2/2"

Feature: "People online"" side block is displayed on right hand side of pages

and displays all people that have been online within the last 10 minutes
So I can know who is on line or online within the last 10 minutes

  • And the following site settings are set:

    | field | value |
    | isolatedinstitutions | 0 |

  • Given the following "institutions" exist:

    | name | displayname | registerallowed | registerconfirm |
    | instone | Institution One | ON | OFF |

  • Given the following "users" exist:

    | username | password | email | firstname | lastname | institution | authname | role |
    | UserA | Kupuh1pa! | UserA@example.org | Angela | User | instone | internal | member |
    | UserB | Kupuh1pa! | UserB@example.org | Bob | User | instone | internal | member |
    | UserC | Kupuh1pa! | UserCV@example.org | Carol | User | instone | internal | member |
    | UserD | Kupuh1pa! | UserD@example.org | Dave | User | instone | internal | member |
    | UserE | Kupuh1pa! | UserE@example.org | Earl | User | instone | internal | member |
    | UserF | Kupuh1pa! | UserF@example.org | Fred | User | instone | internal | member |
    | UserG | Kupuh1pa! | UserG@example.org | Gail | User | mahara | internal | member |
    | UserH | Kupuh1pa! | UserH@example.org | Henry | User | mahara | internal | member |
    | UserI | Kupuh1pa! | UserI@example.org | Ian | User | mahara | internal | member |
    | UserJ | Kupuh1pa! | UserJ@example.org | Jake | User | mahara | internal | member |
    | UserO | Kupuh1pa! | UserP@example.org | Olive | User | mahara | internal | member |

  • Given I log in as "UserA" with password "Kupuh1pa!"
  • And I log out
  • And I log in as "UserB" with password "Kupuh1pa!"
  • And I log out
  • And I log in as "UserC" with password "Kupuh1pa!"
  • And I log out
  • And I log in as "UserD" with password "Kupuh1pa!"
  • And I log out
  • And I log in as "UserE" with password "Kupuh1pa!"
  • And I log out
  • And I log in as "UserF" with password "Kupuh1pa!"
  • And I log out
  • And I log in as "UserG" with password "Kupuh1pa!"
  • And I log out
  • And I log in as "UserH" with password "Kupuh1pa!"
  • And I log out
  • And I log in as "UserI" with password "Kupuh1pa!"
  • And I log out
  • And I log in as "UserJ" with password "Kupuh1pa!"
  • And I log out
  • When I log in as "UserO" with password "Kupuh1pa!"
  • Then I should see "Olive User" in the "Online users block" "Blocks" property
  • And I should see "Jake User" in the "Online users block" "Blocks" property
  • And I should see "Ian User" in the "Online users block" "Blocks" property
  • And I should see "Henry User" in the "Online users block" "Blocks" property
  • And I should see "Gail User" in the "Online users block" "Blocks" property
  • And I should see "Fred User" in the "Online users block" "Blocks" property
  • And I should see "Earl User" in the "Online users block" "Blocks" property
  • And I should see "Dave User" in the "Online users block" "Blocks" property
  • And I should see "Carol User" in the "Online users block" "Blocks" property
  • And I should see "Bob User" in the "Online users block" "Blocks" property
  • And I should not see "Angela User" in the "Online users block" "Blocks" property
  • When I click on "Show people online"
  • Then I am on "/user/online.php"
  • And I should see "People online" in the "H1 heading" "Common" property
  • And I should see "Earl User"
  • And I should see "Dave User"
  • And I should see "Carol User"
  • And I should see "Bob User"
  • And I should see "Angela User"
  • And I should not see "Olive User (UserO)"
  • When I jump to page "2" of the list "onlinelist_pagination"
  • Then I should see "Olive User (UserO)"
  • When I click on "Olive User (UserO)"
  • Then I should see "Olive User"
  • And I should see "About me"
  • And I log out
  • And the following site settings are set:

    | field | value |
    | isolatedinstitutions | 0 |

  • Given the following "institutions" exist:

    | name | displayname | registerallowed | registerconfirm |
    | instone | Institution One | ON | OFF |

  • Given the following "users" exist:

    | username | password | email | firstname | lastname | institution | authname | role |
    | UserA | Kupuh1pa! | UserA@example.org | Angela | User | instone | internal | member |
    | UserB | Kupuh1pa! | UserB@example.org | Bob | User | instone | internal | member |
    | UserC | Kupuh1pa! | UserCV@example.org | Carol | User | instone | internal | member |
    | UserD | Kupuh1pa! | UserD@example.org | Dave | User | instone | internal | member |
    | UserE | Kupuh1pa! | UserE@example.org | Earl | User | instone | internal | member |
    | UserF | Kupuh1pa! | UserF@example.org | Fred | User | instone | internal | member |
    | UserG | Kupuh1pa! | UserG@example.org | Gail | User | mahara | internal | member |
    | UserH | Kupuh1pa! | UserH@example.org | Henry | User | mahara | internal | member |
    | UserI | Kupuh1pa! | UserI@example.org | Ian | User | mahara | internal | member |
    | UserJ | Kupuh1pa! | UserJ@example.org | Jake | User | mahara | internal | member |
    | UserO | Kupuh1pa! | UserP@example.org | Olive | User | mahara | internal | member |

  • Given I log in as "UserA" with password "Kupuh1pa!"
  • And I log out
  • And I log in as "UserB" with password "Kupuh1pa!"
  • And I log out
  • And I log in as "UserC" with password "Kupuh1pa!"
  • And I log out
  • And I log in as "UserD" with password "Kupuh1pa!"
  • And I log out
  • And I log in as "UserE" with password "Kupuh1pa!"
  • And I log out
  • And I log in as "UserF" with password "Kupuh1pa!"
  • And I log out
  • And I log in as "UserG" with password "Kupuh1pa!"
  • And I log out
  • And I log in as "UserH" with password "Kupuh1pa!"
  • And I log out
  • And I log in as "UserI" with password "Kupuh1pa!"
  • And I log out
  • And I log in as "UserJ" with password "Kupuh1pa!"
  • And I log out
  • Given I log in as "admin" with password "Kupuh1pa!"
  • And I choose "Settings" in "Institutions" from administration menu
  • And I click on "Edit" in "instone" row
  • And I select "Institution only" from "Show who is online"
  • When I click on "Submit"
  • Then I should see "Institution updated successfully."
  • And I log out
  • Given I log in as "UserA" with password "Kupuh1pa!"
  • Then I should see "Carol User"
  • And I should not see "Gail User"

Feature: The openbadges block should be present

In order to make sure it is installed
As a user I add the block to a page

  • Given the following "users" exist:

    | username | password | email | firstname | lastname | institution | authname | role |
    | UserA | Kupuh1pa! | UserA@example.org | Angela | User | mahara | internal | member |

  • And the following "pages" exist:

    | title | description | ownertype | ownername |
    | Page UserA_01 | Page 01 | user | UserA |

  • Given I log in as "UserA" with password "Kupuh1pa!"
  • And I choose "Portfolios" in "Create" from main menu
  • And I click on "Edit" in "Page UserA_01" card menu
  • When I click on the add block button
  • And I click on "Add" in the "Add new block" "Blocks" property
  • And I click on blocktype "Open Badges"
  • And I click on "Save"

Feature: Add recent forum posts block to a group page

As a member of a group
I want to add a recent forum posts block to my page
So that other group members can read the latest posts

  • Given the following "users" exist:

    | username | password | email | firstname | lastname | institution | authname | role |
    | UserA | Kupuh1pa! | UserA@example.org | Angela | User | mahara | internal | member |
    | UserB | Kupuh1pa! | UserB@example.org | Bob | User | mahara | internal | member |
    | UserC | Kupuh1pa! | UserC@example.org | Cecilia | User | mahara | internal | member |

  • And the following "pages" exist:

    | title | description | ownertype | ownername |
    | Page UserC_01 | Page 01 | user | UserC |

  • And the following "groups" exist:

    | name | owner | description | grouptype | open | invitefriends | editroles | submittableto | allowarchives | members | staff | attachments |
    | GroupA | UserA | GroupA owned by UserA | standard | ON | OFF | all | ON | OFF | UserB, UserC | | Image3.png |

  • And the following "forums" exist:

    | group | title | description | creator | config |
    | GroupA | Group A's forum | Talking about things this group can do | UserA | indentmode=full_indent, autosubscribe=1 |

  • And the following "forumposts" exist:

    | group | forum | user | topic | subject | message | attachments |
    | GroupA | Group A's forum | UserA | Taking photos of cats | | The difficulty of cat photography is often underrated. | Image2.png, mahara_about.pdf, Image3.png |
    | GroupA | Group A's forum | UserB | Taking photos of cats | | I don't know Angela, I just use my phone to photograph my cat, and I've got some pretty good ones! | |
    | GroupA | Group A's forum | UserA | Taking photos of cats | | The difficulty of cat photography is often underrated. You need a fast lens to accurately capture the speed and agility of the cat. | |
    | GroupA | Group A's forum | UserA | Taking photos of Dogs | | The difficulty of Dog photography is often underrated. You need a fast lens to accurately capture the speed and agility of the Dog. | |
    | GroupA | Group A's forum | UserA | Taking photos of Cows | | The difficulty of Cows photography is often underrated. You need a fast lens to accurately capture the speed and agility of the Cows. | |

  • And the following "blocks" exist:

    | title | type | page | retractable | data |
    | Recent Forum Posts | recentforumposts | Page UserC_01 | no | groupname=GroupA; |

  • Given I log in as "UserC" with password "Kupuh1pa!"
  • And I choose "Portfolios" in "Create" from main menu
  • And I click on "Edit" in "Page UserC_01" card menu
  • And I display the page
  • And I wait "1" seconds
  • Then I should see "cat photography is often underrated"
  • And I should see "I just use my phone"
  • And I expand the section "Attached files"
  • And I wait "1" seconds
  • And I should see "Image2.png"
  • And I should see "mahara_about.pdf"
  • And I should see "Image3.png"
  • Given the following "users" exist:

    | username | password | email | firstname | lastname | institution | authname | role |
    | UserA | Kupuh1pa! | UserA@example.org | Angela | User | mahara | internal | member |
    | UserB | Kupuh1pa! | UserB@example.org | Bob | User | mahara | internal | member |
    | UserC | Kupuh1pa! | UserC@example.org | Cecilia | User | mahara | internal | member |

  • And the following "pages" exist:

    | title | description | ownertype | ownername |
    | Page UserC_01 | Page 01 | user | UserC |

  • And the following "groups" exist:

    | name | owner | description | grouptype | open | invitefriends | editroles | submittableto | allowarchives | members | staff | attachments |
    | GroupA | UserA | GroupA owned by UserA | standard | ON | OFF | all | ON | OFF | UserB, UserC | | Image3.png |

  • And the following "forums" exist:

    | group | title | description | creator | config |
    | GroupA | Group A's forum | Talking about things this group can do | UserA | indentmode=full_indent, autosubscribe=1 |

  • And the following "forumposts" exist:

    | group | forum | user | topic | subject | message | attachments |
    | GroupA | Group A's forum | UserA | Taking photos of cats | | The difficulty of cat photography is often underrated. | Image2.png, mahara_about.pdf, Image3.png |
    | GroupA | Group A's forum | UserB | Taking photos of cats | | I don't know Angela, I just use my phone to photograph my cat, and I've got some pretty good ones! | |
    | GroupA | Group A's forum | UserA | Taking photos of cats | | The difficulty of cat photography is often underrated. You need a fast lens to accurately capture the speed and agility of the cat. | |
    | GroupA | Group A's forum | UserA | Taking photos of Dogs | | The difficulty of Dog photography is often underrated. You need a fast lens to accurately capture the speed and agility of the Dog. | |
    | GroupA | Group A's forum | UserA | Taking photos of Cows | | The difficulty of Cows photography is often underrated. You need a fast lens to accurately capture the speed and agility of the Cows. | |

  • And the following "blocks" exist:

    | title | type | page | retractable | data |
    | Recent Forum Posts | recentforumposts | Page UserC_01 | no | groupname=GroupA; |

  • Given I log in as "UserA" with password "Kupuh1pa!"
  • And I choose "Groups" in "Engage" from main menu
  • And I click on "Edit \"GroupA\""
  • And I click on "Forums" in the "Navigation" "Groups" property
  • And I click on "Group A's forum"
  • And I scroll to the base of id "forumtopicstable"
  • And I check "Taking photos of Cows"
  • And I check "Taking photos of Dogs"
  • And I check "Taking photos of cats"
  • And I select "Close" from "action"
  • And I click on "Update selected topics"
  • And I scroll to the base of id "forumtopicstable"
  • And I check "Taking photos of Cows"
  • And I check "Taking photos of Dogs"
  • And I check "Taking photos of cats"
  • And I select "Sticky" from "action"
  • When I click on "Update selected topics"
  • And I click on "Taking photos of Cows"
  • And I click on "Edit topic"
  • And the "Closed" checkbox should be checked
  • And the "Sticky" checkbox should be checked

Feature: Profile page can be shared publicly

As a user
I want to sahre my Portfolio pages on my public profile page
So that visitors can quickly browse to see them

  • Given the following "users" exist:

    | username | password | email | firstname | lastname | institution | authname | role |
    | UserA | Kupuh1pa! | UserA@example.org | Angela | User | mahara | internal | member |

  • And the following "pages" exist:

    | title | description | ownertype | ownername |
    | Page UserA_01 | Page 01 | user | UserA |
    | Page UserA_02 | Page 01 | user | UserA |
    | Page UserA_03 | Page 01 | user | UserA |
    | Page UserA_04 | Page 01 | user | UserA |
    | Page UserA_05 | Page 01 | user | UserA |
    | Page UserA_06 | Page 01 | user | UserA |
    | Page UserA_07 | Page 01 | user | UserA |
    | Page UserA_08 | Page 01 | user | UserA |
    | Page UserA_09 | Page 01 | user | UserA |
    | Page UserA_10 | Page 01 | user | UserA |
    | Page UserA_11 | Page 01 | user | UserA |
    | Page UserA_12 | Page 01 | user | UserA |

  • Given I log in as "UserA" with password "Kupuh1pa!"
  • And I choose "Shared by me" in "Share" from main menu
  • And I click on "Edit access" in "Page UserA_01" row
  • And I set the select2 value "Page UserA_01, Page UserA_02, Page UserA_03, Page UserA_04, Page UserA_05, Page UserA_06, Page UserA_07, Page UserA_08, Page UserA_09, Page UserA_10, Page UserA_11, Page UserA_12" for "editaccess_views"
  • And I select "Public" from "accesslist[0][searchtype]"
  • And I click on "Save"
  • And I click on "Edit access" in "Profile page" row
  • And I select "Public" from "accesslist[1][searchtype]"
  • And I click on "Save"
  • And I log out
  • When I go to the profile page of "UserA"
  • Then I should see "Page UserA_01"
  • And I should not see "Page UserA_12"
  • When I jump to page "2" of the list "myviews_pagination"
  • Then I should see "Page UserA_11"
  • And I should not see "Page UserA_07"

Feature: SmartEvidence editor

As a site administrator
I want to edit or copy a framework matrix

  • Given the following "institutions" exist:

    | name | displayname | registerallowed | registerconfirm |
    | instone | Institution One | ON | OFF |

  • Given I log in as "admin" with password "Kupuh1pa!"
  • And I choose "SmartEvidence" in "Extensions" from administration menu
  • And I click on "Import" in the "Arrow-bar nav" "Nav" property
  • And I attach the file "example.matrix" to "Matrix file"
  • And I click on "Upload matrix"
  • Then I should see "Title of your framework"
  • When I click on "Edit" in "Title of your framework" row
  • And I disable the switch "Active framework"
  • And I click on "Save"
  • Then I should see "Settings saved"
  • When I click on "Editor" in the "Arrow-bar nav" "Nav" property
  • When I select "Title of your framework" from "Edit saved framework"
  • And I wait "1" seconds
  • And the SE field "root.name" should contain "Title of your framework"
  • And I set the SE field "root.name" to "Fish"
  • And the SE field "root.name" should not contain "Title of your framework"
  • And the SE field "root.institution" should contain "all"
  • And I set the SE field "root.institution" to "Institution One"
  • And the SE field "root.evidencestatuses.begun" should contain "Ready for assessment"
  • And the SE field "root.standards.0.name" should contain "Title of the standard"
  • And I set the SE field "root.standards.0.name" to "Standard One"
  • And the SE field "root.description" should contain "You can write more in the description"
  • And I set the SE field "root.description" to "This is my new description"
  • And the SE field "root.selfassess" should contain "No"
  • And I click on "Add" in the "h3:contains('Standards') + button + span" "css_element"
  • And the SE field "root.standards.4.shortname" should contain "Short name"
  • And I set the SE field "root.standards.4.shortname" to "New standard"
  • And I click on "1.2"
  • And the SE field "root.standardelements.1.name" should contain "1.2 - Sub level of the standard"
  • And I scroll to the top
  • And I click on "Save"
  • And I click on "Management" in the "Arrow-bar nav" "Nav" property
  • Then I should see "Fish"
  • Then I should see "Institution One"

Feature: SmartEvidence work flow from institution member submitting to Institution staff making

and adding comments to collection submission.

  • Given the following "users" exist:

    | username | password | email | firstname | lastname | institution | authname | role |
    | UserA | Kupuh1pa! | UserA@example.org | Alice | User | mahara | internal | member |
    | UserB | Kupuh1pa! | UserB@example.org | Bob | User | mahara | internal | staff |

  • And the following "pages" exist:

    | title | description | ownertype | ownername |
    | Page UserA_01 | Page 01 | user | UserA |
    | Page UserA_02 | Page 02 | user | UserA |
    | Page UserA_03 | Page 02 | user | UserA |

  • And the following "blocks" exist:

    | title | type | page | retractable | updateonly | data |
    | Portfolios shared with me | newviews | Dashboard page: UserA | no | yes | limit=5;user=1;friend=1;group=1;loggedin=1;public=1 |
    | Portfolios shared with me | newviews | Dashboard page: UserB | no | yes | limit=5;user=1;friend=1;group=1;loggedin=1;public=1 |

  • Given I log in as "admin" with password "Kupuh1pa!"
  • And I choose "Plugin administration" in "Extensions" from administration menu
  • And I click on "Show" in the "#activate_blocktype_annotation_submit_container" "css_element"
  • And I should see "Hide" in the "Smartevidence" "Smartevidence" property
  • And I choose "SmartEvidence" in "Extensions" from administration menu
  • And I click on "Import" in the "Arrow-bar nav" "Nav" property
  • And I attach the file "example.matrix" to "Matrix file"
  • And I click on "Upload matrix"
  • Then I should see "Title of your framework"
  • And I choose "Settings" in "Institutions" from administration menu
  • And I click on "Edit"
  • And I enable the switch "Allow SmartEvidence"
  • And I click on "Submit"
  • Then I log out
  • Given I log in as "UserA" with password "Kupuh1pa!"
  • And I choose "Portfolios" in "Create" from main menu
  • And I click on "Create" in the "Create" "Views" property
  • When I click on "Collection" in the dialog