0 features failed of 31 features
0 scenarios failed of 52 scenarios
0 steps failed of 1458


Suite: core_features

Feature: Writing and deleting comments

Feature: Delete groups

In order to delete a group
As an admin I need to create groups
So I can verify they can be deleted successfully

Feature: Show collection shared with a group on the group homepage (Bug 1655456)

Feature: Displaying multiple groups on a page

In order to better organize the groups
As an admin create 10 groups
So I can limit the number of groups showing in mygroup display on the profile page

Feature: Editing a group as an admin

In order to edit a group
As an admin
So I can make changes to the group settings

Feature: Edit group membership

In order to edit group membership
As an admin I can edit membership via the 'People' page

Feature: Searching for users in the "People" page

In order to search by name on the "People" page
So I can befriend them or send them messages

Feature: Friends feature functionality

1. UserA finds people within and outside of their institution
a. Verify page elements
- Search field
- Side blocks
- Results - User image, user name, institution member and action buttons (send friend request, send message)
2. UserA requests friendship - add message (make 4 friend requests)

Feature: Mahara users can participate in groups

As a mahara user
I need to participate in groups

Feature: Commenting on a group page

In order to be able to verify I commented publicly on a group page
As a user
So leave a comment and it appears in the right place

Feature: Members of a group should be listed based on their role

In order to see the order of members in a group
As an admin create users
So I can create a group and add them to it

Feature: Copied group page keeps title

In order to make sure group page title copies correctly
As a group member
So I can see group page and check the title

Feature: Private pages are kept confidential to non-members

As a mahara user in a private group
I need to make sure those who are not members cannot access group items such as pages/files, etc.

Feature: Opening inbox messages from outside

In order to open messages in my inbox from a direct link
As a user
So I can click on a link in another platform to get to my message

Feature: Clicking on Inbox

In order to click on the Inbox block's 'More' link
As a student user
So I can see more of my messages

Feature: Mahara account permissions in institutions

As a person
I can be a member of at least one institution
As an administrator
I can share institution pages

Feature: As a user I want to make just one comment from a list public (Bug 1729423)

so others can see that comment,
while the rest of the list remains private

Feature: Moderating group comments

Feature: objectionable content functionality

Feature: Participation report to show pages in a collection

In a participation to see pages in a collection
As an normal user I need to make changes in the group settings
So that I can see the pages in a collection of that group

Feature: Go to People page

As a user
I want to see a list of my friends and pending requests and their portfolio if they exist

Feature: Select2 ajax test using sendmessage

In order to retrieve data via ajax and select it
As an admin I need to fill in a select2 box
So I can confirm the value is selectable

Feature: Send messages to other people

In order to send a message to another person
As an admin I need to create a person
So I can send them messages

Feature: Disabled the "Send Message Now" option when the time expired to edit forum posts

As a student
So I can edit messages later without notifying all the subscribed users

Feature: The "Portfolio -> Shared with me" screen

As a Mahara account holder
I want to see the Pages & Collections that have been shared with me
displayed in latest comment update order
So that I can manage my response to change

Feature: Added ID's for text blocks

In order for allow and moderate comments to save correctly
As an admin
I need to be able to save it once and not have to do it again in Edit Access screen

Feature: Share page with different people (Bug 1755688)

As a user
I want to control access to my pages
So that people I choose can see them

Feature: Visibility of social medial buttons

In order to view and click on the social media buttons
As a student
So I can view others social media pages

Feature: Threaded comments

In order to see earliest/latest threaded comments to a page
As a mahara user I should see threaded comments in the right order
So I can easily follow these comments

Feature: Mahara users submit pages / colelctions to a group

As a mahara user
I need to submit content to the group
As a group admin user
I need to see who has and has not submitted content

Feature: Threaded comments

In order to allow private conversations between an instructor and student on a student's page
As a teacher I need to have a private thread on the student's page
So I can post things only they can see, and they can post private replies to it


