resource_spec.rb
上传用户:netsea168
上传日期:2022-07-22
资源大小:4652k
文件大小:1k
源码类别:

Ajax

开发平台:

Others

  1. require File.dirname(__FILE__) + '/../spec_helper'
  2. describe Resource, ' with its fixtures loaded' do
  3.   before(:each) do
  4.     File.stub!(:exist?).and_return(true)
  5.   end
  6.   it 'there are three resources in the database' do
  7.     Resource.count.should == 3
  8.   end
  9.   it 'fullpath should be RAILS_ROOT + "/public/files/" + resource.filename' do
  10.     res = Resource.new(:article_id => 1, :filename => 'a_new_file', :mime => 'image/jpeg', :size => 110)
  11.     res.fullpath.should == RAILS_ROOT + "/public/files/a_new_file"
  12.   end
  13.   it 'resources created with the same name as an existing resource don't overwrite the old resource' do
  14.     File.should_receive(:exist?).with(%r{public/files/me.jpg$}).and_return(true)
  15.     File.should_receive(:exist?).with(%r{public/files/me1.jpg$}).at_least(:once).and_return(false)
  16.     File.should_receive(:unlink).with(%r{public/files/me1.jpg$}).and_return(true)
  17.     f1 = Resource.create(:filename => resources(:resource1).filename,
  18.                          :mime => resources(:resource1).mime)
  19.     f1.should_not be_nil
  20.     f1.should be_valid
  21.     f1.filename.should_not == resources(:resource1).filename
  22.     f1.filename.should == 'me1.jpg'
  23.     f1.destroy
  24.   end
  25.   it 'a resource deletes its associated file on destruction' do
  26.     res = resources(:resource1)
  27.     File.should_receive(:exist?).with(res.fullpath).and_return(true)
  28.     File.should_receive(:unlink).with(res.fullpath).and_return(true)
  29.     res.destroy
  30.   end
  31. end