diff options
author | Jarka Kadlecová <jarka@gitlab.com> | 2018-06-01 09:52:55 +0200 |
---|---|---|
committer | Jarka Kadlecová <jarka@gitlab.com> | 2018-06-04 18:25:30 +0200 |
commit | 6426b507244b7f1cec4a7308ab29978d20c8ec98 (patch) | |
tree | 8d8ef447900e6b211119cfa44ef86f5b5428e363 /spec/controllers/projects | |
parent | 50fda506e3bc93af47c8ebcbfc7d38c7ae55467d (diff) | |
download | gitlab-ce-6426b507244b7f1cec4a7308ab29978d20c8ec98.tar.gz |
Include all ancestors milestones in json list & autocomplete36862-subgroup-milestones
Diffstat (limited to 'spec/controllers/projects')
-rw-r--r-- | spec/controllers/projects/milestones_controller_spec.rb | 35 |
1 files changed, 26 insertions, 9 deletions
diff --git a/spec/controllers/projects/milestones_controller_spec.rb b/spec/controllers/projects/milestones_controller_spec.rb index 548c5ef36e7..02b30f9bc6d 100644 --- a/spec/controllers/projects/milestones_controller_spec.rb +++ b/spec/controllers/projects/milestones_controller_spec.rb @@ -57,19 +57,36 @@ describe Projects::MilestonesController do context "as json" do let!(:group) { create(:group, :public) } let!(:group_milestone) { create(:milestone, group: group) } - let!(:group_member) { create(:group_member, group: group, user: user) } - before do - project.update(namespace: group) - get :index, namespace_id: project.namespace.id, project_id: project.id, format: :json + context 'with a single group ancestor' do + before do + project.update(namespace: group) + get :index, namespace_id: project.namespace.id, project_id: project.id, format: :json + end + + it "queries projects milestones and groups milestones" do + milestones = assigns(:milestones) + + expect(milestones.count).to eq(2) + expect(milestones).to match_array([milestone, group_milestone]) + end end - it "queries projects milestones and groups milestones" do - milestones = assigns(:milestones) + context 'with nested groups', :nested_groups do + let!(:subgroup) { create(:group, :public, parent: group) } + let!(:subgroup_milestone) { create(:milestone, group: subgroup) } + + before do + project.update(namespace: subgroup) + get :index, namespace_id: project.namespace.id, project_id: project.id, format: :json + end + + it "queries projects milestones and all ancestors milestones" do + milestones = assigns(:milestones) - expect(milestones.count).to eq(2) - expect(milestones.where(project_id: nil).first).to eq(group_milestone) - expect(milestones.where(group_id: nil).first).to eq(milestone) + expect(milestones.count).to eq(3) + expect(milestones).to match_array([milestone, group_milestone, subgroup_milestone]) + end end end end |