0 features failed of 31 features
0 scenarios failed of 49 scenarios
0 steps failed of 1004


Suite: core_features

Feature: Person reports have been moved to Reports section

In order to make sure admin can still access reports
As an admin
I need to check they correct report is shown

Feature: Create an Institution

In order to create an institution
As an admin I need to go Administration
So I can add an institution

Feature: Configuration changes on "Add an account" page

In order to change configuration settings on the "Add an account" page
As an admin
So I can benefit from the use of different configuration changes

Feature: The admin homepage

Test the forms on the admin homepage
As an admin
So I can make sure I can close/open site or clear cache

Feature: Site admin can send messages to anyone regardless of setting "Messages from other people" to "Do not allow anyone to send me messages"

Feature: The Anonymised pages option


In order to be able to see the (Author's name hidden) link

Feature: Mahara people can change their account settings

As a mahara person
I need to change my account settings
1) person can change account notifications settings
--- a. Person selects "Email" from "New page access"
--- b. Person selects "None" from "Comment"
--- c. Person cannot select "None" from "Message from other people"
--- d. Person cannot select "None" from "System message"

2) Person can change account preferences settings
--- a. Person changes "Password" functionality
--- b. Person changes "Username"
--- c. Person changes "Friends control" to "Nobody may add me as a friend"

Feature: Enabling cookie consent

In order to enable cookie consent
As an admin
I need to be able to enable it via a switch

Feature: Set country as a required profile field

As an admin
I want to set the country field to be required
As a user
I see New Zealand as default option when required to fill in country for profile

Feature: Set a custom landing page on login

In order to show a page other than the default dashboard on person login
As an admin
I can set the custom landing page (uses forum topic page)
As a user
I can see custom page on login

Feature: Required plugins

In order to customise mahara we can turn off/on plugins
As an admin
I check that the plugins are activated/deactivated

Feature: Check footer settings and headings correctly displayed

As an admin I want to know
Given I set the footer headings to be visible
When a user logs in, they see the correct headings.

Feature: Static page image visibility

As a site visitor
I want to see images/logos on the static pages when logged in and not logged in
So I know I am on the right website

Feature: Changing the configuration when adding an institution.

In order to change the way an institution is configured
As an admin
So I can have different settings for each institution

Feature: Create Institution tags

In order to create institution tags
As an admin I need to go to Institution tags page
So I can add institution tags

Feature: Confirm update to the privacy statement template on homepage

and dashboard to encourage institutions to write their own text.

Feature: Creating/Deleting links from the Links and Resources sideblock

As an admin
I need to create and delete both public and private links to both external and internal resources
So I can verify that they are usable

Feature: Limit password attempts to 5 tries

In order to make sure you can't make more than 5 bad password attempts at a time
As an admin/user
So I can prevent dictionary attacks on my passwords

Feature: Notification when a user is about to reach their quota

In order to verify notification when reaching a quota
As an admin create users
So I can change their quota limit and verify notification

Feature: Validating multiple notification settings

Log in as admin and as a regular account holder to confirm default notification options are available in the select box
Secondly, check that the notification types are listed alphabetically

Feature: Profile completion functionality

Site admin sets up profile completion and determines what fields are required
so that the profile completion block will display on dashboard indicating what needs to be completed

Feature: Registration procedure

In order to check that a person can register
As an admin
So people can have access to their Mahara

Feature: Checking specific registered data is being sent

In order to check specific registered data is being sent
As an admin
So I can send this data out

Feature: Required plugins

In order to utilize default Mahara certain required plugins need to be active for the site
As an admin
I check that the plugins are active

Feature: Required social media

In order to make social media profile information required for the site
As an admin
So students have to provide mandatory credentials

Feature: Blocks are Retractable

In order to control page layout
Users should be able to
make blocks retractable if they choose to

Feature: Configuring the site options page

In order to change the configuration settings on the site options page
As an admin
So I can configure the site to the way the client wants

Feature: Creating people and an institution enrolling people and changing their passwords

In order to change passwords successfully
As an admin create accounts and create an institution
So I can log in as those people and change their password successfully

Feature: Configuration on people search page

In order to change the configuration of the people search page
As an admin
So I can benefit from the use of different configurations

Feature: People self deletion requires current password

Feature: Allow page themes

In order to allow an author to use a theme on a page
Enable "People can choose page themes" setting
Log in as a person and confirm it works


Feature: Person reports have been moved to Reports section

