require 'spec_helper' describe SwfAsset do it "belongs to a zone" do zone = Factory.create :zone, :label => 'foo' asset = Factory.create :swf_asset, :zone_id => 1 asset.zone_id.should == 1 asset.zone.id.should == 1 asset.zone.label.should == 'foo' end it "delegates depth to zone" do zone = Factory.create :zone, :depth => 12 asset = Factory.create :swf_asset, :zone_id => 1 asset.depth.should == 12 end it "converts neopets URL to impress URL" do asset = Factory.create :swf_asset, :url => 'http://images.neopets.com/cp/items/swf/000/000/012/12211_9969430b3a.swf' asset.local_url.should == 'http://impress.openneo.net/assets/swf/outfit/items/000/000/012/12211_9969430b3a.swf' end it "should contain id, depth, zone ID, and local_url as JSON" do zone = Factory.create :zone, :depth => 12 asset = Factory.create :swf_asset, :id => 123, :zone_id => 1, :body_id => 234, :url => 'http://images.neopets.com/cp/items/swf/000/000/012/12211_9969430b3a.swf' asset.as_json.should == { :id => 123, :depth => 12, :body_id => 234, :local_url => 'http://impress.openneo.net/assets/swf/outfit/items/000/000/012/12211_9969430b3a.swf', :zone_id => 1 } end end