Feature: Writing and deleting comments

  • Given the following "users" exist:

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

  • Given the following "pages" exist:

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

  • Given the following "permissions" exist:

    | title | accesstype | accessname | allowcomments | approvecomments |
    | Page UserA_01 | public | public | 1 | 0 |
    | Page UserA_02 | loggedin | loggedin | 1 | 0 |

  • Given I go to portfolio page "Page UserA_01"
  • And I click on "Add comment"
  • And I fill in "Name" with "Joe Anonymous"
  • And I fill in "Comment" with "Public comment by anonymous person"
  • And I enable the switch "Make comment public"
  • And I click on "Comment" in the "Comment button" "Comment" property
  • And I log in as "UserA" with password "Kupuh1pa!"
  • And I go to portfolio page "Page UserA_01"
  • And I click on "Comments"
  • And I fill in "Comment by page owner" in editor "Comment"
  • And I click on "Comment" in the "Comment button" "Comment" property
  • Then I should see "Joe Anonymous"
  • And I should see "Public comment by anonymous person"
  • And I should see "Comment by page owner"
  • Given I delete the "Public comment by anonymous person" row
  • Then I should not see "Public comment by anonymous person"
  • And I should see "Comment removed by the owner"
  • And I should see "Joe Anonymous"
  • And I should see "Comment by page owner"
  • Given I delete the "Comment by page owner" row
  • And I go to portfolio page "Page UserA_01"
  • Then I should not see "Comment by page owner"
  • And I should not see "Comment removed"
  • Given the following "users" exist:

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

  • Given the following "pages" exist:

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

  • Given the following "permissions" exist:

    | title | accesstype | accessname | allowcomments | approvecomments |
    | Page UserA_01 | public | public | 1 | 0 |
    | Page UserA_02 | loggedin | loggedin | 1 | 0 |

  • Given I go to portfolio page "Page UserA_01"
  • And I click on "Add comment"
  • And I fill in "Name" with "Joe Anonymous"
  • And I fill in "Comment" with "Public comment by anonymous person"
  • And I enable the switch "Make comment public"
  • And I click on "Comment" in the "Comment button" "Comment" property
  • 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
  • And I wait "1" seconds
  • 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 "Comments"
  • Then I should see "Comments for this page will be displayed here rather than at the bottom of the page."
  • And I display the page
  • Then I should see "Joe Anonymous"
  • And I should see "Public comment by anonymous person"
  • Given the following "users" exist:

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

  • Given the following "pages" exist:

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

  • Given the following "permissions" exist:

    | title | accesstype | accessname | allowcomments | approvecomments |
    | Page UserA_01 | public | public | 1 | 0 |
    | Page UserA_02 | loggedin | loggedin | 1 | 0 |

  • Given I log in as "admin" with password "Kupuh1pa!"
  • And I click on "Edit dashboard"
  • And I configure the block "Portfolios shared with me"
  • And I set the field "Maximum number of results to show" to "1"
  • And I enable the switch "Public"
  • And I enable the switch "Registered people"
  • And I click on "Save"
  • And I go to portfolio page "Page UserA_01"
  • And I click on "Add comment"
  • And I fill in "Public comment" in editor "Comment"
  • And I click on "Comment" in the "Comment button" "Comment" property
  • And I choose "Dashboard" from main menu
  • And I scroll to the base of id "column-container"
  • Then I should see "Page UserA_01" in the "Portfolios shared with me" "Blocks" property
  • And I should not see "Page UserA_02" in the "Portfolios shared with me" "Blocks" property
  • And I go to portfolio page "Page UserA_02"
  • And I click on "Add comment"
  • And I fill in "Private comment" in editor "Comment"
  • And I disable the switch "Make comment public"
  • And I click on "Comment" in the "Comment button" "Comment" property
  • And I choose "Dashboard" from main menu
  • And I scroll to the id "column-container"
  • And I wait "1" seconds
  • Then I should see "Page UserA_02" in the "Portfolios shared with me" "Blocks" property
  • And I should not see "Page UserA_01" in the "Portfolios shared with me" "Blocks" property