In order to make sure admin can still access reports
As an admin
I need to check they correct report is shown

  • Given the following "institutions" exist:

    | name | displayname | registerallowed | registerconfirm |
    | instone | Institution One | ON | OFF |
    | insttwo | Institution Two | 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 |

  • Given I log in as "admin" with password "Kupuh1pa!"
  • And I choose "People search" in "People" from administration menu
  • When I click on "Angela"
  • And I click on "Account settings"
  • Then I should see "Authentication method"
  • And the "Authentication method" select box should contain "Institution One: internal"
  • And the "Authentication method" select box should contain "No Institution: Internal"
  • And the "Authentication method" select box should not contain "Institution Two: internal"
  • Given the following "institutions" exist:

    | name | displayname | registerallowed | registerconfirm |
    | instone | Institution One | ON | OFF |
    | insttwo | Institution Two | 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 |

  • Given I log in as "admin" with password "Kupuh1pa!"
  • And I choose "People search" in "People" from administration menu
  • When I scroll to the base of id "searchresults"
  • And I check "selectusers_2"
  • And I check "selectusers_3"
  • And I click on "Get reports"
  • Then I should see "Account details"
  • And I should see "2 persons selected"

Feature: Create an Institution

In order to create an institution
As an admin I need to go Administration
So I can add an institution

  • Given I log in as "admin" with password "Kupuh1pa!"
  • And I choose "Settings" in "Institutions" from administration menu
  • And I click on "Add institution"
  • And I fill in the following:

    | Institution name | Institution One |

  • And I enable the switch "Allow institution tags"
  • And I click on "Submit"
  • Then I should see "Institution added successfully"
  • And I select "ldap" from "authlistDummySelect"
  • And I click on "Add" in the "Authentication" "Institutions" property
  • And I wait "1" seconds
  • And I should see "LDAP" in the "Modal header" "Modal" property
  • And I fill in the following:

    | Authority name | Test Authority |
    | Host URL | ldap://ldap.example.com |
    | Contexts | ou=users,o=org;ou=other,o=org |
    | User attribute | cn |

  • And I click on "Submit" in the "#auth_config_submit_container" "css_element"
  • And I click on "Submit" in the "#institution_submit_container" "css_element"
  • And I click on "Edit" in "Institution One" row
  • And I scroll to the base of id "authlistDummySelect"
  • And I click on "Move up"
  • And I click on "Submit"
  • And I click on "Edit" in "Institution One" row
  • And I scroll to the base of id "authlistDummySelect"
  • And I click on "Delete" in "Test Authority" row
  • And I attach the file "Image2.png" to "Logo"
  • And I click on "Submit"
  • And I choose "Tags" in "Institutions" from administration menu
  • And I should see "Institution tags"
  • And I choose "Settings" in "Institutions" from administration menu
  • And I click on "Delete" in "Institution One" row
  • And I click on "Yes"
  • Then I should see "Institution deleted successfully"
  • And I should not see "Tags" in the "Submenu" "Institutions" property

Feature: Configuration changes on "Add an account" page

