Commit a0f77817 authored by Ryan Cobb's avatar Ryan Cobb

Add specs for all_dashboards edit_path

parent 74613d28
...@@ -3,9 +3,11 @@ ...@@ -3,9 +3,11 @@
require 'spec_helper' require 'spec_helper'
describe MetricsDashboard do describe MetricsDashboard do
include MetricsDashboardHelpers
describe 'GET #metrics_dashboard' do describe 'GET #metrics_dashboard' do
let_it_be(:user) { create(:user) } let_it_be(:user) { create(:user) }
let_it_be(:project) { create(:project, :repository) } let_it_be(:project) { project_with_dashboard('.gitlab/dashboards/test.yml') }
let_it_be(:environment) { create(:environment, project: project) } let_it_be(:environment) { create(:environment, project: project) }
before do before do
...@@ -63,6 +65,25 @@ describe MetricsDashboard do ...@@ -63,6 +65,25 @@ describe MetricsDashboard do
expect(json_response['dashboard']['dashboard']).to eq('Environment metrics') expect(json_response['dashboard']['dashboard']).to eq('Environment metrics')
expect(json_response).to have_key('all_dashboards') expect(json_response).to have_key('all_dashboards')
end end
context 'in all_dashboard list' do
context 'when a user can collaborate on project' do
it 'includes edit_path only for project dashboards' do
expect(json_response['all_dashboards'][0]['edit_path']).to be_nil
expect(json_response['all_dashboards'][1]['edit_path']).to eq('/namespace1/project1/blob/master/.gitlab/dashboards/test.yml')
end
end
context 'when user does not have permissions to edit project dashboard' do
before do
allow(controller).to receive(:can_collaborate_with_project?).and_return(false)
end
it 'does not include edit_path for project dashboards' do
expect(json_response['all_dashboards'][1]['edit_path']).to be_nil
end
end
end
end end
end end
end end
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment