X-Git-Url: https://projects.mako.cc/source/selectricity-live/blobdiff_plain/6a935d078f20d2b1b0d60f0a30c41a642d40758a..5e74f498cd2f8d765e309ca52a45a7c2db0a1a6f:/vendor/plugins/attachment_fu/test/validation_test.rb diff --git a/vendor/plugins/attachment_fu/test/validation_test.rb b/vendor/plugins/attachment_fu/test/validation_test.rb new file mode 100644 index 0000000..a14cf99 --- /dev/null +++ b/vendor/plugins/attachment_fu/test/validation_test.rb @@ -0,0 +1,55 @@ +require File.expand_path(File.join(File.dirname(__FILE__), 'test_helper')) + +class ValidationTest < Test::Unit::TestCase + def test_should_invalidate_big_files + @attachment = SmallAttachment.new + assert !@attachment.valid? + assert @attachment.errors.on(:size) + + @attachment.size = 2000 + assert !@attachment.valid? + assert @attachment.errors.on(:size), @attachment.errors.full_messages.to_sentence + + @attachment.size = 1000 + assert !@attachment.valid? + assert_nil @attachment.errors.on(:size) + end + + def test_should_invalidate_small_files + @attachment = BigAttachment.new + assert !@attachment.valid? + assert @attachment.errors.on(:size) + + @attachment.size = 2000 + assert !@attachment.valid? + assert @attachment.errors.on(:size), @attachment.errors.full_messages.to_sentence + + @attachment.size = 1.megabyte + assert !@attachment.valid? + assert_nil @attachment.errors.on(:size) + end + + def test_should_validate_content_type + @attachment = PdfAttachment.new + assert !@attachment.valid? + assert @attachment.errors.on(:content_type) + + @attachment.content_type = 'foo' + assert !@attachment.valid? + assert @attachment.errors.on(:content_type) + + @attachment.content_type = 'pdf' + assert !@attachment.valid? + assert_nil @attachment.errors.on(:content_type) + end + + def test_should_require_filename + @attachment = Attachment.new + assert !@attachment.valid? + assert @attachment.errors.on(:filename) + + @attachment.filename = 'foo' + assert !@attachment.valid? + assert_nil @attachment.errors.on(:filename) + end +end \ No newline at end of file