In order to change configuration settings on the "Add an account" page
As an admin
So I can benefit from the use of different configuration changes

  • Given the following "institutions" exist:

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

  • And the following "users" exist:

    | username | password | email | firstname | lastname | institution | authname | role |
    | StaffA | Kupuh1pa! | StaffA@example.com | Alexei | Staff | instone | internal | staff |
    | SupportAdminB | Kupuh1pa! | SAB@example.com | Betty | Support | instone | internal | supportadmin |

  • Given I log in as "SupportAdminB" with password "Kupuh1pa!"
  • And I choose "People search" from administration menu
  • And I click on "StaffA"
  • And I click on "Log in as this person"
  • And I click on "Become Betty Support again"
  • And I choose "People search" from administration menu
  • And I click on "Alexei"
  • And I click on "Log in as StaffA"
  • And I click on "Become Betty Support again"
  • And I press "usf_submit"
  • Then I should see "Masquerade" in the "Alexei Staff (StaffA)" row
  • And I click on "Masquerade" in "Alexei Staff (StaffA)" row
  • And I click on "Become Betty Support again"
  • And I log out
  • Given I log in as "StaffA" with password "Kupuh1pa!"
  • And I choose "People search" from administration menu
  • And I click on "Betty"
  • Then I should not see "Log in as SupportAdminB"
  • Given the following "institutions" exist:

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

  • And the following "users" exist:

    | username | password | email | firstname | lastname | institution | authname | role |
    | StaffA | Kupuh1pa! | StaffA@example.com | Alexei | Staff | instone | internal | staff |
    | SupportAdminB | Kupuh1pa! | SAB@example.com | Betty | Support | instone | internal | supportadmin |

  • Given I log in as "admin" with password "Kupuh1pa!"
  • And I choose "Add an account" from administration menu
  • And I set the following fields to these values:

    | First name | Bob |
    | Last name | One |
    | Email | UserB@example.com |
    | Username | instadmin |
    | password | Kupuh1pa! |
    | Institution administrator | 1 |

  • And I select "Institution One" from "adduser_authinstance"
  • And I scroll to the top
  • And I click on "General account options"
  • And I set the following fields to these values:

    | Multiple journals | 1 |

  • And I click on "×" in the "Options dialog" "Modal" property
  • And I click on "Create account"
  • Then I should see "New account created successfully"
  • And I expand "Institution settings - Institution One" node
  • And the field "Institution administrator" matches value "1"
  • And I should see "Log in as this person"
  • And I click on "Log in as this person"
  • And I should see "You are required to change your password before you can proceed."
  • And I click on "log in anyway"
  • And I choose "People search" from administration menu
  • And I click on "Bob"
  • And I wait "1" seconds
  • And I should see "Administrator of Institution One"
  • And I click on "Show administration menu"
  • And I should see "Groups" in the "Administration menu" "Nav" property
  • And I should not see "Extensions" in the "Administration menu" "Nav" property
  • And I choose "Journals" in "Create" from main menu
  • And I should see "Create journal"
  • And I log out
  • And I should see "You have been logged out successfully"
  • Given I log in as "StaffA" with password "Kupuh1pa!"
  • And I click on "Show administration menu"
  • And I should see "Reports" in the "Administration menu" "Nav" property
  • And I should not see "Groups" in the "Administration menu" "Nav" property
  • Given the following "institutions" exist:

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

  • And the following "users" exist:

    | username | password | email | firstname | lastname | institution | authname | role |
    | StaffA | Kupuh1pa! | StaffA@example.com | Alexei | Staff | instone | internal | staff |
    | SupportAdminB | Kupuh1pa! | SAB@example.com | Betty | Support | instone | internal | supportadmin |

  • Given I log in as "admin" with password "Kupuh1pa!"
  • And I choose "Add or update accounts by CSV" in "People" from administration menu
  • And I attach the file "50users_new.csv" to "CSV file"
  • And I select "Institution One" from "uploadcsv_authinstance"
  • And I click on "Add or update accounts" in the "CSV submit" "Misc" property
  • Then I should see "Your CSV file was processed successfully"
  • And I should see "New accounts added: 50."
  • And I choose "Add or update accounts by CSV" in "People" from administration menu
  • And I attach the file "20users_update.csv" to "CSV file"
  • And I select "Institution One" from "uploadcsv_authinstance"
  • And I enable the switch "Update accounts"
  • And I click on "Add or update accounts" in the "CSV submit" "Misc" property
  • Then I should see "Your CSV file was processed successfully"
  • And I should see "Accounts updated: 20."
  • And I log out
  • Given I log in as "person0005" with password "cH@ngeme3"
  • And I should see "You are required to change your password before you can proceed."
  • And I fill in "New password" with "dr@Gon123"
  • And I fill in "Confirm password" with "dr@Gon123"
  • And I click on "Submit"
  • And I should see "Your new password has been saved"
  • And I choose "Profile" from account menu
  • And the "Student ID" field should contain "64000005"
  • And I click on "Contact information"
  • And the "Town" field should contain "Stewarts River"
  • And the "Mobile phone" field should contain "0491 570 110"
  • And I scroll to the center of id "profileform"
  • And I click on "General"
  • And the "Occupation" field should contain "Minister for Māori Development"
  • And I log out
  • Given I log in as "admin" with password "Kupuh1pa!"
  • And I choose "People search" in "People" from administration menu
  • And I click on "person0005"
  • And I click on "Suspend or delete this account"
  • And I scroll to the id "delete"
  • And I press and confirm "Delete account"
  • And I should see "Account deleted successfully"
  • Given the following "institutions" exist:

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

  • And the following "users" exist:

    | username | password | email | firstname | lastname | institution | authname | role |
    | StaffA | Kupuh1pa! | StaffA@example.com | Alexei | Staff | instone | internal | staff |
    | SupportAdminB | Kupuh1pa! | SAB@example.com | Betty | Support | instone | internal | supportadmin |

  • Given I log in as "admin" with password "Kupuh1pa!"
  • And I choose "Add or update accounts by CSV" in "People" from administration menu
  • And I attach the file "7usersnew-errors.csv" to "CSV file"
  • And I select "Institution One" from "uploadcsv_authinstance"
  • And I click on "Add or update accounts" in the "CSV submit" "Misc" property
  • Then I should see "There was an error with submitting this form. Please check the marked fields and try again."
  • And I should see "Error on line 2: The expiry \"today\" cannot be in the past."
  • And I should see "Error on line 3: The expiry \"2025-01--30\" is invalid. Please use a valid date format."
  • And I should see "Error on line 4: The expiry \"2025/01-29\" is invalid. Please use a valid date format."
  • And I should see "Error on line 5: The expiry \"Marych 27, 2025\" is invalid. Please use a valid date format."
  • Given the following "institutions" exist:

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

  • And the following "users" exist:

    | username | password | email | firstname | lastname | institution | authname | role |
    | StaffA | Kupuh1pa! | StaffA@example.com | Alexei | Staff | instone | internal | staff |
    | SupportAdminB | Kupuh1pa! | SAB@example.com | Betty | Support | instone | internal | supportadmin |

  • Given I log in as "admin" with password "Kupuh1pa!"
  • And I choose "Add or update accounts by CSV" in "People" from administration menu
  • And I attach the file "7usersnew-correctdates.csv" to "CSV file"
  • And I select "Institution One" from "uploadcsv_authinstance"
  • And I click on "Add or update accounts" in the "CSV submit" "Misc" property
  • Then I should see "Your CSV file was processed successfully."
  • And I should see "New accounts added: 6."