Feature: Delete groups

In order to delete a group
As an admin I need to create groups
So I can verify they can be deleted successfully

  • Given I log in as "admin" with password "Kupuh1pa!"
  • And I choose "Groups" in "Engage" from main menu
  • And I click on "Create group"
  • And I fill in "Group name" with "Admin Test Group"
  • And I disable the switch "Open"
  • And I enable the switch "Friend invitations"
  • And I click on "Save group"
  • And I choose "Groups" in "Engage" from main menu
  • And I click on "Create group"
  • And I fill in "Group name" with "Admin VIP Group"
  • And I disable the switch "Open"
  • And I enable the switch "Request"
  • And I fill in "Start date" with "2015/06/15 03:00"
  • And I fill in "End date" with "2015/06/15 03:30"
  • And I click on "Save group"
  • And I should see "Created" in the "Group info" "Blocks" property
  • And I should see "Request membership" in the "Group info" "Blocks" property
  • And I should see "Members" in the "Group info" "Blocks" property
  • And I should see "Group administrators:" in the "Group info" "Blocks" property
  • And I should see "Editable" in the "Group info" "Blocks" property
  • And I should see "Between 15 June 2015, 3:00 and 15 June 2015, 3:30"
  • And I choose "Groups" in "Engage" from main menu
  • And I click on "Create group"
  • And I fill in "Group name" with "Public discussion"
  • And I enable the switch "Participation report"
  • And I click on "Save group"
  • And I choose "Groups" in "Engage" from main menu
  • And I click on "Create group"
  • And I fill in "Group name" with "Controlled groups"
  • And I disable the switch "Open"
  • And I enable the switch "Controlled"
  • And I click on "Save group"
  • And I choose "Groups" in "Engage" from main menu
  • And I click on "Public discussion"
  • And I click on "Report" in the "Arrow-bar nav" "Nav" property
  • Then I should see "There are no pages shared with this group yet"
  • And I choose "Groups" in "Engage" from main menu
  • And I click on "Admin Test Group"
  • And I click on "Delete \"Admin Test Group\""
  • And I click on "Yes"
  • And I click on "Controlled groups"
  • And I click on "Delete \"Controlled groups\""
  • And I click on "Yes"
  • And I click on "Admin VIP Group"
  • And I click on "Delete \"Admin VIP Group\""
  • And I click on "Yes"
  • And I click on "Public discussion"
  • And I click on "Delete \"Public discussion\""
  • And I click on "Yes"
  • And I should not see "Admin Test Group"
  • And I should not see "Controlled groups"
  • And I should not see "Admin VIP Group"
  • And I should not see "Public discussion"

Feature: Show collection shared with a group on the group homepage (Bug 1655456)

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

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

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

  • And the following "collections" exist:

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

  • Given I log in as "UserA" with password "Kupuh1pa!"
  • And I should see "Angela" in the page
  • And I should see "GroupA" in the page
  • And I choose "Portfolios" in "Create" from main menu
  • And I click on "Collection UserA_01"
  • And I click on "Edit"
  • And I click on "Share" in the "Toolbar buttons" "Nav" property
  • And I select "GroupA" from "accesslist[0][searchtype]"
  • And I click on "Save"
  • Then I choose "Portfolios" in "Create" from main menu
  • And I click on "Manage" in "Collection UserA_01" card menu
  • And I click on "Remove" in "Page UserA_01" row
  • And I go to homepage
  • And I log out
  • And 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 "Collection UserA_01"
  • And I should see "Page UserA_02" in the page

Feature: Displaying multiple groups on a page

