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:
authorJan Provaznik <jprovaznik@gitlab.com>2018-03-01 00:58:36 +0300
committerJan Provaznik <jprovaznik@gitlab.com>2018-03-02 10:50:00 +0300
commit911fd7c252dd6c43b9771b2833460f1605dc99a2 (patch)
tree0425fde7869d0fc9c6d1d74decd6e4c685f95930 /spec/controllers
parentf29dbaf55cc0c8a4b80c153454a2f7e22fd7a827 (diff)
Support additional LabelsFinder parameters for group labels
In some situations (listing labels for epics) we want to list only group ancestor labels, this is already supported in LabelsFinder we just need to enable additional parameters. Also `set_issuables_index` method now loads project labels only if @project is set (which is not used for epic group labels).
Diffstat (limited to 'spec/controllers')
-rw-r--r--spec/controllers/groups/labels_controller_spec.rb29
1 files changed, 29 insertions, 0 deletions
diff --git a/spec/controllers/groups/labels_controller_spec.rb b/spec/controllers/groups/labels_controller_spec.rb
index da54aa9054c..3269f47f327 100644
--- a/spec/controllers/groups/labels_controller_spec.rb
+++ b/spec/controllers/groups/labels_controller_spec.rb
@@ -3,6 +3,7 @@ require 'spec_helper'
describe Groups::LabelsController do
let(:group) { create(:group) }
let(:user) { create(:user) }
+ let(:project) { create(:project, namespace: group) }
before do
group.add_owner(user)
@@ -10,6 +11,34 @@ describe Groups::LabelsController do
sign_in(user)
end
+ describe 'GET #index' do
+ let!(:label_1) { create(:label, project: project, title: 'label_1') }
+ let!(:group_label_1) { create(:group_label, group: group, title: 'group_label_1') }
+
+ it 'returns group and project labels by default' do
+ get :index, group_id: group, format: :json
+
+ label_ids = json_response.map {|label| label['title']}
+ expect(label_ids).to match_array([label_1.title, group_label_1.title])
+ end
+
+ context 'with ancestor group', :nested_groups do
+ let(:subgroup) { create(:group, parent: group) }
+ let!(:subgroup_label_1) { create(:group_label, group: subgroup, title: 'subgroup_label_1') }
+
+ before do
+ subgroup.add_owner(user)
+ end
+
+ it 'returns ancestor group labels', :nested_groups do
+ get :index, group_id: subgroup, include_ancestor_groups: true, only_group_labels: true, format: :json
+
+ label_ids = json_response.map {|label| label['title']}
+ expect(label_ids).to match_array([group_label_1.title, subgroup_label_1.title])
+ end
+ end
+ end
+
describe 'POST #toggle_subscription' do
it 'allows user to toggle subscription on group labels' do
label = create(:group_label, group: group)