Feature: The admin homepage

Test the forms on the admin homepage
As an admin
So I can make sure I can close/open site or clear cache

  • Given I log in as "admin" with password "Kupuh1pa!"
  • And I choose "Overview" from administration menu
  • And I should see "Site registration"
  • And I scroll to the base of id "close_site"
  • And I click on "Close"
  • And I should see "Reopen site"
  • And I scroll to the base of id "close_site"
  • And I click on "Open"
  • And I should see "Close site"
  • And I scroll to the base of id "clear_caches"
  • And I click on "Clear caches"
  • And I should see "All caches were cleared"

Feature: Site admin can send messages to anyone regardless of setting "Messages from other people" to "Do not allow anyone to send me messages"

  • 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 | staff |
    | UserC | Kupuh1pa! | UserC@example.org | Carol | User | instone | internal | member |
    | UserD | Kupuh1pa! | UserD@example.org | Dave | User | instone | internal | member |

  • And the following site settings are set:

    | field | value |
    | isolatedinstitutions | 1 |

  • Given I log in as "UserD" with password "Kupuh1pa!"
  • And I choose "Preferences" in "Settings" from account menu
  • When I scroll to the base of id "accountprefs_messages_container"
  • And I set the following fields to these values:

    | Do not allow anyone to send me messages | 1 |

  • And I click on "Save"
  • Then I should see "Preferences saved"
  • And I log out
  • Given I log in as "admin" with password "Kupuh1pa!"
  • And I choose "People search" in "People" from administration menu
  • When I click on "Dave"
  • Then I should see "Send message"
  • When I choose "People" in "Engage" from main menu
  • Then I should see "Send message" in the "Dave User (UserD)" row
  • And I log out
  • Given I log in as "UserC" with password "Kupuh1pa!"
  • When I choose "People" in "Engage" from main menu
  • When I click on "Dave"
  • Then I should not see "Send message"
  • And I log out

Feature: The Anonymised pages option


In order to be able to see the (Author's name hidden) link

  • 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 |

  • 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 |
    | 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 go to "admin/site/options.php"
  • And I click on "Account settings"
  • And I set the following fields to these values:

    | Allow anonymous pages | 1 |

  • And I click on "Update site options"
  • And 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 "Page UserA_01"
  • And I click on "Edit"
  • And I click on "Settings" in the "Toolbar buttons" "Nav" property
  • And I set the following fields to these values:

    | Anonymise | 1 |

  • And I click on "Save"
  • And I click on "Share" in the "Toolbar buttons" "Nav" property
  • And I select "Registered people" from "accesslist[0][searchtype]"
  • And I click on "Save"
  • And I log out
  • Given I log in as "UserB" with password "Kupuh1pa!"
  • And I am on homepage
  • And I scroll to the id 'bottom-pane'
  • Then I should see "(Author's name hidden)"
  • And I log out
  • Given I log in as "admin" with password "Kupuh1pa!"
  • And I am on homepage
  • Then should see "(Author's name hidden)"
  • And I click on "(Author's name hidden)"
  • Then I should see "UserA"

Feature: Mahara people can change their account settings

As a mahara person
I need to change my account settings
1) person can change account notifications settings
--- a. Person selects "Email" from "New page access"
--- b. Person selects "None" from "Comment"
--- c. Person cannot select "None" from "Message from other people"
--- d. Person cannot select "None" from "System message"

2) Person can change account preferences settings
--- a. Person changes "Password" functionality
--- b. Person changes "Username"
--- c. Person changes "Friends control" to "Nobody may add me as a friend"

  • 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 "UserA" with password "Kupuh1pa!"
  • And I choose "Notifications" in "Settings" from account menu
  • And I select "Email" from "activity_viewaccess"
  • And I select "Inbox" from "Comment"
  • And I select "None" from "Feedback on annotations"
  • And I select "Inbox" from "Group message"
  • And I select "Email digest" from "Institution message"
  • And I select "Inbox" from "Message from other people"
  • And "None" "option" in the "Message from other people" "Account" property should not be visible
  • And "None" "option" in the "System message" "Account" property should not be visible
  • And I select "Email" from "New forum post"
  • And I select "Email digest" from "Peer assessment"
  • And I select "Inbox" from "System message"
  • And I select "Inbox" from "Wall post"
  • And I select "Inbox" from "Watchlist"
  • When I click on "Save"
  • And I should see "Preferences saved"
  • And I should not see "Delete account"
  • 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 "UserA" with password "Kupuh1pa!"
  • When I choose "Preferences" in "Settings" from account menu
  • Then I should see "Preferences" in the "Page heading" "Common" property
  • And I should see "New password" in the "Preferences heading 1" "Account" property
  • When I fill in "Current password" with "Kupuh1pa!"
  • And I fill in "New password" with "Password123!"
  • And I fill in "Confirm password" with "Password123!"
  • And I click on "Save"
  • Then I should see "Preferences saved"
  • And I should see "Change username" in the "Preferences heading 2" "Account" property
  • When I fill in "New username" with "UserAA"
  • And I click on "Save"
  • Then I should see "There was an error with submitting this form. Please check the marked fields and try again."
  • And I fill in "Password123!" for "accountprefs_oldpasswordchangeuser"
  • And I click on "Save"
  • And I should see "Preferences saved"
  • And a "Friends control radio" "Account" property should exist
  • And I click on "Save"
  • Then I should see "Preferences saved"

