Skip to content
Snippets Groups Projects
Commit 29519edb authored by James Edwards-Jones's avatar James Edwards-Jones
Browse files

Cycle analytics specs needed Commit to reference issue

The plan stage both measures time taken and lists related commits. We test for commits being listed, so needed to actually mention the issue in them. An alternative would have been adding “allow_any_instance_of(Commit).to receive(:matches_cross_reference_regex?).and_return(true)” but this felt too coupled to implementation.
parent 020295ff
No related branches found
No related tags found
3 merge requests!12073Add RC2 changes to 9-3-stable,!11056WIP: Resolve "Display performance deltas between app deployments on Merge Request workflow",!10867Use regex to skip unnecessary reference processing in ProcessCommitWorker
Pipeline #
Loading
Loading
@@ -8,7 +8,7 @@ feature 'Cycle Analytics', feature: true, js: true do
let(:project) { create(:project) }
let(:issue) { create(:issue, project: project, created_at: 2.days.ago) }
let(:milestone) { create(:milestone, project: project) }
let(:mr) { create_merge_request_closing_issue(issue) }
let(:mr) { create_merge_request_closing_issue(issue, commit_message: "References #{issue.to_reference}") }
let(:pipeline) { create(:ci_empty_pipeline, status: 'created', project: project, ref: mr.source_branch, sha: mr.source_branch_sha) }
 
context 'as an allowed user' do
Loading
Loading
@@ -34,7 +34,6 @@ feature 'Cycle Analytics', feature: true, js: true do
before do
project.team << [user, :master]
 
allow_any_instance_of(Gitlab::ReferenceExtractor).to receive(:issues).and_return([issue])
create_cycle
deploy_master
 
Loading
Loading
Loading
Loading
@@ -11,8 +11,6 @@ describe 'cycle analytics events' do
end
 
before do
allow_any_instance_of(Gitlab::ReferenceExtractor).to receive(:issues).and_return([context])
setup(context)
end
 
Loading
Loading
@@ -332,7 +330,7 @@ describe 'cycle analytics events' do
def setup(context)
milestone = create(:milestone, project: project)
context.update(milestone: milestone)
mr = create_merge_request_closing_issue(context)
mr = create_merge_request_closing_issue(context, commit_message: "References #{context.to_reference}")
 
ProcessCommitWorker.new.perform(project.id, user.id, mr.commits.last.to_hash)
end
Loading
Loading
Loading
Loading
@@ -11,8 +11,6 @@ describe 'cycle analytics events' do
before do
project.team << [user, :developer]
 
allow_any_instance_of(Gitlab::ReferenceExtractor).to receive(:issues).and_return([issue])
3.times do |count|
Timecop.freeze(Time.now + count.days) do
create_cycle
Loading
Loading
@@ -123,7 +121,7 @@ describe 'cycle analytics events' do
def create_cycle
milestone = create(:milestone, project: project)
issue.update(milestone: milestone)
mr = create_merge_request_closing_issue(issue)
mr = create_merge_request_closing_issue(issue, commit_message: "References #{issue.to_reference}")
 
pipeline = create(:ci_empty_pipeline, status: 'created', project: project, ref: mr.source_branch, sha: mr.source_branch_sha)
pipeline.run
Loading
Loading
Loading
Loading
@@ -20,7 +20,7 @@ module CycleAnalyticsHelpers
ref: 'refs/heads/master').execute
end
 
def create_merge_request_closing_issue(issue, message: nil, source_branch: nil)
def create_merge_request_closing_issue(issue, message: nil, source_branch: nil, commit_message: 'commit message')
if !source_branch || project.repository.commit(source_branch).blank?
source_branch = generate(:branch)
project.repository.add_branch(user, source_branch, 'master')
Loading
Loading
@@ -30,7 +30,7 @@ module CycleAnalyticsHelpers
user,
generate(:branch),
'content',
message: 'commit message',
message: commit_message,
branch_name: source_branch)
project.repository.commit(sha)
 
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment