diff options
Diffstat (limited to 'spec/services/issues/close_service_spec.rb')
-rw-r--r-- | spec/services/issues/close_service_spec.rb | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/spec/services/issues/close_service_spec.rb b/spec/services/issues/close_service_spec.rb index e88fe1b42f0..ef92b6984d5 100644 --- a/spec/services/issues/close_service_spec.rb +++ b/spec/services/issues/close_service_spec.rb @@ -397,9 +397,26 @@ RSpec.describe Issues::CloseService do end context 'when issue is not confidential' do + let(:expected_payload) do + include( + event_type: 'issue', + object_kind: 'issue', + changes: { + closed_at: { current: kind_of(Time), previous: nil }, + state_id: { current: 2, previous: 1 }, + updated_at: { current: kind_of(Time), previous: kind_of(Time) } + }, + object_attributes: include( + closed_at: kind_of(Time), + state: 'closed', + action: 'close' + ) + ) + end + it 'executes issue hooks' do - expect(project).to receive(:execute_hooks).with(an_instance_of(Hash), :issue_hooks) - expect(project).to receive(:execute_integrations).with(an_instance_of(Hash), :issue_hooks) + expect(project).to receive(:execute_hooks).with(expected_payload, :issue_hooks) + expect(project).to receive(:execute_integrations).with(expected_payload, :issue_hooks) described_class.new(project: project, current_user: user).close_issue(issue) end |