Commit 8bfc62fb8b02bde7da97958deb8aeda63581bfce

Authored by Dmitriy Zaporozhets
1 parent 37ef33cb

Convert TestHookContext into TestHookService. Added tests

Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
app/contexts/test_hook_context.rb
@@ -1,7 +0,0 @@ @@ -1,7 +0,0 @@
1 -class TestHookContext < BaseContext  
2 - def execute  
3 - hook = project.hooks.find(params[:id])  
4 - data = GitPushService.new.sample_data(project, current_user)  
5 - hook.execute(data)  
6 - end  
7 -end  
app/controllers/projects/hooks_controller.rb
@@ -24,15 +24,20 @@ class Projects::HooksController &lt; Projects::ApplicationController @@ -24,15 +24,20 @@ class Projects::HooksController &lt; Projects::ApplicationController
24 end 24 end
25 25
26 def test 26 def test
27 - TestHookContext.new(project, current_user, params).execute 27 + TestHookService.new.execute(hook, current_user)
28 28
29 redirect_to :back 29 redirect_to :back
30 end 30 end
31 31
32 def destroy 32 def destroy
33 - @hook = @project.hooks.find(params[:id])  
34 - @hook.destroy 33 + hook.destroy
35 34
36 redirect_to project_hooks_path(@project) 35 redirect_to project_hooks_path(@project)
37 end 36 end
  37 +
  38 + private
  39 +
  40 + def hook
  41 + @hook ||= @project.hooks.find(params[:id])
  42 + end
38 end 43 end
app/services/test_hook_service.rb 0 → 100644
@@ -0,0 +1,6 @@ @@ -0,0 +1,6 @@
  1 +class TestHookService
  2 + def execute(hook, current_user)
  3 + data = GitPushService.new.sample_data(hook.project, current_user)
  4 + hook.execute(data)
  5 + end
  6 +end
spec/services/test_hook_service_spec.rb 0 → 100644
@@ -0,0 +1,14 @@ @@ -0,0 +1,14 @@
  1 +require 'spec_helper'
  2 +
  3 +describe TestHookService do
  4 + let (:user) { create :user }
  5 + let (:project) { create :project_with_code }
  6 + let (:hook) { create :project_hook, project: project }
  7 +
  8 + describe :execute do
  9 + it "should execute successfully" do
  10 + stub_request(:post, hook.url).to_return(status: 200)
  11 + TestHookService.new.execute(hook, user).should be_true
  12 + end
  13 + end
  14 +end