In order to better organize the groups
As an admin create 10 groups
So I can limit the number of groups showing in mygroup display on the profile 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 "groups" exist:

    | name | owner | description | grouptype | open | invitefriends | editroles | submittableto | allowarchives | members | staff |
    | GroupA | UserA | GroupA owned by UserA | standard | ON | OFF | all | ON | ON | admin | |
    | GroupB | UserA | GroupB owned by UserA | standard | ON | OFF | all | ON | ON | admin | |
    | GroupC | UserA | GroupC owned by UserA | standard | ON | OFF | all | ON | ON | admin | |
    | GroupD | UserA | GroupD owned by UserA | standard | ON | OFF | all | ON | ON | admin | |
    | GroupE | UserA | GroupE owned by UserA | standard | ON | OFF | all | ON | ON | admin | |
    | GroupF | UserA | GroupF owned by UserA | standard | ON | OFF | all | ON | ON | admin | |
    | GroupG | UserA | GroupG owned by UserA | standard | ON | OFF | all | ON | ON | admin | |
    | GroupH | UserA | GroupH owned by UserA | standard | ON | OFF | all | ON | ON | admin | |
    | GroupI | UserA | GroupI owned by UserA | standard | ON | OFF | all | ON | ON | admin | |
    | GroupJ | UserA | GroupJ owned by UserA | standard | ON | OFF | all | ON | ON | admin | |

  • Given I log in as "UserA" with password "Kupuh1pa!"
  • And I choose "Groups" in "Engage" from main menu
  • And I click on "Create group"
  • And I set the following fields to these values:

    | Group name | GroupK |
    | Group description | GroupA owned by UserA |

  • And I click on "Save group"
  • And I choose "Portfolios" in "Create" from main menu
  • And I click on "Profile page"
  • And I click on "Edit"
  • And I configure the block "My groups"
  • And I set the following fields to these values:

    | Maximum number of groups to display | 3 |

  • And I click on "Save"
  • And I choose "Portfolios" in "Create" from main menu
  • And I click on "Profile page"
  • And I should see "11 groups"

Feature: Editing a group as an admin

In order to edit a group
As an admin
So I can make changes to the group settings

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

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

  • Given I log in as "admin" with password "Kupuh1pa!"
  • And I choose "Add groups by CSV" in "Groups" from administration menu
  • And I attach the file "groups.csv" to "CSV file"
  • When I click on "Add groups by CSV" in the "CSV submit" "Misc" property
  • And I should see "Your CSV file was processed successfully."
  • And I choose "Update group members by CSV" in "Groups" from administration menu
  • And I should see "Every CSV file upload removes all existing group members, including group administrators, completely. Ensure that you have at least one administrator for each group in your CSV file."
  • And I attach the file "groupmembers.csv" to "CSV file"
  • And I click on "Update group members by CSV" in the "CSV submit" "Misc" property
  • And I log out
  • And I log in as "UserA" with password "Kupuh1pa!"
  • And I choose "Groups" in "Engage" from main menu
  • And I click on "Group Two"
  • And I click on "Edit \"Group Two\""
  • And I fill in the following:

    | Group name | Group awesome sauce |

  • Then I click on "Save group"
  • And I should not see "Invalid argument supplied for foreach()"
  • And I should see "Group saved successfully"
  • 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 "groups" exist:

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

  • Given 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 "Edit \"GroupA\""
  • And I fill in the following:

    | Group name | Group awesome sauce |

  • Then I click on "Save group"
  • And I should not see "Invalid argument supplied for foreach()"
  • And I should see "Group saved successfully"
  • And I log out
  • Given I log in as "admin" with password "Kupuh1pa!"
  • And I choose "Groups" in "Engage" from main menu
  • And I click on "Group awesome sauce"
  • And I should not see "Edit"

Feature: Edit group membership

