travis-api/spec/lib/services/next_build_number_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

49 lines
1.1 KiB
Ruby

require 'travis/services/next_build_number'
describe Travis::Services::NextBuildNumber do
let(:service) { described_class.new(user, params) }
let!(:user) { Factory(:user) }
let(:result) { service.run }
let(:params) { { repository_id: 1234 } }
let(:repo) do
Factory(:repository, owner_name: 'travis-ci', name: 'travis-core')
end
subject { result }
before do
Repository.expects(:find).with(1234).returns(repo)
end
context 'with a new repository' do
before(:each) { repo.next_build_number = nil }
it 'returns 1' do
subject.should == 1
end
it 'initializes the next_build_number' do
repo.next_build_number.should be_nil
subject
repo.next_build_number.should == 2
end
end
context 'with an existing repository' do
let(:repo) do
Factory(:repository,
owner_name: 'travis-ci', name: 'travis-core', next_build_number: 4
)
end
it 'returns the next_build_number' do
subject.should == 4
end
it 'increments the next_build_number' do
subject
repo.next_build_number.should == 5
end
end
end