travis-api/spec/lib/model/build/denormalize_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

56 lines
1.6 KiB
Ruby

describe Build, 'denormalization' do
let(:build) { Factory(:build, state: :started, duration: 30) }
describe 'on build:started' do
before :each do
build.denormalize(:start)
build.reload
end
it 'denormalizes last_build_id to its repository' do
build.repository.last_build_id.should == build.id
end
it 'denormalizes last_build_state to its repository' do
build.repository.last_build_state.should == 'started'
end
it 'denormalizes last_build_number to its repository' do
build.repository.last_build_number.should == build.number
end
it 'denormalizes last_build_duration to its repository' do
build.repository.last_build_duration.should == build.duration
end
it 'denormalizes last_build_started_at to its repository' do
build.repository.last_build_started_at.should == build.started_at
end
it 'denormalizes last_build_finished_at to its repository' do
build.repository.last_build_finished_at.should == build.finished_at
end
end
describe 'on build:finished' do
before :each do
build.update_attributes(state: :errored)
build.denormalize(:finish)
build.reload
end
it 'denormalizes last_build_state to its repository' do
build.repository.last_build_state.should == 'errored'
end
it 'denormalizes last_build_duration to its repository' do
build.repository.last_build_duration.should == build.duration
end
it 'denormalizes last_build_finished_at to its repository' do
build.repository.last_build_finished_at.should == build.finished_at
end
end
end