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.
This commit is contained in:
parent
020295fffc
commit
29519edb55
4 changed files with 5 additions and 10 deletions
|
@ -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
|
||||
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
@ -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
|
||||
|
|
|
@ -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')
|
||||
|
@ -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…
Reference in a new issue