57 lines
1.9 KiB
Ruby
57 lines
1.9 KiB
Ruby
require 'spec_helper'
|
|
|
|
describe Refinery::WordPress::Attachment, :type => :model do
|
|
context "an image attchment" do
|
|
let(:attachment) { test_dump.attachments.first }
|
|
|
|
specify { attachment.title.should == '200px-Tux.svg' }
|
|
# doesn't get exported atm. for some reason
|
|
specify { attachment.description.should == '' }
|
|
specify { attachment.url.should == 'http://localhost/wordpress/wp-content/uploads/2011/05/200px-Tux.svg_.png' }
|
|
specify { attachment.file_name.should == '200px-Tux.svg_.png' }
|
|
specify { attachment.post_date.should == DateTime.new(2011, 6, 5, 15, 26, 51) }
|
|
specify { attachment.should be_an_image }
|
|
|
|
describe "#to_refinery" do
|
|
before do
|
|
@image = attachment.to_refinery
|
|
end
|
|
|
|
it "should create an Image from the Attachment" do
|
|
@image.should be_a(Image)
|
|
end
|
|
|
|
it "should copy the attributes from Attachment" do
|
|
@image.created_at.should == attachment.post_date
|
|
@image.image.url.end_with?(attachment.file_name).should be_true
|
|
end
|
|
end
|
|
|
|
describe "#replace_image_url" do
|
|
before do
|
|
test_dump.authors.each(&:to_refinery)
|
|
test_dump.posts.each(&:to_refinery)
|
|
@image = attachment.to_refinery
|
|
|
|
attachment.replace_image_url_in_blog_posts
|
|
end
|
|
|
|
it "should replace attachment urls in the generated BlogPosts" do
|
|
BlogPost.first.body.should_not include(attachment.url)
|
|
BlogPost.first.body.should include(@image.image.url)
|
|
end
|
|
|
|
end
|
|
end
|
|
|
|
context "a file attachment" do
|
|
let(:attachment) { test_dump.attachments.last }
|
|
|
|
specify { attachment.title.should == 'cv' }
|
|
specify { attachment.url.should == 'http://localhost/wordpress/wp-content/uploads/2011/05/cv.txt' }
|
|
specify { attachment.file_name.should == 'cv.txt' }
|
|
specify { attachment.post_date.should == DateTime.new(2011, 6, 6, 17, 27, 50) }
|
|
specify { attachment.should_not be_an_image }
|
|
end
|
|
end
|