Feature: Enabling cookie consent

In order to enable cookie consent
As an admin
I need to be able to enable it via a switch

  • Given I log in as "admin" with password "Kupuh1pa!"
  • And I choose "Cookie Consent" in "Configure site" from administration menu
  • And I set the following fields to these values:

    | Enable Cookie Consent | 1 |

  • And I click on "Save changes"
  • And I should see "Cookie Consent enabled"
  • And I should see "Got it!"

Feature: Set country as a required profile field

As an admin
I want to set the country field to be required
As a user
I see New Zealand as default option when required to fill in country for profile

  • 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 "Site options" in "Configure site" from administration menu
  • And I expand all fieldsets
  • Then I should see "No country selected"
  • When I choose "Plugin administration" in "Extensions" from administration menu
  • And I click on "Configuration for artefact Profile"
  • And I click on the "Country mandatory field" "Profile" property
  • And I click on "Save"
  • And I log out
  • When I log in as "UserA" with password "Kupuh1pa!"
  • Then I should see "Fields marked by '*' are required."
  • And I should see "New Zealand"
  • When I click on "Submit"
  • Then I should see "Required profile fields set"

Feature: Set a custom landing page on login

In order to show a page other than the default dashboard on person login
As an admin
I can set the custom landing page (uses forum topic page)
As a user
I can see custom page on login

  • 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 "groups" exist:

    | name | owner | description | grouptype | open | invitefriends | editroles | submittableto | allowarchives | members | public |
    | GroupX | admin | GroupX owned by admin | standard | ON | ON | all | ON | ON | UserA | 1 |

  • And the following "pages" exist:

    | title | description | ownertype | ownername |
    | Page admin_01 | This is the landing page | user | admin |

  • And the following "permissions" exist:

    | title | accesstype | accessname | allowcomments | approvecomments |
    | Page admin_01 | loggedin | loggedin | 0 | 0 |

  • Given I log in as "admin" with password "Kupuh1pa!"
  • And I choose "Site options" from administration menu
  • And I expand the section "Site settings"
  • And I enable the switch "Custom landing page"
  • When I fill in select2 input "siteoptions_homepageredirecturl" with "General" and select "General discussion (GroupX)"
  • And I click on "Update site options"
  • And I log out
  • Given I log in as "UserA" with password "Kupuh1pa!"
  • Then I should see "GroupX general discussion forum"
  • And I log out
  • Given I log in as "admin" with password "Kupuh1pa!"
  • And I choose "Site options" from administration menu
  • And I expand the section "Site settings"
  • And I clear value "General discussion (GroupX)" from select2 field "siteoptions_homepageredirecturl"
  • When I fill in select2 input "siteoptions_homepageredirecturl" with "Page admin_01" and select "Page admin_01 (Admin Account)"
  • And I click on "Update site options"
  • And I log out
  • Given I log in as "UserA" with password "Kupuh1pa!"
  • Then I should not see "This is the landing page"
  • And I log out
  • Given I log in as "admin" with password "Kupuh1pa!"
  • And I choose "Site options" from administration menu
  • And I expand the section "Site settings"
  • And I disable the switch "Custom landing page"
  • And I click on "Update site options"
  • And I log out
  • Given I log in as "UserA" with password "Kupuh1pa!"
  • Then I should see "Edit dashboard"
  • And I log out

Feature: Required plugins

In order to customise mahara we can turn off/on plugins
As an admin
I check that the plugins are activated/deactivated

  • Given the following plugins are set:

    | plugintype | plugin | value |
    | blocktype | annotation | 0 |
    | artefact | plans | 0 |

  • Given I log in as "admin" with password "Kupuh1pa!"
  • And I choose "Plugin administration" in "Extensions" from administration menu
  • Then I should see "Show" in the "annotation/annotation" row
  • Then I should see "Show" in the "plans " row
  • Then I should see "Show" in the "plans/plans" row
  • Given the following plugins are set:

    | plugintype | plugin | value |
    | artefact | plans | 1 |

  • Then I should see "Hide" in the "plans " row
  • Then I should see "Hide" in the "plans/plans" row

Feature: Check footer settings and headings correctly displayed

