diff options
author | Rémy Coutable <remy@rymai.me> | 2017-10-05 19:02:50 +0200 |
---|---|---|
committer | Rémy Coutable <remy@rymai.me> | 2017-10-09 16:44:47 +0200 |
commit | f070265a6ddd0173c8924bfcd7791ecafa15ab7e (patch) | |
tree | cf364687889aa546f39b607aa57db839d7059c97 /spec/models/merge_request_spec.rb | |
parent | 075d6516047d899746d22b5323d3b74558e200d0 (diff) | |
download | gitlab-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.rb | 59 |
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 |