Fix notify_only_default_branch check for Slack service

The notify_only_default_branch property is using boolean_accessor
this means we need to check it using a question methods.
Also add specs for disabling this option.
This commit is contained in:
Chris Wilson 2017-05-08 12:00:30 +10:00
parent 8b9cd3c072
commit 52c8651a6c
3 changed files with 18 additions and 2 deletions

View File

@ -150,7 +150,7 @@ class ChatNotificationService < Service
def notify_for_ref?(data) def notify_for_ref?(data)
return true if data[:object_attributes][:tag] return true if data[:object_attributes][:tag]
return true unless notify_only_default_branch return true unless notify_only_default_branch?
data[:object_attributes][:ref] == project.default_branch data[:object_attributes][:ref] == project.default_branch
end end

View File

@ -0,0 +1,4 @@
---
title: Fix notify_only_default_branch check for Slack service
merge_request:
author:

View File

@ -328,7 +328,7 @@ RSpec.shared_examples 'slack or mattermost notifications' do
context 'only notify for the default branch' do context 'only notify for the default branch' do
context 'when enabled' do context 'when enabled' do
let(:pipeline) do let(:pipeline) do
create(:ci_pipeline, project: project, status: 'failed', ref: 'not-the-default-branch') create(:ci_pipeline, :failed, project: project, ref: 'not-the-default-branch')
end end
before do before do
@ -342,6 +342,18 @@ RSpec.shared_examples 'slack or mattermost notifications' do
expect(result).to be_falsy expect(result).to be_falsy
end end
end end
context 'when disabled' do
let(:pipeline) do
create(:ci_pipeline, :failed, project: project, ref: 'not-the-default-branch')
end
before do
chat_service.notify_only_default_branch = false
end
it_behaves_like 'call Slack/Mattermost API'
end
end end
end end
end end