As an admin I want to know
Given I set the footer headings to be visible
When a user logs in, they see the correct headings.

  • 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 "UserA" with password "Kupuh1pa!"
  • And I click on "Legal" in the "Footer" "Footer" property
  • And I should see "Displayed are the current privacy statements and terms and conditions."
  • And I am on homepage
  • And I click on "About"
  • And I am on homepage
  • And I click on "Contact us"
  • And I am on homepage
  • And I click on "Help"
  • And I switch to the main window
  • 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 "Menus" in "Configure site" from administration menu
  • And I disable the following switches:

    | Legal |
    | About |
    | Contact us |
    | External manual |

  • And I click on "Save changes"
  • And I log out
  • Given I log in as "UserA" with password "Kupuh1pa!"
  • And I should not see "Legal"
  • And I should not see "About"
  • And I should not see "Contact us"
  • And I should not see "External manual"

Feature: Static page image visibility

As a site visitor
I want to see images/logos on the static pages when logged in and not logged in
So I know I am on the right website

  • Given the following "users" exist:

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

  • Given I log in as "UserA" with password "Kupuh1pa!"
  • And I choose "Files" in "Create" from main menu
  • And I attach the file "Image2.png" to "files_filebrowser_userfile"
  • And I am on "admin/site/pages.php"
  • And I select "Home (Dashboard)" from "pagename"
  • When I click the "Insert/edit image" button in the editor
  • And I expand the section "Image"
  • And I wait "1" seconds
  • And I click on "Select \"Image2.png\""
  • And I click on "Submit"
  • And I wait "1" seconds
  • And I click on "Save changes"
  • And I choose "Dashboard" from main menu
  • Then I should see image 'Image2.png' on the page
  • Given the following "users" exist:

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

  • Given I log in as "UserA" with password "Kupuh1pa!"
  • And I choose "Files" in "Create" from main menu
  • And I attach the file "Image2.png" to "files_filebrowser_userfile"
  • And I am on "admin/site/pages.php"
  • And I select "Logged-out home" from "pagename"
  • When I click the "Insert/edit image" button in the editor
  • And I expand the section "Image"
  • And I wait "1" seconds
  • And I click on "Select \"Image2.png\""
  • And I click on "Submit"
  • And I wait "1" seconds
  • And I click on "Save changes"
  • And I log out
  • And I am on homepage
  • Then I should see image 'Image2.png' on the page

Feature: Changing the configuration when adding an institution.

In order to change the way an institution is configured
As an admin
So I can have different settings for each institution

  • Given the following "institutions" exist:

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

  • And the following "users" exist:

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

  • Given I log in as "admin" with password "Kupuh1pa!"
  • And I choose "Settings" in "Institutions" from administration menu
  • And I click on "Add institution"
  • And I set the following fields to these values:

    | Institution name * | Team Awesome |
    | First name | 1 |
    | Last name | 1 |
    | Student ID | 1 |
    | Display name | 1 |
    | Introduction | 1 |
    | Email address | 1 |
    | Official website address | 1 |
    | Personal website address | 1 |
    | Blog address | 1 |
    | Postal address | 1 |
    | Town | 1 |
    | City/region | 1 |
    | Country | 1 |
    | Home phone | 1 |
    | Business phone | 1 |
    | Mobile phone | 1 |
    | Fax number | 1 |
    | Occupation | 1 |
    | Industry | 1 |
    | Email disabled | 1 |
    | Social media | 1 |

  • And I click on "Submit"
  • Given the following "institutions" exist:

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

  • And the following "users" exist:

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

  • Given I log in as "UserA" with password "Kupuh1pa!"
  • Then "/theme/maroon/images/site-logo" should be in the "Logo" "Header" property

Feature: Create Institution tags