In order to edit group membership
As an admin I can edit membership via the 'People' page

  • 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 |
    | UserD | Kupuh1pa! | UserD@example.org | Dmitri | User | mahara | internal | member |
    | UserE | Kupuh1pa! | UserE@example.org | Evonne | User | mahara | internal | member |
    | UserF | Kupuh1pa! | UserF@example.org | Fergus | User | mahara | internal | member |
    | UserG | Kupuh1pa! | UserG@example.org | Gabi | User | mahara | internal | member |
    | UserH | Kupuh1pa! | UserH@example.org | Hugo | User | mahara | internal | member |
    | UserI | Kupuh1pa! | UserI@example.org | Iria | User | mahara | internal | member |
    | UserJ | Kupuh1pa! | UserJ@example.org | Julius | User | mahara | internal | member |
    | UserK | Kupuh1pa! | UserK@example.org | Kristina | User | mahara | internal | member |
    | UserL | Kupuh1pa! | UserL@example.org | Liam | User | mahara | internal | member |

  • And the following "groups" exist:

    | name | owner | description | grouptype | open | invitefriends | editroles | submittableto | allowarchives | members | staff |
    | GroupA | admin | GroupA owned by admin | standard | ON | ON | all | ON | ON | UserA, UserC, UserD, UserE, UserF, UserG, UserH, UserK | UserI, UserJ |
    | GroupB | admin | GroupB owned by admin | standard | ON | ON | all | ON | ON | UserC, UserD | |

  • Given I log in as "UserA" with password "Kupuh1pa!"
  • When I go to group "GroupA"
  • And I click on "Members"
  • Then I should see "Admin first" in the "Sorted by dropdown" "Groups" property
  • And the "sorted by:" select box should contain "Admin first"
  • And I should see "Admin Account" in the "Search results heading row 1" "Groups" property
  • And I should see "Iria User" in the "Search results heading row 2" "Groups" property
  • And I should see "Julius User" in the "Search results heading row 3" "Groups" property
  • And I should see "Angela User" in the "Search results heading row 4" "Groups" property
  • And I should see "Dmitri User" in the "Search results heading row 6" "Groups" property
  • When I select "Name Z to A" from "sorted by:"
  • And I click on "Search"
  • Then I should see "Kristina User" in the "Search results heading row 1" "Groups" property
  • And I should see "Julius User" in the "Search results heading row 2" "Groups" property
  • And I should see "Iria User" in the "Search results heading row 3" "Groups" property
  • And I should see "Hugo User" in the "Search results heading row 4" "Groups" property
  • And I should see "Fergus User" in the "Search results heading row 6" "Groups" property
  • 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 |
    | UserD | Kupuh1pa! | UserD@example.org | Dmitri | User | mahara | internal | member |
    | UserE | Kupuh1pa! | UserE@example.org | Evonne | User | mahara | internal | member |
    | UserF | Kupuh1pa! | UserF@example.org | Fergus | User | mahara | internal | member |
    | UserG | Kupuh1pa! | UserG@example.org | Gabi | User | mahara | internal | member |
    | UserH | Kupuh1pa! | UserH@example.org | Hugo | User | mahara | internal | member |
    | UserI | Kupuh1pa! | UserI@example.org | Iria | User | mahara | internal | member |
    | UserJ | Kupuh1pa! | UserJ@example.org | Julius | User | mahara | internal | member |
    | UserK | Kupuh1pa! | UserK@example.org | Kristina | User | mahara | internal | member |
    | UserL | Kupuh1pa! | UserL@example.org | Liam | User | mahara | internal | member |

  • And the following "groups" exist:

    | name | owner | description | grouptype | open | invitefriends | editroles | submittableto | allowarchives | members | staff |
    | GroupA | admin | GroupA owned by admin | standard | ON | ON | all | ON | ON | UserA, UserC, UserD, UserE, UserF, UserG, UserH, UserK | UserI, UserJ |
    | GroupB | admin | GroupB owned by admin | standard | ON | ON | all | ON | ON | UserC, UserD | |

  • Given I log in as "admin" with password "Kupuh1pa!"
  • And I choose "People" in "Engage" from main menu
  • And I click on "2" in the "Find people results" "People" property
  • And I click on "Edit group membership" in "Liam User" row
  • And I wait "1" seconds
  • And I check "GroupA"
  • And I click on "Apply changes"
  • And I scroll to the top
  • Then I should see "Invite sent"

Feature: Searching for users in the "People" page

