summaryrefslogtreecommitdiff
path: root/spec/models/service_spec.rb
diff options
context:
space:
mode:
authorDouwe Maan <douwe@gitlab.com>2017-04-27 19:16:31 +0000
committerDouwe Maan <douwe@gitlab.com>2017-04-27 19:16:31 +0000
commit5976195fef53fe1bc56647dfc06049a8f984d5fe (patch)
tree06b169be546df8c91ef8709add735b937dce0497 /spec/models/service_spec.rb
parent419f39e34d7ca741b33e4dbc2b864c21e60bb164 (diff)
parent6368072fd7bbee0f79de358aa8645f463d768bef (diff)
downloadgitlab-ce-5976195fef53fe1bc56647dfc06049a8f984d5fe.tar.gz
Merge branch '31138-improve-test-settings-for-services-in-empty-projects' into 'master'
improves test settings for chat notification services for empty projects Closes #31138 See merge request !10886
Diffstat (limited to 'spec/models/service_spec.rb')
-rw-r--r--spec/models/service_spec.rb51
1 files changed, 28 insertions, 23 deletions
diff --git a/spec/models/service_spec.rb b/spec/models/service_spec.rb
index 4d0181ca297..134882648b9 100644
--- a/spec/models/service_spec.rb
+++ b/spec/models/service_spec.rb
@@ -11,43 +11,48 @@ describe Service, models: true do
end
describe "Test Button" do
- before do
- @service = Service.new
- end
+ describe '#can_test?' do
+ let(:service) { create(:service, project: project) }
- describe "Testable" do
- let(:project) { create(:project, :repository) }
+ context 'when repository is not empty' do
+ let(:project) { create(:project, :repository) }
- before do
- allow(@service).to receive(:project).and_return(project)
- @testable = @service.can_test?
+ it 'returns true' do
+ expect(service.can_test?).to be true
+ end
end
- describe '#can_test?' do
- it { expect(@testable).to eq(true) }
+ context 'when repository is empty' do
+ let(:project) { create(:empty_project) }
+
+ it 'returns true' do
+ expect(service.can_test?).to be true
+ end
end
+ end
- describe '#test' do
- let(:data) { 'test' }
+ describe '#test' do
+ let(:data) { 'test' }
+ let(:service) { create(:service, project: project) }
+
+ context 'when repository is not empty' do
+ let(:project) { create(:project, :repository) }
it 'test runs execute' do
- expect(@service).to receive(:execute).with(data)
+ expect(service).to receive(:execute).with(data)
- @service.test(data)
+ service.test(data)
end
end
- end
- describe "With commits" do
- let(:project) { create(:project, :repository) }
+ context 'when repository is empty' do
+ let(:project) { create(:empty_project) }
- before do
- allow(@service).to receive(:project).and_return(project)
- @testable = @service.can_test?
- end
+ it 'test runs execute' do
+ expect(service).to receive(:execute).with(data)
- describe '#can_test?' do
- it { expect(@testable).to eq(true) }
+ service.test(data)
+ end
end
end
end