[tests-only][full-ci] Add API tests for getting groups and group members (graph API) (#5005)

* add tests for getting groups and group members

* bump core commit id

* fix scenario description

* fix php style

* add tests for creating empty group

* add unauthorized response check

* mark empty group creation scenario as expected to fail

* address reviews
This commit is contained in:
Sawjan Gurung
2022-11-15 20:56:43 +05:45
committed by GitHub
parent 05e3bcc850
commit 6b13cea633
5 changed files with 228 additions and 30 deletions
@@ -34,4 +34,9 @@ Feature: create group
Given user "Brian" has been created with default attributes and without skeleton files
When user "Brian" tries to create a group "mygroup" using the Graph API
And the HTTP status code should be "401"
And group "mygroup" should not exist
And group "mygroup" should not exist
Scenario: admin user tries to create a group that is the empty string
When user "Alice" tries to create a group "" using the Graph API
Then the HTTP status code should be "400"
@@ -0,0 +1,54 @@
@api @skipOnOcV10
Feature: get groups and their members
As an admin
I want to be able to get groups
So that I can see all the groups and their members
Background:
Given user "Alice" has been created with default attributes and without skeleton files
And the administrator has given "Alice" the role "Admin" using the settings api
Scenario: admin user lists all the groups
Given group "tea-lover" has been created
And group "coffee-lover" has been created
And group "h2o-lover" has been created
When user "Alice" gets all the groups using the Graph API
Then the HTTP status code should be "200"
And the extra groups returned by the API should be
| tea-lover |
| coffee-lover |
| h2o-lover |
Scenario: normal user cannot get the groups list
Given user "Brian" has been created with default attributes and without skeleton files
And group "tea-lover" has been created
And group "coffee-lover" has been created
And group "h2o-lover" has been created
When user "Brian" gets all the groups using the Graph API
Then the HTTP status code should be "401"
And the last response should be an unauthorized response
Scenario: admin user gets users of a group
Given these users have been created with default attributes and without skeleton files:
| username |
| Brian |
| Carol |
And group "tea-lover" has been created
And user "Brian" has been added to group "tea-lover"
And user "Carol" has been added to group "tea-lover"
When user "Alice" gets all the members of group "tea-lover" using the Graph API
Then the HTTP status code should be "200"
And the users returned by the API should be
| Brian |
| Carol |
Scenario: normal user tries to get users of a group
Given user "Brian" has been created with default attributes and without skeleton files
And group "tea-lover" has been created
When user "Brian" gets all the members of group "tea-lover" using the Graph API
Then the HTTP status code should be "401"
And the last response should be an unauthorized response