Commit 5df2c441 authored by Valery Sizov's avatar Valery Sizov

fox specs

parent 5c1b49f4
......@@ -135,10 +135,10 @@ class Commit
description.present?
end
def hook_attrs
def hook_attrs(with_changed_files = false)
path_with_namespace = project.path_with_namespace
{
data = {
id: id,
message: safe_message,
timestamp: committed_date.xmlschema,
......@@ -146,11 +146,18 @@ class Commit
author: {
name: author_name,
email: author_email
},
added: repo_changes[:added],
modified: repo_changes[:modified],
removed: repo_changes[:removed]
}
}
if with_changed_files
data.merge!({
added: repo_changes[:added],
modified: repo_changes[:modified],
removed: repo_changes[:removed]
})
end
data
end
# Discover issues should be closed when this commit is pushed to a project's
......@@ -205,14 +212,16 @@ class Commit
def repo_changes
changes = { added: [], modified: [], removed: [] }
diffs.each do |diff|
case true
when diff.deleted_file
changes[:removed] << diff.old_path
when diff.renamed_file, diff.new_file
changes[:added] << diff.new_path
else
changes[:modified] << diff.new_path
if diffs.any?
diffs.each do |diff|
case true
when diff.deleted_file
changes[:removed] << diff.old_path
when diff.renamed_file, diff.new_file
changes[:added] << diff.new_path
else
changes[:modified] << diff.new_path
end
end
end
......
......@@ -291,7 +291,7 @@ class MergeRequest < ActiveRecord::Base
work_in_progress: work_in_progress?
}
unless last_commit.nil?
if last_commit
attrs.merge!(last_commit: last_commit.hook_attrs)
end
......
......@@ -30,7 +30,9 @@ module Gitlab
# For performance purposes maximum 20 latest commits
# will be passed as post receive hook data.
commit_attrs = commits_limited.map(&:hook_attrs)
commit_attrs = commits_limited.map do |commit|
commit.hook_attrs(true)
end
type = Gitlab::Git.tag_ref?(ref) ? "tag_push" : "push"
......
......@@ -102,7 +102,7 @@ eos
end
describe '#hook_attrs' do
let(:data) { commit.hook_attrs }
let(:data) { commit.hook_attrs(true) }
it { expect(data).to be_a(Hash) }
it { expect(data[:message]).to include('Add submodule from gitlab.com') }
......
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