Commit b8ac8d75 authored by Pavel Shutsin's avatar Pavel Shutsin

Fix Value Stream Analytics doc links

Fix doc links and dashboard links for
Lead Time metric and Lead Time for Change metric

Changelog: fixed
EE: true
parent 67ec3230
...@@ -22,14 +22,17 @@ module Gitlab ...@@ -22,14 +22,17 @@ module Gitlab
dashboard_link = dashboard_link =
if @stage.parent.is_a?(::Group) if @stage.parent.is_a?(::Group)
helpers.group_analytics_ci_cd_analytics_path(@stage.parent, tab: 'lead-time') helpers.group_issues_analytics_path(@stage.parent)
else else
helpers.charts_project_pipelines_path(@stage.parent, chart: 'lead-time') helpers.project_analytics_issues_analytics_path(@stage.parent)
end end
[ [
{ "name" => _('Lead Time'), "url" => dashboard_link, "label" => s_('ValueStreamAnalytics|Dashboard') }, { "name" => _('Lead Time'), "url" => dashboard_link, "label" => s_('ValueStreamAnalytics|Dashboard') },
{ "name" => _('Lead Time'), "url" => helpers.help_page_path('user/analytics/index', anchor: 'definitions'), "docs_link" => true, "label" => s_('ValueStreamAnalytics|Go to docs') } { "name" => _('Lead Time'),
"url" => helpers.help_page_path('user/analytics/index', anchor: 'definitions'),
"docs_link" => true,
"label" => s_('ValueStreamAnalytics|Go to docs') }
] ]
end end
end end
......
...@@ -25,6 +25,27 @@ module Gitlab ...@@ -25,6 +25,27 @@ module Gitlab
n_('day', 'days', value) n_('day', 'days', value)
end end
def links
helpers = Gitlab::Routing.url_helpers
dashboard_link =
if @stage.parent.is_a?(::Group)
helpers.group_analytics_ci_cd_analytics_path(@stage.parent, tab: 'lead-time')
else
helpers.charts_project_pipelines_path(@stage.parent, chart: 'lead-time')
end
[
{ "name" => _('Lead Time for Changes'),
"url" => dashboard_link,
"label" => s_('ValueStreamAnalytics|Dashboard') },
{ "name" => _('Lead Time for Changes'),
"url" => helpers.help_page_path('user/analytics/index', anchor: 'definitions'),
"docs_link" => true,
"label" => s_('ValueStreamAnalytics|Go to docs') }
]
end
private private
attr_reader :stage, :current_user, :options, :from, :to attr_reader :stage, :current_user, :options, :from, :to
......
...@@ -44,4 +44,48 @@ RSpec.describe Gitlab::Analytics::CycleAnalytics::Summary::LeadTimeForChanges do ...@@ -44,4 +44,48 @@ RSpec.describe Gitlab::Analytics::CycleAnalytics::Summary::LeadTimeForChanges do
expect(result.to_s).to eq('5.0') expect(result.to_s).to eq('5.0')
end end
end end
describe '#links' do
subject { described_class.new(stage: stage, current_user: user, options: options).links }
it 'displays documentation link and dashboard link' do
helpers = Gitlab::Routing.url_helpers
expect(subject).to match_array(
[
{
"name" => _('Lead Time for Changes'),
"url" => helpers.group_analytics_ci_cd_analytics_path(stage.parent, tab: 'lead-time'),
"label" => s_('ValueStreamAnalytics|Dashboard')
},
{ "name" => _('Lead Time for Changes'),
"url" => helpers.help_page_path('user/analytics/index', anchor: 'definitions'),
"docs_link" => true,
"label" => s_('ValueStreamAnalytics|Go to docs') }
]
)
end
context 'for project stage' do
let(:stage) { build(:cycle_analytics_project_stage) }
it 'returns project dashboard link' do
helpers = Gitlab::Routing.url_helpers
expect(subject).to match_array(
[
{
"name" => _('Lead Time for Changes'),
"url" => helpers.charts_project_pipelines_path(stage.parent, chart: 'lead-time'),
"label" => s_('ValueStreamAnalytics|Dashboard')
},
{ "name" => _('Lead Time for Changes'),
"url" => helpers.help_page_path('user/analytics/index', anchor: 'definitions'),
"docs_link" => true,
"label" => s_('ValueStreamAnalytics|Go to docs') }
]
)
end
end
end
end end
# frozen_string_literal: true
require 'spec_helper'
RSpec.describe Gitlab::Analytics::CycleAnalytics::Summary::LeadTime do
let(:stage) { build(:cycle_analytics_group_stage) }
let(:user) { build(:user) }
let(:options) do
{
from: 5.days.ago,
to: 2.days.ago
}
end
subject(:result) { described_class.new(stage: stage, current_user: user, options: options).value }
describe '#links' do
subject { described_class.new(stage: stage, current_user: user, options: options).links }
it 'returns docs link and group dashboard link' do
helpers = Gitlab::Routing.url_helpers
expect(subject).to match_array(
[
{ "name" => _('Lead Time'),
"url" => helpers.group_issues_analytics_path(stage.parent),
"label" => s_('ValueStreamAnalytics|Dashboard') },
{ "name" => _('Lead Time'),
"url" => helpers.help_page_path('user/analytics/index', anchor: 'definitions'),
"docs_link" => true,
"label" => s_('ValueStreamAnalytics|Go to docs') }
]
)
end
context 'for project stage' do
let(:stage) { build(:cycle_analytics_project_stage) }
it 'returns project dashboard link' do
helpers = Gitlab::Routing.url_helpers
expect(subject).to match_array(
[
{ "name" => _('Lead Time'),
"url" => helpers.project_analytics_issues_analytics_path(stage.parent),
"label" => s_('ValueStreamAnalytics|Dashboard') },
{ "name" => _('Lead Time'),
"url" => helpers.help_page_path('user/analytics/index', anchor: 'definitions'),
"docs_link" => true,
"label" => s_('ValueStreamAnalytics|Go to docs') }
]
)
end
end
end
end
...@@ -22131,6 +22131,9 @@ msgstr "" ...@@ -22131,6 +22131,9 @@ msgstr ""
msgid "Lead Time" msgid "Lead Time"
msgstr "" msgstr ""
msgid "Lead Time for Changes"
msgstr ""
msgid "Lead time" msgid "Lead time"
msgstr "" msgstr ""
......
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