In order to create institution tags
As an admin I need to go to Institution tags page
So I can add institution tags

  • Given the following "institutions" exist:

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

  • And 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 | admin |

  • And the following "pages" exist:

    | title | description | ownertype | ownername |
    | Page UserA_01 | Page 01 | user | UserA |
    | Page InstOne_01 | Page | institution | instone |

  • And the following "journals" exist:

    | owner | ownertype | title | description | tags |
    | UserA | user | Mars journal | My Mars Mission | Mars |

  • And the following "journalentries" exist:

    | owner | ownertype | title | entry | blog | tags | draft |
    | UserA | user | Mars party | I just landed on Mars, mission success | Mars journal | Mars | 0 |

  • Given I log in as "admin" with password "Kupuh1pa!"
  • And I choose "Tags" in "Institutions" from administration menu
  • And I click on "Create tag"
  • And I set the field "Institution tag" to "One tag"
  • And I click on "Save"
  • Then I should see "Institution tag saved"
  • And I click on "Create tag"
  • And I set the field "Institution tag" to "Two tag"
  • And I click on "Save"
  • And I click on "Delete institution tag" in "Two tag" row
  • Then I should see "Institution tag deleted successfully"
  • And I log out
  • Given I log in as "UserA" with password "Kupuh1pa!"
  • And I choose "Journals" in "Create" from main menu
  • And I click on "Mars journal"
  • And I click on "Edit" in "Mars party" row
  • And I fill in select2 input "editpost_tags" with "One tag" and select "Institution One: One tag"
  • And I click on "Save entry"
  • Given I choose "Portfolios" in "Create" from main menu
  • And I click on "Edit" in "Page UserA_01" card menu
  • And I click on "Settings" in the "Toolbar buttons" "Nav" property
  • And I fill in select2 input "settings_tags" with "One tag" and select "Institution One: One tag (1)"
  • And I fill in select2 input "settings_tags" with "Test" and select "Test"
  • And I click on "Save"
  • When I click on the add block button
  • And I click on "Add"
  • And I click on blocktype "Tagged journal entries"
  • And I fill in select2 input "instconf_tagselect" with "One tag" and select "Institution One: One tag"
  • And I click on "Save"
  • And I wait "1" seconds
  • Then I should see "Journal entries with tag \"Institution One: One tag\""
  • And I display the page
  • Then I should see "Institution One: One tag"
  • Given I choose "Files" in "Create" from main menu
  • And I attach the file "Image2.png" to "files_filebrowser_userfile"
  • And I click on "Edit" in "Image2.png" row
  • And I fill in select2 input "files_filebrowser_edit_tags" with "One tag" and select "Institution One: One tag (2)"
  • And I fill in select2 input "files_filebrowser_edit_tags" with "Image" and select "Image"
  • And I click on "Save changes"
  • Given I choose "Portfolios" in "Create" from main menu
  • And I click on "Tags" in the "Tags block" "Blocks" property
  • And I click on "Edit tags"
  • Then I should see "Test" in the "My tags list" "Tags" property
  • Then I should not see "Institution One: One tag" in the "My tags list" "Tags" property
  • Given the following "institutions" exist:

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

  • And 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 | admin |

  • And the following "pages" exist:

    | title | description | ownertype | ownername |
    | Page UserA_01 | Page 01 | user | UserA |
    | Page InstOne_01 | Page | institution | instone |

  • And the following "journals" exist:

    | owner | ownertype | title | description | tags |
    | UserA | user | Mars journal | My Mars Mission | Mars |

  • And the following "journalentries" exist:

    | owner | ownertype | title | entry | blog | tags | draft |
    | UserA | user | Mars party | I just landed on Mars, mission success | Mars journal | Mars | 0 |

  • Given I log in as "admin" with password "Kupuh1pa!"
  • And I choose "Tags" in "Institutions" from administration menu
  • And I click on "Create tag"
  • And I set the field "Institution tag" to "One tag"
  • And I click on "Save"
  • Then I should see "Institution tag saved"
  • And I click on "Create tag"
  • And I set the field "Institution tag" to "Two tag"
  • And I click on "Save"
  • And I click on "Delete institution tag" in "Two tag" row
  • Then I should see "Institution tag deleted successfully"
  • And I log out
  • Given I log in as "UserB" with password "Kupuh1pa!"
  • And I choose "Portfolios" in "Institutions" from administration menu
  • And I click on "Create" in the "Create" "Views" property
  • And I click on "Page" in the dialog
  • And I fill in the following:

    | Page title | Test view |

  • And I fill in "First description" in first editor
  • And I fill in select2 input "settings_tags" with "One" and select "Institution One: One tag"
  • And I click on "Save"
  • 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 "Text"
  • And I set the field "Block title" to "Text Block 1"
  • And I set the field "Block content" to "Here is a new block."
  • And I fill in select2 input "instconf_tags" with "One" and select "Institution One: One tag"
  • And I click on "Save"
  • And I go to portfolio page "Test view"
  • Then I should see "Institution One: One tag"

Feature: Confirm update to the privacy statement template on homepage

and dashboard to encourage institutions to write their own text.

  • Given I log in as "admin" with password "Kupuh1pa!"
  • When I choose "Legal" in "Settings" from account menu
  • Then I should see "Displayed are the current privacy statements and terms and conditions."
  • And I should see "Add your privacy statement for the site in \"Administration menu\" → \"Configure site\""
  • And I click on the "First Legal" "Legal" property
  • And I should see "Edit the privacy statement for the entire site. The version you edited last becomes the current privacy statement automatically."
  • And I move backward one page
  • And I should see "Add your terms and conditions for the site in \"Administration menu\" → \"Configure site\""
  • And I move forward one page
  • And I click on the "Privacy statement Edit icon" "Legal" property
  • And I fill in "Version" with "V2.0"
  • And I fill in "V 2.0 privacy statement for the site " in first editor
  • And I click on "Save changes"
  • Then I should see "V2.0" in the "Admin Account" row
  • And I should see "1.0" in the "System User" row
  • And I wait "1" seconds
  • And I should see "Page saved"
  • When I click on "Terms and conditions"
  • And I click on the "Terms and conditions Edit icon" "Legal" property
  • And I fill in "Version" with "V2.0"
  • And I fill in "V 2.0 terms and conditions for the site" in first editor
  • And I click on "Save changes"
  • Then I should see "V2.0" in the "Admin Account" row
  • And I should see "1.0" in the "System User" row
  • And I should see "Page saved"
  • When I click on "Legal" in the "Footer menu" "Footer" property
  • And I should see "V 2.0 terms and conditions for the site"
  • Then I should see "V 2.0 privacy statement for the site"

