Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'spec/requests/api/graphql/group_query_spec.rb')
-rw-r--r--spec/requests/api/graphql/group_query_spec.rb25
1 files changed, 20 insertions, 5 deletions
diff --git a/spec/requests/api/graphql/group_query_spec.rb b/spec/requests/api/graphql/group_query_spec.rb
index b6bbf8d5dd2..fd0ee5d52b9 100644
--- a/spec/requests/api/graphql/group_query_spec.rb
+++ b/spec/requests/api/graphql/group_query_spec.rb
@@ -8,11 +8,11 @@ RSpec.describe 'getting group information' do
include GraphqlHelpers
include UploadHelpers
- let(:user1) { create(:user, can_create_group: false) }
- let(:user2) { create(:user) }
- let(:admin) { create(:admin) }
- let(:public_group) { create(:group, :public) }
- let(:private_group) { create(:group, :private) }
+ let_it_be(:user1) { create(:user, can_create_group: false) }
+ let_it_be(:user2) { create(:user) }
+ let_it_be(:admin) { create(:admin) }
+ let_it_be(:private_group) { create(:group, :private) }
+ let_it_be(:public_group) { create(:group, :public) }
# similar to the API "GET /groups/:id"
describe "Query group(fullPath)" do
@@ -78,6 +78,7 @@ RSpec.describe 'getting group information' do
expect(graphql_data['group']['parentId']).to eq(group1.parent_id)
expect(graphql_data['group']['issues']['nodes'].count).to eq(1)
expect(graphql_data['group']['issues']['nodes'][0]['iid']).to eq(issue.iid.to_s)
+ expect(graphql_data['group']['sharedRunnersSetting']).to eq(group1.shared_runners_setting.upcase)
end
it "does not return a non existing group" do
@@ -105,6 +106,20 @@ RSpec.describe 'getting group information' do
expect { post_multiplex(queries, current_user: admin) }
.to issue_same_number_of_queries_as { post_graphql(group_query(group1), current_user: admin) }
end
+
+ context "when querying group's descendant groups" do
+ let_it_be(:subgroup1) { create(:group, parent: public_group) }
+ let_it_be(:subgroup2) { create(:group, parent: subgroup1) }
+
+ let(:descendants) { [subgroup1, subgroup2] }
+
+ it 'returns all descendant groups user has access to' do
+ post_graphql(group_query(public_group), current_user: admin)
+
+ names = graphql_data['group']['descendantGroups']['nodes'].map { |n| n['name'] }
+ expect(names).to match_array(descendants.map(&:name))
+ end
+ end
end
context "when authenticated as admin" do