test/rails_root/test/unit/upload_test.rb in uploader-0.1.14 vs test/rails_root/test/unit/upload_test.rb in uploader-0.1.15
- old
+ new
@@ -1,5 +1,48 @@
require 'test_helper'
-class UploaderTest < ActiveSupport::TestCase
+class UploadTest < ActiveSupport::TestCase
-end
\ No newline at end of file
+ context 'upload instance' do
+
+ should_belong_to :uploadable
+ should_belong_to :creator
+
+ should_have_attached_file :local
+ should_have_attached_file :remote
+ should_not_allow_mass_assignment_of :creator_id, :uploadable_id, :uploadable_type
+ should_validate_attachment_size :local, :less_than => 10.megabytes
+
+ should 'use id_partitioning' do
+ upload = Upload.new
+ upload.stubs(:id).returns(12345)
+ upload.local = VALID_FILE
+ assert_equal "#{RAILS_ROOT}/public/system/locals/000/012/345/original/rails.png", upload.local.path
+ assert_equal '/system/locals/000/012/345/original/rails.png', upload.local.url(:original, false)
+ end
+
+ should 'transliterate the filename' do
+ upload = Upload.new
+ file = fixture_file %Q{IT'sUPPERCASE!AND WeIRD.JPG}
+ upload.local = file
+ assert_equal 'it-suppercase-and-weird.jpg', upload.local.original_filename
+ file.close
+ end
+
+ end
+
+ # Named scopes
+ should_have_named_scope :newest_first
+ should_have_named_scope :alphabetic
+ should_have_named_scope :recent
+ should_have_named_scope :public
+ should_have_named_scope :images
+ should_have_named_scope :documents
+ should_have_named_scope :files
+ should_have_named_scope :since
+ should_have_named_scope :pending_s3_migration
+
+ private
+ def fixture_file(name)
+ File.new(File.join(RAILS_ROOT, 'test', 'fixtures', 'files', name), 'rb')
+ end
+end