Feature: Creating/Deleting links from the Links and Resources sideblock

As an admin
I need to create and delete both public and private links to both external and internal resources
So I can verify that they are usable

  • Given I log in as "admin" with password "Kupuh1pa!"
  • And I choose "Menus" in "Configure site" from administration menu
  • When I select "Logged-in links and resources" from "Edit"
  • And I fill in "namenew" with "Dashboard: test external resource link"
  • And I fill in "linkedtonew" with "https://mahara.org/"
  • And I click on "Add" in the "Menus" "Administration" property
  • Then I should see "Item saved"
  • When I select "Public links and resources" from "Edit"
  • And I fill in "namenew" with "Homepage: test external resource link"
  • And I fill in "linkedtonew" with "https://mahara.org/"
  • And I click on "Add" in the "Menus" "Administration" property
  • Then I should see "Item saved"
  • When I choose "Dashboard" from main menu
  • Then I should see "Dashboard: test external resource link"
  • And I should not see "Homepage: test external resource link"
  • When I log out
  • Then I should see "Homepage: test external resource link"
  • And I should not see "Dashboard: test external resource link"
  • When I log in as "admin" with password "Kupuh1pa!"
  • And I choose "Menus" in "Configure site" from administration menu
  • And I select "Logged-in links and resources" from "Edit"
  • And I delete the link and resource menu item "Dashboard: test external resource link"
  • Then I should see "Item deleted"
  • When I select "Public links and resources" from "Edit"
  • And I delete the link and resource menu item "Homepage: test external resource link"
  • Then I should see "Item deleted"
  • When I choose "Dashboard" from main menu
  • Then I should not see "Dashboard: test external resource link"
  • When I log out
  • Then I should not see "Homepage: test external resource link"
  • Given I log in as "admin" with password "Kupuh1pa!"
  • And I choose "Files" in "Configure site" from administration menu
  • And I attach the file "testvid3.mp4" to "File"
  • And I click on "public"
  • And I attach the file "mahara_about.pdf" to "File"
  • When I choose "Menus" in "Configure site" from administration menu
  • And I select "Public links and resources" from "Edit"
  • And I set the following fields to these values:

    | Site file | 1 |

  • Then the "linkedtonew" select box should contain "mahara_about.pdf"
  • And the "linkedtonew" select box should not contain "testvid3.mp4"
  • When I fill in "namenew" with "Homepage: test file resource link"
  • And I click on "Add" in the "Menus" "Administration" property
  • Then I should see "Item saved"
  • When I select "Logged-in links and resources" from "Edit"
  • And I set the following fields to these values:

    | Site file | 1 |

  • Then the "linkedtonew" select box should not contain "mahara_about.pdf"
  • And the "linkedtonew" select box should contain "testvid3.mp4"
  • When I fill in "namenew" with "Dashboard: test file resource link"
  • And I click on "Add" in the "Menus" "Administration" property
  • Then I should see "Item saved"
  • When I choose "Dashboard" from main menu
  • Then I should see "Dashboard: test file resource link"
  • And I should not see "Homepage: test file resource link"
  • When I log out
  • Then I should see "Homepage: test file resource link"
  • And I should not see "Dashboard: test file resource link"
  • When I log in as "admin" with password "Kupuh1pa!"
  • And I choose "Menus" in "Configure site" from administration menu
  • And I select "Logged-in links and resources" from "Edit"
  • And I delete the link and resource menu item "Dashboard: test file resource link"
  • Then I should see "Item deleted"
  • When I select "Public links and resources" from "Edit"
  • And I delete the link and resource menu item "Homepage: test file resource link"
  • Then I should see "Item deleted"
  • When I choose "Dashboard" from main menu
  • Then I should not see "Dashboard: test file resource link"
  • When I log out
  • Then I should not see "Homepage: test file resource link"
  • Given I log in as "admin" with password "Kupuh1pa!"
  • And I choose "Journals" in "Configure site" from administration menu
  • And I click on "Create journal"
  • And I fill in "Title" with "Site blog"
  • And I click on "Create journal"
  • When I choose "Files" in "Configure site" from administration menu
  • And I attach the file "Image1.jpg" to "File"
  • And I choose "Menus" in "Configure site" from administration menu
  • And I select "Logged-in links and resources" from "Edit"
  • And I scroll to the base of id "type_new_sitefile"
  • And I set the following fields to these values:

    | Site file | 1 |

  • Then the "linkedtonew" select box should not contain "Site blog"
  • And I click on "Add" in the "Menus" "Administration" property

Feature: Limit password attempts to 5 tries

In order to make sure you can't make more than 5 bad password attempts at a time
As an admin/user
So I can prevent dictionary attacks on my passwords

  • Given the following "users" exist:

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

  • And I am on homepage
  • And I click on "Lost username / password"
  • When I log in as "UserA" with password "wrongpassword"
  • Then I should see "You have not provided the correct credentials to log in. Please check your username and password are correct."
  • And I should see "You are unable to login"
  • And I log in as "UserA" with password "wrongpassword"