PageRenderTime 44ms CodeModel.GetById 21ms RepoModel.GetById 0ms app.codeStats 0ms

/vendor/plugins/attachment_fu/test/validation_test.rb

https://github.com/grantneufeld/wayground-old
Ruby | 55 lines | 44 code | 11 blank | 0 comment | 0 complexity | 709cfdd36b9200460253c2583540d93c MD5 | raw file
  1. require File.expand_path(File.join(File.dirname(__FILE__), 'test_helper'))
  2. class ValidationTest < Test::Unit::TestCase
  3. def test_should_invalidate_big_files
  4. @attachment = SmallAttachment.new
  5. assert !@attachment.valid?
  6. assert @attachment.errors.on(:size)
  7. @attachment.size = 2000
  8. assert !@attachment.valid?
  9. assert @attachment.errors.on(:size), @attachment.errors.full_messages.to_sentence
  10. @attachment.size = 1000
  11. assert !@attachment.valid?
  12. assert_nil @attachment.errors.on(:size)
  13. end
  14. def test_should_invalidate_small_files
  15. @attachment = BigAttachment.new
  16. assert !@attachment.valid?
  17. assert @attachment.errors.on(:size)
  18. @attachment.size = 2000
  19. assert !@attachment.valid?
  20. assert @attachment.errors.on(:size), @attachment.errors.full_messages.to_sentence
  21. @attachment.size = 1.megabyte
  22. assert !@attachment.valid?
  23. assert_nil @attachment.errors.on(:size)
  24. end
  25. def test_should_validate_content_type
  26. @attachment = PdfAttachment.new
  27. assert !@attachment.valid?
  28. assert @attachment.errors.on(:content_type)
  29. @attachment.content_type = 'foo'
  30. assert !@attachment.valid?
  31. assert @attachment.errors.on(:content_type)
  32. @attachment.content_type = 'pdf'
  33. assert !@attachment.valid?
  34. assert_nil @attachment.errors.on(:content_type)
  35. end
  36. def test_should_require_filename
  37. @attachment = Attachment.new
  38. assert !@attachment.valid?
  39. assert @attachment.errors.on(:filename)
  40. @attachment.filename = 'foo'
  41. assert !@attachment.valid?
  42. assert_nil @attachment.errors.on(:filename)
  43. end
  44. end