48 lines
1.3 KiB
Ruby
48 lines
1.3 KiB
Ruby
require 'spec_helper'
|
|
|
|
describe GitTagPushService do
|
|
let (:user) { create :user }
|
|
let (:project) { create :project }
|
|
let (:service) { GitTagPushService.new }
|
|
|
|
before do
|
|
@ref = 'refs/tags/super-tag'
|
|
@oldrev = 'b98a310def241a6fd9c9a9a3e7934c48e498fe81'
|
|
@newrev = 'b19a04f53caeebf4fe5ec2327cb83e9253dc91bb'
|
|
end
|
|
|
|
describe 'Git Tag Push Data' do
|
|
before do
|
|
service.execute(project, user, @oldrev, @newrev, @ref)
|
|
@push_data = service.push_data
|
|
end
|
|
|
|
subject { @push_data }
|
|
|
|
it { should include(ref: @ref) }
|
|
it { should include(before: @oldrev) }
|
|
it { should include(after: @newrev) }
|
|
it { should include(user_id: user.id) }
|
|
it { should include(user_name: user.name) }
|
|
it { should include(project_id: project.id) }
|
|
|
|
context 'With repository data' do
|
|
subject { @push_data[:repository] }
|
|
|
|
it { should include(name: project.name) }
|
|
it { should include(url: project.url_to_repo) }
|
|
it { should include(description: project.description) }
|
|
it { should include(homepage: project.web_url) }
|
|
end
|
|
end
|
|
|
|
describe "Web Hooks" do
|
|
context "execute web hooks" do
|
|
it "when pushing tags" do
|
|
project.should_receive(:execute_hooks)
|
|
service.execute(project, user, 'oldrev', 'newrev', 'refs/tags/v1.0.0')
|
|
end
|
|
end
|
|
end
|
|
end
|