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/projects/metrics_dashboard_spec.rb')
-rw-r--r--spec/requests/projects/metrics_dashboard_spec.rb38
1 files changed, 37 insertions, 1 deletions
diff --git a/spec/requests/projects/metrics_dashboard_spec.rb b/spec/requests/projects/metrics_dashboard_spec.rb
index ab35788387c..f571e4a4309 100644
--- a/spec/requests/projects/metrics_dashboard_spec.rb
+++ b/spec/requests/projects/metrics_dashboard_spec.rb
@@ -23,6 +23,22 @@ RSpec.describe 'metrics dashboard page' do
send_request
expect(assigns(:environment).id).to eq(environment.id)
end
+
+ context 'with anonymous user and public dashboard visibility' do
+ let(:anonymous_user) { create(:user) }
+ let(:project) do
+ create(:project, :public, metrics_dashboard_access_level: 'enabled')
+ end
+
+ before do
+ login_as(anonymous_user)
+ end
+
+ it 'returns 200' do
+ send_request
+ expect(response).to have_gitlab_http_status(:ok)
+ end
+ end
end
describe 'GET /:namespace/:project/-/metrics?environment=:environment.id' do
@@ -79,7 +95,27 @@ RSpec.describe 'metrics dashboard page' do
end
end
+ describe 'GET :/namespace/:project/-/metrics/:page' do
+ it 'returns 200 with path param page' do
+ # send_request(page: 'panel/new') cannot be used because it encodes '/'
+ get "#{dashboard_route}/panel/new"
+
+ expect(response).to have_gitlab_http_status(:ok)
+ end
+
+ it 'returns 200 with dashboard and path param page' do
+ # send_request(page: 'panel/new') cannot be used because it encodes '/'
+ get "#{dashboard_route(dashboard_path: 'dashboard.yml')}/panel/new"
+
+ expect(response).to have_gitlab_http_status(:ok)
+ end
+ end
+
def send_request(params = {})
- get namespace_project_metrics_dashboard_path(namespace_id: project.namespace, project_id: project, **params)
+ get dashboard_route(params)
+ end
+
+ def dashboard_route(params = {})
+ namespace_project_metrics_dashboard_path(namespace_id: project.namespace, project_id: project, **params)
end
end