summaryrefslogtreecommitdiff
path: root/spec/models/merge_request_spec.rb
diff options
context:
space:
mode:
authorRémy Coutable <remy@rymai.me>2017-10-05 19:02:50 +0200
committerRémy Coutable <remy@rymai.me>2017-10-09 16:44:47 +0200
commitf070265a6ddd0173c8924bfcd7791ecafa15ab7e (patch)
treecf364687889aa546f39b607aa57db839d7059c97 /spec/models/merge_request_spec.rb
parent075d6516047d899746d22b5323d3b74558e200d0 (diff)
downloadgitlab-ce-f070265a6ddd0173c8924bfcd7791ecafa15ab7e.tar.gz
Introduce new hook data builders for Issue and MergeRequest34284-add-changes-to-issuable-webhook-data
Signed-off-by: Rémy Coutable <remy@rymai.me>
Diffstat (limited to 'spec/models/merge_request_spec.rb')
-rw-r--r--spec/models/merge_request_spec.rb59
1 files changed, 7 insertions, 52 deletions
diff --git a/spec/models/merge_request_spec.rb b/spec/models/merge_request_spec.rb
index 844ada57e22..17c9f15b021 100644
--- a/spec/models/merge_request_spec.rb
+++ b/spec/models/merge_request_spec.rb
@@ -661,59 +661,14 @@ describe MergeRequest do
end
describe '#hook_attrs' do
- let(:attrs_hash) { subject.hook_attrs }
-
- it 'includes safe attribute' do
- %w[
- assignee_id
- author_id
- created_at
- deleted_at
- description
- head_pipeline_id
- id
- iid
- last_edited_at
- last_edited_by_id
- merge_commit_sha
- merge_error
- merge_params
- merge_status
- merge_user_id
- merge_when_pipeline_succeeds
- milestone_id
- ref_fetched
- source_branch
- source_project_id
- state
- target_branch
- target_project_id
- time_estimate
- title
- updated_at
- updated_by_id
- ].each do |key|
- expect(attrs_hash).to include(key)
- end
- end
-
- %i[source target].each do |key|
- describe "#{key} key" do
- include_examples 'project hook data', project_key: key do
- let(:data) { attrs_hash }
- let(:project) { subject.public_send("#{key}_project") }
- end
- end
- end
+ it 'delegates to Gitlab::HookData::MergeRequestBuilder#build' do
+ builder = double
+
+ expect(Gitlab::HookData::MergeRequestBuilder)
+ .to receive(:new).with(subject).and_return(builder)
+ expect(builder).to receive(:build)
- it 'includes additional attrs' do
- expect(attrs_hash).to include(:source)
- expect(attrs_hash).to include(:target)
- expect(attrs_hash).to include(:last_commit)
- expect(attrs_hash).to include(:work_in_progress)
- expect(attrs_hash).to include(:total_time_spent)
- expect(attrs_hash).to include(:human_time_estimate)
- expect(attrs_hash).to include(:human_total_time_spent)
+ subject.hook_attrs
end
end