In order to search by name on the "People" page
So I can befriend them or send them messages

  • Given the following "institutions" exist:

    | name | displayname |
    | instone | Institution One |
    | insttwo | Institution Two |

  • 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! | UserC@example.org | Cecilia | User | insttwo | internal | member |

  • Given I log in as "UserA" with password "Kupuh1pa!"
  • And I choose "People" in "Engage" from main menu
  • And I select "My institutions" from "Filter"
  • And I fill in "Search" with "User"
  • And I scroll to the id "main-nav"
  • And I click on "Search"
  • Then I should see "Bob User"
  • And I should not see "Cecilia User"
  • When I select "Everyone" from "Filter"
  • And I fill in "Search" with "smith"
  • And I scroll to the id "main-nav"
  • And I click on "Search"
  • Then I should see "Cecilia User"
  • And I should see "Bob User"

Feature: Friends feature functionality

1. UserA finds people within and outside of their institution
a. Verify page elements
- Search field
- Side blocks
- Results - User image, user name, institution member and action buttons (send friend request, send message)
2. UserA requests friendship - add message (make 4 friend requests)

  • Given the following "institutions" exist:

    | name | displayname |
    | instone | Institution One |
    | insttwo | Institution Two |

  • Given the following "users" exist:

    | username | password | email | firstname | lastname | institution | authname | role |
    | UserA | Kupuh1pa! | UserA@example.org | Angela | UserA | instone | internal | member |
    | UserB | Kupuh1pa! | UserB@example.org | Bob | UserB | instone | internal | member |
    | UserC | Kupuh1pa! | UserC@example.org | Cecilia | UserC | instone | internal | member |
    | UserD | Kupuh1pa! | UserD@example.org | Dave | UserD | insttwo | internal | member |
    | UserE | Kupuh1pa! | UserE@example.org | Earl | UserE | insttwo | internal | member |

  • Given I log in as "UserA" with password "Kupuh1pa!"
  • And I choose "People" in "Engage" from main menu
  • Then I should see "Bob UserB"
  • And I should see "Cecilia UserC"
  • And I should not see "Dave UserD"
  • When I click on "Send friend request" in "Bob UserB" row
  • Then I should see "Send Bob UserB a friendship request"
  • When I fill in "Would you like to be my friend?" for "Message"
  • And I click on "Request friendship"
  • Then I should see "Sent a friendship request to Bob UserB"
  • When I click on "Send friend request" in "Cecilia UserC" row
  • Then I should see "Send Cecilia UserC a friendship request"
  • When I fill in "Would you like to be my friend Cecilia?" for "Message"
  • And I click on "Request friendship"
  • Then I should see "Sent a friendship request to Cecilia UserC"
  • When I select "Everyone" from "Filter"
  • And I click on "Search"
  • And I click on "Send friend request" in "Dave UserD" row
  • Then I should see "Send Dave UserD a friendship request"
  • When I fill in "Would you like to be my friend Dave?" for "Message"
  • And I click on "Request friendship"
  • Then I should see "Sent a friendship request to Dave UserD"
  • When I select "Everyone" from "Filter"
  • And I click on "Search"
  • Then I should see "Earl UserE"
  • When I click on "Earl UserE"
  • Then I should see "Earl UserE"
  • And I should see "Member of Institution Two"
  • When I click on "Request friendship"
  • Then I should see "Send Earl UserE a friendship request"
  • When I fill in "Would you like to be my friend Earl?" for "Message"
  • And I click on "Request friendship"
  • Then I should see "Sent a friendship request to Earl UserE"
  • And I log out
  • Given I log in as "UserE" with password "Kupuh1pa!"
  • And I click on "pending friend"
  • Then I should see "Angela UserA (UserA)"
  • And I should see the date "today" in the "Pending since" "People" property with the format "l, d F Y"
  • And I should see "Member of Institution One"
  • When I click on "Approve"
  • Then I should see "Accepted friend request"
  • And I log out
  • Given I log in as "admin" with password "Kupuh1pa!"
  • And I choose "People" in "Engage" from main menu
  • And I select the radio "Nobody may add me as a friend"
  • And I click on "Save"
  • Then I should see "Updated friends control"
  • And I log out
  • Given I log in as "UserB" with password "Kupuh1pa!"
  • When I click on "pending friend"
  • Then I should see "Angela UserA (UserA)"
  • And I should see the date "today" in the "Pending since" "People" property with the format "l, d F Y"
  • And I should see "Member of Institution One"
  • When I click on "Approve"
  • Then I should see "Accepted friend request"
  • And I log out
  • Given I log in as "UserC" with password "Kupuh1pa!"
  • When I click on "pending friend"
  • Then I should see "Angela UserA (UserA)"
  • And I should see the date "today" in the "Pending since" "People" property with the format "l, d F Y"
  • And I should see "Member of Institution One"
  • When I click on "Deny"
  • Then I should see "Reason for rejecting request"
  • When I fill in "I don't know who you are" for "Reason for rejecting request"
  • And I click on "Deny friend request"
  • Then I should see "Rejected friend request"
  • Then I log out
  • Given I log in as "UserE" with password "Kupuh1pa!"
  • And I choose "People" in "Engage" from main menu
  • When I select "Everyone" from "Filter"
  • And I click on "Search"
  • Then I should see "This person does not want any new friends." in the "Admin Account" row
  • And I click on "Send friend request" in "Dave UserD" row

