travis-api/spec/lib/services/regenerate_repo_key_spec.rb
Aakriti Gupta 65f1a29d86 Move travis-core files from /vendor to /lib.
- Re-factor
- Remove code for notifications
- Remove addons
- Remove travis-core gem.
- Ignore logs directory only
- Move core tests to spec/lib
2016-07-20 11:22:25 +02:00

26 lines
836 B
Ruby

describe Travis::Services::RegenerateRepoKey do
let(:user) { User.first || Factory(:user) }
let!(:repo) { Factory(:repository, :owner_name => 'travis-ci', :name => 'travis-core') }
let(:service) { described_class.new(user, :id => repo.id) }
before :each do
service.expects(:service).with(:find_repo, :id => repo.id).returns(stub(:run => repo))
user.permissions.create!(:repository_id => repo.id, :admin => true)
end
describe 'given the request is authorized' do
it 'regenerates the key' do
repo.expects(:regenerate_key!)
service.run.should == repo.reload.key
end
end
describe 'given the request is not authorized' do
it 'does not regenerate key' do
user.permissions.destroy_all
repo.expects(:regenerate_key!).never
service.run.should be_falsey
end
end
end