travis-api/spec/unit/api/v2/http/log_spec.rb
Piotr Sarnacki 3b9c864aff Fix specs
2014-09-11 14:47:56 +02:00

44 lines
1.2 KiB
Ruby

require 'spec_helper'
describe Travis::Api::V2::Http::Log do
include Travis::Testing::Stubs
let(:data) { described_class.new(log).data }
it 'log' do
data['log'].should == {
'id' => 1,
'job_id' => 1,
'type' => 'Log',
'body' => 'the test log'
}
end
describe 'chunked log' do
let(:log) do
stub_log(parts: [
stub_log_part(id: 2, number: 2, content: 'bar', final: true),
stub_log_part(id: 1, number: 1, content: 'foo')
])
end
let(:data) { described_class.new(log, chunked: true).data }
it 'returns ordered parts' do
data['log']['parts'].should == [
{ 'id' => 1, 'number' => 1, 'content' => 'foo', 'final' => false },
{ 'id' => 2, 'number' => 2, 'content' => 'bar', 'final' => true }
]
end
describe "with parts numbers specified" do
let(:data) { described_class.new(log, 'part_numbers' => "1,3", chunked: true).data }
it 'returns only requested parts' do
parts = log.parts.find_all { |p| p.number == 1 }
log.parts.expects(:where).with(number: [1, 3]).returns(parts)
data['log']['parts'].should == [{ 'id' => 1, 'number' => 1, 'content' => 'foo', 'final' => false }]
end
end
end
end