From d9ab72d6080f594d0b3cae15f14b3ef2c6c638cb Mon Sep 17 00:00:00 2001 From: GitLab Bot Date: Wed, 20 Oct 2021 08:43:02 +0000 Subject: Add latest changes from gitlab-org/gitlab@14-4-stable-ee --- .../cycle_analytics/stage_events/code_stage_start_spec.rb | 12 ++++++++++++ .../cycle_analytics/stage_events/issue_created_spec.rb | 4 ++++ .../stage_events/issue_deployed_to_production_spec.rb | 12 ++++++++++++ .../stage_events/issue_first_mentioned_in_commit_spec.rb | 5 +++++ .../cycle_analytics/stage_events/issue_stage_end_spec.rb | 5 +++++ .../stage_events/merge_request_created_spec.rb | 4 ++++ .../merge_request_first_deployed_to_production_spec.rb | 5 +++++ .../stage_events/merge_request_last_build_finished_spec.rb | 5 +++++ .../stage_events/merge_request_last_build_started_spec.rb | 5 +++++ .../stage_events/merge_request_merged_spec.rb | 5 +++++ .../cycle_analytics/stage_events/plan_stage_start_spec.rb | 5 +++++ 11 files changed, 67 insertions(+) (limited to 'spec/lib/gitlab/analytics/cycle_analytics/stage_events') diff --git a/spec/lib/gitlab/analytics/cycle_analytics/stage_events/code_stage_start_spec.rb b/spec/lib/gitlab/analytics/cycle_analytics/stage_events/code_stage_start_spec.rb index b6f9c8106c9..2e96fd09602 100644 --- a/spec/lib/gitlab/analytics/cycle_analytics/stage_events/code_stage_start_spec.rb +++ b/spec/lib/gitlab/analytics/cycle_analytics/stage_events/code_stage_start_spec.rb @@ -19,4 +19,16 @@ RSpec.describe Gitlab::Analytics::CycleAnalytics::StageEvents::CodeStageStart do expect(records).to eq([merge_request]) expect(records).not_to include(other_merge_request) end + + it_behaves_like 'LEFT JOIN-able value stream analytics event' do + let_it_be(:record_with_data) do + mr_closing_issue = FactoryBot.create(:merge_requests_closing_issues) + issue = mr_closing_issue.issue + issue.metrics.update!(first_mentioned_in_commit_at: Time.current) + + mr_closing_issue.merge_request + end + + let_it_be(:record_without_data) { create(:merge_request) } + end end diff --git a/spec/lib/gitlab/analytics/cycle_analytics/stage_events/issue_created_spec.rb b/spec/lib/gitlab/analytics/cycle_analytics/stage_events/issue_created_spec.rb index 224a18653ed..3f50dd38322 100644 --- a/spec/lib/gitlab/analytics/cycle_analytics/stage_events/issue_created_spec.rb +++ b/spec/lib/gitlab/analytics/cycle_analytics/stage_events/issue_created_spec.rb @@ -4,4 +4,8 @@ require 'spec_helper' RSpec.describe Gitlab::Analytics::CycleAnalytics::StageEvents::IssueCreated do it_behaves_like 'value stream analytics event' + + it_behaves_like 'LEFT JOIN-able value stream analytics event' do + let_it_be(:record_with_data) { create(:issue) } + end end diff --git a/spec/lib/gitlab/analytics/cycle_analytics/stage_events/issue_deployed_to_production_spec.rb b/spec/lib/gitlab/analytics/cycle_analytics/stage_events/issue_deployed_to_production_spec.rb index 93e588675d3..e807565ecb5 100644 --- a/spec/lib/gitlab/analytics/cycle_analytics/stage_events/issue_deployed_to_production_spec.rb +++ b/spec/lib/gitlab/analytics/cycle_analytics/stage_events/issue_deployed_to_production_spec.rb @@ -4,4 +4,16 @@ require 'spec_helper' RSpec.describe Gitlab::Analytics::CycleAnalytics::StageEvents::IssueDeployedToProduction do it_behaves_like 'value stream analytics event' + + it_behaves_like 'LEFT JOIN-able value stream analytics event' do + let_it_be(:record_with_data) do + mr_closing_issue = FactoryBot.create(:merge_requests_closing_issues) + mr = mr_closing_issue.merge_request + mr.metrics.update!(first_deployed_to_production_at: Time.current) + + mr_closing_issue.issue + end + + let_it_be(:record_without_data) { create(:issue) } + end end diff --git a/spec/lib/gitlab/analytics/cycle_analytics/stage_events/issue_first_mentioned_in_commit_spec.rb b/spec/lib/gitlab/analytics/cycle_analytics/stage_events/issue_first_mentioned_in_commit_spec.rb index bc0e388cf53..9bb023f9fdc 100644 --- a/spec/lib/gitlab/analytics/cycle_analytics/stage_events/issue_first_mentioned_in_commit_spec.rb +++ b/spec/lib/gitlab/analytics/cycle_analytics/stage_events/issue_first_mentioned_in_commit_spec.rb @@ -4,4 +4,9 @@ require 'spec_helper' RSpec.describe Gitlab::Analytics::CycleAnalytics::StageEvents::IssueFirstMentionedInCommit do it_behaves_like 'value stream analytics event' + + it_behaves_like 'LEFT JOIN-able value stream analytics event' do + let_it_be(:record_with_data) { create(:issue).tap { |i| i.metrics.update!(first_mentioned_in_commit_at: Time.current) } } + let_it_be(:record_without_data) { create(:issue) } + end end diff --git a/spec/lib/gitlab/analytics/cycle_analytics/stage_events/issue_stage_end_spec.rb b/spec/lib/gitlab/analytics/cycle_analytics/stage_events/issue_stage_end_spec.rb index ddc5f015a8c..7b46a86cbe2 100644 --- a/spec/lib/gitlab/analytics/cycle_analytics/stage_events/issue_stage_end_spec.rb +++ b/spec/lib/gitlab/analytics/cycle_analytics/stage_events/issue_stage_end_spec.rb @@ -4,4 +4,9 @@ require 'spec_helper' RSpec.describe Gitlab::Analytics::CycleAnalytics::StageEvents::IssueStageEnd do it_behaves_like 'value stream analytics event' + + it_behaves_like 'LEFT JOIN-able value stream analytics event' do + let_it_be(:record_with_data) { create(:issue).tap { |i| i.metrics.update!(first_added_to_board_at: Time.current) } } + let_it_be(:record_without_data) { create(:issue) } + end end diff --git a/spec/lib/gitlab/analytics/cycle_analytics/stage_events/merge_request_created_spec.rb b/spec/lib/gitlab/analytics/cycle_analytics/stage_events/merge_request_created_spec.rb index 281cc31c9e0..1139f9099cb 100644 --- a/spec/lib/gitlab/analytics/cycle_analytics/stage_events/merge_request_created_spec.rb +++ b/spec/lib/gitlab/analytics/cycle_analytics/stage_events/merge_request_created_spec.rb @@ -4,4 +4,8 @@ require 'spec_helper' RSpec.describe Gitlab::Analytics::CycleAnalytics::StageEvents::MergeRequestCreated do it_behaves_like 'value stream analytics event' + + it_behaves_like 'LEFT JOIN-able value stream analytics event' do + let_it_be(:record_with_data) { create(:merge_request) } + end end diff --git a/spec/lib/gitlab/analytics/cycle_analytics/stage_events/merge_request_first_deployed_to_production_spec.rb b/spec/lib/gitlab/analytics/cycle_analytics/stage_events/merge_request_first_deployed_to_production_spec.rb index e1dd2e56e2b..a62facb6974 100644 --- a/spec/lib/gitlab/analytics/cycle_analytics/stage_events/merge_request_first_deployed_to_production_spec.rb +++ b/spec/lib/gitlab/analytics/cycle_analytics/stage_events/merge_request_first_deployed_to_production_spec.rb @@ -4,4 +4,9 @@ require 'spec_helper' RSpec.describe Gitlab::Analytics::CycleAnalytics::StageEvents::MergeRequestFirstDeployedToProduction do it_behaves_like 'value stream analytics event' + + it_behaves_like 'LEFT JOIN-able value stream analytics event' do + let_it_be(:record_with_data) { create(:merge_request).tap { |mr| mr.metrics.update!(first_deployed_to_production_at: Time.current) } } + let_it_be(:record_without_data) { create(:merge_request) } + end end diff --git a/spec/lib/gitlab/analytics/cycle_analytics/stage_events/merge_request_last_build_finished_spec.rb b/spec/lib/gitlab/analytics/cycle_analytics/stage_events/merge_request_last_build_finished_spec.rb index 51324966f26..c5cfe43895e 100644 --- a/spec/lib/gitlab/analytics/cycle_analytics/stage_events/merge_request_last_build_finished_spec.rb +++ b/spec/lib/gitlab/analytics/cycle_analytics/stage_events/merge_request_last_build_finished_spec.rb @@ -4,4 +4,9 @@ require 'spec_helper' RSpec.describe Gitlab::Analytics::CycleAnalytics::StageEvents::MergeRequestLastBuildFinished do it_behaves_like 'value stream analytics event' + + it_behaves_like 'LEFT JOIN-able value stream analytics event' do + let_it_be(:record_with_data) { create(:merge_request).tap { |mr| mr.metrics.update!(latest_build_finished_at: Time.current) } } + let_it_be(:record_without_data) { create(:merge_request) } + end end diff --git a/spec/lib/gitlab/analytics/cycle_analytics/stage_events/merge_request_last_build_started_spec.rb b/spec/lib/gitlab/analytics/cycle_analytics/stage_events/merge_request_last_build_started_spec.rb index 10dcaf23b81..6f8a82a9ae5 100644 --- a/spec/lib/gitlab/analytics/cycle_analytics/stage_events/merge_request_last_build_started_spec.rb +++ b/spec/lib/gitlab/analytics/cycle_analytics/stage_events/merge_request_last_build_started_spec.rb @@ -4,4 +4,9 @@ require 'spec_helper' RSpec.describe Gitlab::Analytics::CycleAnalytics::StageEvents::MergeRequestLastBuildStarted do it_behaves_like 'value stream analytics event' + + it_behaves_like 'LEFT JOIN-able value stream analytics event' do + let_it_be(:record_with_data) { create(:merge_request).tap { |mr| mr.metrics.update!(latest_build_started_at: Time.current) } } + let_it_be(:record_without_data) { create(:merge_request) } + end end diff --git a/spec/lib/gitlab/analytics/cycle_analytics/stage_events/merge_request_merged_spec.rb b/spec/lib/gitlab/analytics/cycle_analytics/stage_events/merge_request_merged_spec.rb index 6e20eb73ed9..0060ed0fd48 100644 --- a/spec/lib/gitlab/analytics/cycle_analytics/stage_events/merge_request_merged_spec.rb +++ b/spec/lib/gitlab/analytics/cycle_analytics/stage_events/merge_request_merged_spec.rb @@ -4,4 +4,9 @@ require 'spec_helper' RSpec.describe Gitlab::Analytics::CycleAnalytics::StageEvents::MergeRequestMerged do it_behaves_like 'value stream analytics event' + + it_behaves_like 'LEFT JOIN-able value stream analytics event' do + let_it_be(:record_with_data) { create(:merge_request).tap { |mr| mr.metrics.update!(merged_at: Time.current) } } + let_it_be(:record_without_data) { create(:merge_request) } + end end diff --git a/spec/lib/gitlab/analytics/cycle_analytics/stage_events/plan_stage_start_spec.rb b/spec/lib/gitlab/analytics/cycle_analytics/stage_events/plan_stage_start_spec.rb index b8c68003127..379d59e4c5e 100644 --- a/spec/lib/gitlab/analytics/cycle_analytics/stage_events/plan_stage_start_spec.rb +++ b/spec/lib/gitlab/analytics/cycle_analytics/stage_events/plan_stage_start_spec.rb @@ -21,4 +21,9 @@ RSpec.describe Gitlab::Analytics::CycleAnalytics::StageEvents::PlanStageStart do expect(records).to match_array([issue1, issue2]) expect(records).not_to include(issue_without_metrics) end + + it_behaves_like 'LEFT JOIN-able value stream analytics event' do + let_it_be(:record_with_data) { create(:issue).tap { |i| i.metrics.update!(first_added_to_board_at: Time.current) } } + let_it_be(:record_without_data) { create(:issue) } + end end -- cgit v1.2.3