summaryrefslogtreecommitdiff
path: root/spec/finders
diff options
context:
space:
mode:
authorJan Provaznik <jprovaznik@gitlab.com>2018-03-02 09:25:25 +0100
committerJan Provaznik <jprovaznik@gitlab.com>2018-03-02 11:44:18 +0100
commit1f4ee653fa7f8879192c38f65b277c5ffc786a0f (patch)
treedd95c9ec39e71282b9ad624172022c72489a97d0 /spec/finders
parent911fd7c252dd6c43b9771b2833460f1605dc99a2 (diff)
downloadgitlab-ce-1f4ee653fa7f8879192c38f65b277c5ffc786a0f.tar.gz
Allow to include also descendant group labels
Because epic index page includes also epics from subgroups it's necessary to also get descendant group labels for filtering. https://gitlab.com/gitlab-org/gitlab-ee/merge_requests/4773#note_61236542
Diffstat (limited to 'spec/finders')
-rw-r--r--spec/finders/labels_finder_spec.rb19
1 files changed, 19 insertions, 0 deletions
diff --git a/spec/finders/labels_finder_spec.rb b/spec/finders/labels_finder_spec.rb
index dc76efea35b..d434c501110 100644
--- a/spec/finders/labels_finder_spec.rb
+++ b/spec/finders/labels_finder_spec.rb
@@ -89,6 +89,25 @@ describe LabelsFinder do
expect(finder.execute).to eq [private_subgroup_label_1]
end
end
+
+ context 'when including labels from group descendants', :nested_groups do
+ it 'returns labels from group and its descendants' do
+ private_group_1.add_developer(user)
+ private_subgroup_1.add_developer(user)
+
+ finder = described_class.new(user, group_id: private_group_1.id, only_group_labels: true, include_descendant_groups: true)
+
+ expect(finder.execute).to eq [private_group_label_1, private_subgroup_label_1]
+ end
+
+ it 'ignores labels from groups which user can not read' do
+ private_subgroup_1.add_developer(user)
+
+ finder = described_class.new(user, group_id: private_group_1.id, only_group_labels: true, include_descendant_groups: true)
+
+ expect(finder.execute).to eq [private_subgroup_label_1]
+ end
+ end
end
context 'filtering by project_id' do