spec/spec_helper.rb in apprank-0.0.1 vs spec/spec_helper.rb in apprank-1.0.0

- old
+ new

@@ -1,137 +1,23 @@ -require 'lib/apprank' -require 'faker' +# load path for ruby 2.x +$:<< File.join(File.dirname(__FILE__), '..') +require 'lib/apprank' include Apprank -def create_fake_app - itunes_id = rand(100000).to_s - expected = { - :name => Faker::Company.bs, - :icon_urls => { - :small => Faker::Internet.domain_name, - :medium => Faker::Internet.domain_name, - :large => Faker::Internet.domain_name - }, - :summary => Faker::Company.catch_phrase, - :price => { - :amount => rand(1000), - :currency => Faker::Address.us_state_abbr, - }, - :rights => Faker::Company.name, - :title => Faker::Company.bs + Faker::Company.name, - :link => Faker::Internet.domain_name, - :preview => Faker::Internet.domain_name, - :itunes_id => itunes_id, - :itunes_url => Faker::Internet.domain_name + '/id' + itunes_id + '?foo=bar', - :developer => { - :name => Faker::Company.name, - :url => Faker::Internet.domain_name - }, - :category => { - :name => Faker::Name.last_name, - :url => Faker::Internet.domain_name - }, - :release_date => Time.now - } +RSpec.configure do |config| - data = { - "im:name" => { "label" => expected[:name] }, - "im:image" => [ - { - "label" => expected[:icon_urls][:small], - "attributes" => { "height" => "53" } - }, - { - "label" => expected[:icon_urls][:medium], - "attributes" => { "height" => "75" } - }, - { - "label" => expected[:icon_urls][:large], - "attributes" => { "height" => "100" } - } - ], - "summary" => { "label" => expected[:summary] }, - "im:price" => { - "label" => "Free", - "attributes" => { - "amount" => expected[:price][:amount], - "currency" => expected[:price][:currency] - } - }, - "im:contentType" => { - "attributes" => { - "term" => "Application", - "label" => "Application" - } - }, - "rights" => { "label" => expected[:rights] }, - "title" => { "label" => expected[:title] }, - "link" => [ - { - "attributes" => { - "rel" => "alternate", - "type" => "text/html", - "href" => expected[:link] - } - }, - { - "im:duration" => { "label" => "0" }, - "attributes" => { - "title" => "Preview", - "rel" => "enclosure", - "type" => "image/jpeg", - "href" => expected[:preview], - "im:assetType" => "preview" - } - } - ], - "id" => { "label" => expected[:itunes_url] }, - "im:artist" => { - "label" => expected[:developer][:name], - "attributes" => { "href" => expected[:developer][:url] } - }, - "category" => { - "attributes" => { - "term" => expected[:category][:name], - "scheme" => expected[:category][:url], - "label" => expected[:category][:name] - } - }, - "im:releaseDate" => { - "label" => expected[:release_date].strftime("%Y-%m-%dT%H:%M:%S%z"), - "attributes" => { "label" => "November 04, 2010" } - } - } + config.expect_with :rspec do |expectations| + expectations.include_chain_clauses_in_custom_matcher_descriptions = true + end - [App.new(data), expected, data] + config.mock_with :rspec do |mocks| + mocks.verify_partial_doubles = true + end + end -def create_fake_feed(length=100) - { - :author => { - :name => { :label => Faker::Company.name }, - :uri => { :label => Faker::Internet.domain_name } - }, - :entry => length.times.map{ create_fake_app[2] }, - :updated => { :label => Time.now }, - :rights => { :label => Faker::Company.catch_phrase }, - :title => { :label => Faker::Company.bs }, - :icon => { :label => Faker::Internet.domain_name }, - :link => [ - { - :attributes => { - :rel => "alternate", - :type => "text/html", - :href => Faker::Internet.domain_name - } - }, - { - :attributes => { - :rel => "self", - :href => Faker::Internet.domain_name + "?cc=us" - } - } - ], - :id => { :label => Faker::Internet.domain_name + "?cc=us" } - } +module SpecHelper + def self.data + open('./spec/fixtures/data.json') + end end