diff options
author | Mario de la Ossa <mariodelaossa@gmail.com> | 2018-05-21 20:24:37 -0600 |
---|---|---|
committer | Mario de la Ossa <mariodelaossa@gmail.com> | 2018-05-21 20:24:37 -0600 |
commit | 26fd4ca75ebcf5268cb980c0ce22b05ca937478e (patch) | |
tree | eef37d317639270915f566100061c2d2d807f589 | |
parent | c6f72ac9a88521257991aa9a0cc6d558126f5bb9 (diff) | |
download | gitlab-ce-ee-6021-extract-ee-services.tar.gz |
Backport changes in app/services/test_hooks/project_service.rbee-6021-extract-ee-services
-rw-r--r-- | app/services/test_hooks/project_service.rb | 4 | ||||
-rw-r--r-- | spec/services/test_hooks/project_service_spec.rb | 10 |
2 files changed, 11 insertions, 3 deletions
diff --git a/app/services/test_hooks/project_service.rb b/app/services/test_hooks/project_service.rb index 01d5d774cd5..65183e84cce 100644 --- a/app/services/test_hooks/project_service.rb +++ b/app/services/test_hooks/project_service.rb @@ -1,11 +1,13 @@ module TestHooks class ProjectService < TestHooks::BaseService - private + attr_writer :project def project @project ||= hook.project end + private + def push_events_data throw(:validation_error, 'Ensure the project has at least one commit.') if project.empty_repo? diff --git a/spec/services/test_hooks/project_service_spec.rb b/spec/services/test_hooks/project_service_spec.rb index 962b9f40c4f..19e1c5ff3b2 100644 --- a/spec/services/test_hooks/project_service_spec.rb +++ b/spec/services/test_hooks/project_service_spec.rb @@ -6,13 +6,19 @@ describe TestHooks::ProjectService do describe '#execute' do let(:project) { create(:project, :repository) } let(:hook) { create(:project_hook, project: project) } + let(:trigger) { 'not_implemented_events' } let(:service) { described_class.new(hook, current_user, trigger) } let(:sample_data) { { data: 'sample' } } let(:success_result) { { status: :success, http_status: 200, message: 'ok' } } - context 'hook with not implemented test' do - let(:trigger) { 'not_implemented_events' } + it 'allows to set a custom project' do + project = double + service.project = project + + expect(service.project).to eq(project) + end + context 'hook with not implemented test' do it 'returns error message' do expect(hook).not_to receive(:execute) expect(service.execute).to include({ status: :error, message: 'Testing not available for this hook' }) |