diff options
author | Rémy Coutable <remy@rymai.me> | 2016-12-16 17:00:43 +0000 |
---|---|---|
committer | Rémy Coutable <remy@rymai.me> | 2016-12-16 17:00:43 +0000 |
commit | 02ecc2225a324778c796dc6556d0dcd07fe660a7 (patch) | |
tree | dd56152965364faa92480804de626a7c026a0c4b /spec/support | |
parent | ae71032d0af1730c359089f3edc9029a8b5c8acc (diff) | |
parent | 9f97fa4d9f4e86e8f1ff1db4621bcf81390936da (diff) | |
download | gitlab-ce-02ecc2225a324778c796dc6556d0dcd07fe660a7.tar.gz |
Merge branch '25339-2-webhooks-fired-for-issue-closed-and-reopened' into 'master'
Ensure issuable state changes only fire webhooks once
Webhooks were fired twice when issuables were reopened or closed. Once for the status change and once for the `update` operation
Closes #25339
See merge request !8101
Diffstat (limited to 'spec/support')
-rw-r--r-- | spec/support/services/issuable_update_service_shared_examples.rb | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/spec/support/services/issuable_update_service_shared_examples.rb b/spec/support/services/issuable_update_service_shared_examples.rb new file mode 100644 index 00000000000..a3336755773 --- /dev/null +++ b/spec/support/services/issuable_update_service_shared_examples.rb @@ -0,0 +1,17 @@ +shared_examples 'issuable update service' do + context 'changing state' do + before { expect(project).to receive(:execute_hooks).once } + + context 'to reopened' do + it 'executes hooks only once' do + described_class.new(project, user, state_event: 'reopen').execute(closed_issuable) + end + end + + context 'to closed' do + it 'executes hooks only once' do + described_class.new(project, user, state_event: 'close').execute(open_issuable) + end + end + end +end |