44 lines
1.2 KiB
Ruby
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
|