blob: 3b61e35a99d1dfd952649b4e4f0da4d36bde78b0 [file] [log] [blame]
require File.expand_path('../../../spec_helper', __FILE__)
module Pod
describe Downloader::Request do
before do
@spec = fixture_spec('banana-lib/BananaLib.podspec')
end
#--------------------------------------#
describe 'Validation' do
it 'validates request initialization' do
options = [
{ :spec => nil, :name => nil },
{ :spec => nil, :released => true },
{ :spec => @spec.dup.tap { |s| s.source = nil }, :released => true },
]
options.each do |params|
should.raise(ArgumentError) { Downloader::Request.new(params) }
end
end
end
#--------------------------------------#
describe 'when released_pod? == true' do
before do
@request = Downloader::Request.new(:spec => @spec, :released => true)
end
it 'returns the spec' do
@request.spec.should == @spec
end
it 'returns whether the pod is released' do
@request.released_pod?.should == true
end
it 'returns the name of the spec' do
@request.name.should == @spec.name
end
it 'returns the source of the spec' do
@request.params.should == @spec.source
end
it 'returns the slug' do
@request.slug.should == 'Release/BananaLib/1.0-832cd'
end
end
#--------------------------------------#
describe 'when released_pod? == false' do
before do
@request = Downloader::Request.new(:name => 'BananaLib', :params => @spec.source)
end
it 'returns the spec' do
@request.spec.should.be.nil?
end
it 'returns whether the pod is released' do
@request.released_pod?.should == false
end
it 'returns the name of the spec' do
@request.name.should == 'BananaLib'
end
it 'returns the source of the spec' do
@request.params.should == @spec.source
end
it 'returns the slug' do
@request.slug.should == 'External/BananaLib/a0856313adccfbcc7c5b0ea859ee14f5'
end
end
end
end