Feature: Mahara users can participate in groups

As a mahara user
I need to participate in groups

  • 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 |
    | UserD | Kupuh1pa! | UserD@example.org | Dmitri | User | mahara | internal | member |
    | UserE | Kupuh1pa! | UserE@example.org | Evonne | 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 | ON | all | ON | ON | UserB, UserC | UserD |
    | GroupB | UserA | GroupB owned by UserA | standard | ON | ON | all | ON | ON | UserB, UserC | UserD |
    | GroupC | UserA | GroupC owned by UserA | standard | ON | ON | all | ON | ON | UserB, UserC | UserD |

  • Given I log in as "UserA" with password "Kupuh1pa!"
  • And I choose "Groups" in "Engage" from main menu
  • And I click on "Add a label to group \"GroupA\""
  • And I fill in select2 input "grouplabel_grouplabel" with "Cats" and select "Cats"
  • And I fill in select2 input "grouplabel_grouplabel" with "Animals" and select "Animals"
  • And I click on "Save"
  • Then I should see "My group labels: Animals, Cats" in the "GroupA" row
  • And I click on "Add a label to group \"GroupB\""
  • And I fill in select2 input "grouplabel_grouplabel" with "Dogs" and select "Dogs"
  • And I fill in select2 input "grouplabel_grouplabel" with "Animals" and select "Animals"
  • And I click on "Save"
  • Then I should see "My group labels: Animals, Dogs" in the "GroupB" row
  • And I click on "Add a label to group \"GroupC\""
  • And I fill in select2 input "grouplabel_grouplabel" with "Aardvarks" and select "Aardvarks"
  • And I fill in select2 input "grouplabel_grouplabel" with "Animals" and select "Animals"
  • And I click on "Save"
  • Then I should see "My group labels: Aardvarks, Animals" in the "GroupC" row
  • And I click on "Dogs"
  • Then I should see "GroupB" in the "Groups results" "Groups" property
  • And I should not see "GroupA" in the "Groups results" "Groups" property
  • 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 |
    | UserD | Kupuh1pa! | UserD@example.org | Dmitri | User | mahara | internal | member |
    | UserE | Kupuh1pa! | UserE@example.org | Evonne | 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 | ON | all | ON | ON | UserB, UserC | UserD |
    | GroupB | UserA | GroupB owned by UserA | standard | ON | ON | all | ON | ON | UserB, UserC | UserD |
    | GroupC | UserA | GroupC owned by UserA | standard | ON | ON | all | ON | ON | UserB, UserC | UserD |

  • Given I log in as "UserE" with password "Kupuh1pa!"
  • And I choose "Groups" in "Engage" from main menu
  • And I select "All groups" from "filter"
  • And I click on "Search"
  • And I wait "1" seconds
  • When I click on "GroupA"
  • Then I should see "About"
  • When I click on "Join this group"
  • Then I should see "You are now a group member."
  • 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 |
    | UserD | Kupuh1pa! | UserD@example.org | Dmitri | User | mahara | internal | member |
    | UserE | Kupuh1pa! | UserE@example.org | Evonne | 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 | ON | all | ON | ON | UserB, UserC | UserD |
    | GroupB | UserA | GroupB owned by UserA | standard | ON | ON | all | ON | ON | UserB, UserC | UserD |
    | GroupC | UserA | GroupC owned by UserA | standard | ON | ON | all | ON | ON | UserB, UserC | UserD |

  • Given I log in as "UserA" with password "Kupuh1pa!"
  • And I click on "GroupA"
  • And I click on "Forums" in the "Navigation" "Groups" property
  • And I click on "New forum"
  • And I fill in the following:

    | Title | My new forum title |

  • And I fill in "My new forum description" in first editor
  • When I click on "Save"
  • Then I should see "Edit forum"
  • And I should see "Delete forum"
  • 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 |
    | UserD | Kupuh1pa! | UserD@example.org | Dmitri | User | mahara | internal | member |
    | UserE | Kupuh1pa! | UserE@example.org | Evonne | 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 | ON | all | ON | ON | UserB, UserC | UserD |
    | GroupB | UserA | GroupB owned by UserA | standard | ON | ON | all | ON | ON | UserB, UserC | UserD |
    | GroupC | UserA | GroupC owned by UserA | standard | ON | ON | all | ON | ON | UserB, UserC | UserD |

  • Given I log in as "UserD" with password "Kupuh1pa!"
  • And I click on "GroupA"
  • And I click on "Forums" in the "Navigation" "Groups" property
  • Then I should see "Unsubscribe" in the "General discussion" row
  • And I should see 'Edit "General discussion"' in the "General discussion" row
  • And I should see 'Delete "General discussion"' in the "General discussion" row
  • 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 |
    | UserD | Kupuh1pa! | UserD@example.org | Dmitri | User | mahara | internal | member |
    | UserE | Kupuh1pa! | UserE@example.org | Evonne | 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 | ON | all | ON | ON | UserB, UserC | UserD |
    | GroupB | UserA | GroupB owned by UserA | standard | ON | ON | all | ON | ON | UserB, UserC | UserD |
    | GroupC | UserA | GroupC owned by UserA | standard | ON | ON | all | ON | ON | UserB, UserC | UserD |

  • Given I log in as "UserB" with password "Kupuh1pa!"
  • And I click on "GroupA"
  • And I click on "Forums" in the "Navigation" "Groups" property
  • Then I should see "Unsubscribe" in the "General discussion" row
  • And I should not see 'Edit "General discussion"' in the "General discussion" row
  • And I should not see 'Delete "General discussion"' in the "General discussion" row

Feature: Commenting on a group page

In order to be able to verify I commented publicly on a group page
As a user
So leave a comment and it appears in the right place

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

  • Given the following "groups" exist:

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

  • Given the following "pages" exist:

    | title | description | ownertype | ownername |
    | Page GroupA_01 | Page 01 | group | GroupA |

  • Given I log in as "UserA" with password "Kupuh1pa!"
  • And I choose "Groups" in "Engage" from main menu
  • And I click on "Settings" in "Group A" row
  • And I set the following fields to these values:

    | Comment notifications | None |

  • And I click on "Save group"
  • When I click on "Portfolios" in the "Arrow-bar nav" "Nav" property
  • And I click on "Page GroupA_01"
  • And I click on "Add comment"
  • And I fill in "Adding a comment to this field. Student = Awesome!" in editor "Comment"
  • And I enable the switch "Make comment public"
  • And I click on "Comment"
  • Then I should see "Comment submitted"
  • And I log out
  • And I log in as "UserB" with password "Kupuh1pa!"
  • When I click on "GroupA" in the "My groups box" "Groups" property