spec/paperclip/validators_spec.rb in kt-paperclip-5.4.0 vs spec/paperclip/validators_spec.rb in kt-paperclip-6.2.0

- old
+ new

@@ -1,86 +1,86 @@ -require 'spec_helper' +require "spec_helper" describe Paperclip::Validators do context "using the helper" do before do rebuild_class Dummy.validates_attachment :avatar, presence: true, content_type: { content_type: "image/jpeg" }, size: { in: 0..10240 } end it "adds the attachment_presence validator to the class" do - assert Dummy.validators_on(:avatar).any?{ |validator| validator.kind == :attachment_presence } + assert Dummy.validators_on(:avatar).any? { |validator| validator.kind == :attachment_presence } end it "adds the attachment_content_type validator to the class" do - assert Dummy.validators_on(:avatar).any?{ |validator| validator.kind == :attachment_content_type } + assert Dummy.validators_on(:avatar).any? { |validator| validator.kind == :attachment_content_type } end it "adds the attachment_size validator to the class" do - assert Dummy.validators_on(:avatar).any?{ |validator| validator.kind == :attachment_size } + assert Dummy.validators_on(:avatar).any? { |validator| validator.kind == :attachment_size } end - it 'prevents you from attaching a file that violates that validation' do - Dummy.class_eval{ validate(:name) { raise "DO NOT RUN THIS" } } + it "prevents you from attaching a file that violates that validation" do + Dummy.class_eval { validate(:name) { raise "DO NOT RUN THIS" } } dummy = Dummy.new(avatar: File.new(fixture_file("12k.png"))) expect(dummy.errors.keys).to match_array [:avatar_content_type, :avatar, :avatar_file_size] - assert_raises(RuntimeError){ dummy.valid? } + assert_raises(RuntimeError) { dummy.valid? } end end - context 'using the helper with array of validations' do + context "using the helper with array of validations" do before do rebuild_class Dummy.validates_attachment :avatar, file_type_ignorance: true, file_name: [ - { matches: /\A.*\.jpe?g\z/i, message: :invalid_extension }, - { matches: /\A.{,8}\..+\z/i, message: [:too_long, count: 8] }, + { matches: /\A.*\.jpe?g\z/i, message: :invalid_extension }, + { matches: /\A.{,8}\..+\z/i, message: [:too_long, count: 8] }, ] end - it 'adds the attachment_file_name validator to the class' do - assert Dummy.validators_on(:avatar).any?{ |validator| validator.kind == :attachment_file_name } + it "adds the attachment_file_name validator to the class" do + assert Dummy.validators_on(:avatar).any? { |validator| validator.kind == :attachment_file_name } end - it 'adds the attachment_file_name validator with two validations' do - assert_equal 2, Dummy.validators_on(:avatar).select{ |validator| validator.kind == :attachment_file_name }.size + it "adds the attachment_file_name validator with two validations" do + assert_equal 2, Dummy.validators_on(:avatar).select { |validator| validator.kind == :attachment_file_name }.size end - it 'prevents you from attaching a file that violates all of these validations' do - Dummy.class_eval{ validate(:name) { raise 'DO NOT RUN THIS' } } - dummy = Dummy.new(avatar: File.new(fixture_file('spaced file.png'))) + it "prevents you from attaching a file that violates all of these validations" do + Dummy.class_eval { validate(:name) { raise "DO NOT RUN THIS" } } + dummy = Dummy.new(avatar: File.new(fixture_file("spaced file.png"))) expect(dummy.errors.keys).to match_array [:avatar, :avatar_file_name] - assert_raises(RuntimeError){ dummy.valid? } + assert_raises(RuntimeError) { dummy.valid? } end - it 'prevents you from attaching a file that violates only first of these validations' do - Dummy.class_eval{ validate(:name) { raise 'DO NOT RUN THIS' } } - dummy = Dummy.new(avatar: File.new(fixture_file('5k.png'))) + it "prevents you from attaching a file that violates only first of these validations" do + Dummy.class_eval { validate(:name) { raise "DO NOT RUN THIS" } } + dummy = Dummy.new(avatar: File.new(fixture_file("5k.png"))) expect(dummy.errors.keys).to match_array [:avatar, :avatar_file_name] - assert_raises(RuntimeError){ dummy.valid? } + assert_raises(RuntimeError) { dummy.valid? } end - it 'prevents you from attaching a file that violates only second of these validations' do - Dummy.class_eval{ validate(:name) { raise 'DO NOT RUN THIS' } } - dummy = Dummy.new(avatar: File.new(fixture_file('spaced file.jpg'))) + it "prevents you from attaching a file that violates only second of these validations" do + Dummy.class_eval { validate(:name) { raise "DO NOT RUN THIS" } } + dummy = Dummy.new(avatar: File.new(fixture_file("spaced file.jpg"))) expect(dummy.errors.keys).to match_array [:avatar, :avatar_file_name] - assert_raises(RuntimeError){ dummy.valid? } + assert_raises(RuntimeError) { dummy.valid? } end - it 'allows you to attach a file that does not violate these validations' do - dummy = Dummy.new(avatar: File.new(fixture_file('rotated.jpg'))) + it "allows you to attach a file that does not violate these validations" do + dummy = Dummy.new(avatar: File.new(fixture_file("rotated.jpg"))) expect(dummy.errors.full_messages).to be_empty assert dummy.valid? end end context "using the helper with a conditional" do before do rebuild_class Dummy.validates_attachment :avatar, presence: true, - content_type: { content_type: "image/jpeg" }, - size: { in: 0..10240 }, - if: :title_present? + content_type: { content_type: "image/jpeg" }, + size: { in: 0..10240 }, + if: :title_present? end it "validates the attachment if title is present" do Dummy.class_eval do def title_present? @@ -100,61 +100,61 @@ dummy = Dummy.new(avatar: File.new(fixture_file("12k.png"))) assert_equal [], dummy.errors.keys end end - context 'with no other validations on the Dummy#avatar attachment' do + context "with no other validations on the Dummy#avatar attachment" do before do reset_class("Dummy") Dummy.has_attached_file :avatar Paperclip.reset_duplicate_clash_check! end - it 'raises an error when no content_type validation exists' do + it "raises an error when no content_type validation exists" do assert_raises(Paperclip::Errors::MissingRequiredValidatorError) do Dummy.new(avatar: File.new(fixture_file("12k.png"))) end end - it 'does not raise an error when a content_type validation exists' do + it "does not raise an error when a content_type validation exists" do Dummy.validates_attachment :avatar, content_type: { content_type: "image/jpeg" } assert_nothing_raised do Dummy.new(avatar: File.new(fixture_file("12k.png"))) end end - it 'does not raise an error when a content_type validation exists using validates_with' do - Dummy.validates_with Paperclip::Validators::AttachmentContentTypeValidator, attributes: :attachment, content_type: 'images/jpeg' + it "does not raise an error when a content_type validation exists using validates_with" do + Dummy.validates_with Paperclip::Validators::AttachmentContentTypeValidator, attributes: :attachment, content_type: "images/jpeg" assert_nothing_raised do Dummy.new(avatar: File.new(fixture_file("12k.png"))) end end - it 'does not raise an error when an inherited validator is used' do + it "does not raise an error when an inherited validator is used" do class MyValidator < Paperclip::Validators::AttachmentContentTypeValidator def initialize(options) - options[:content_type] = "images/jpeg" unless options.has_key?(:content_type) + options[:content_type] = "images/jpeg" unless options.key?(:content_type) super end end Dummy.validates_with MyValidator, attributes: :attachment assert_nothing_raised do Dummy.new(avatar: File.new(fixture_file("12k.png"))) end end - it 'does not raise an error when a file_name validation exists' do + it "does not raise an error when a file_name validation exists" do Dummy.validates_attachment :avatar, file_name: { matches: /png$/ } assert_nothing_raised do Dummy.new(avatar: File.new(fixture_file("12k.png"))) end end - it 'does not raise an error when a the validation has been explicitly rejected' do + it "does not raise an error when a the validation has been explicitly rejected" do Dummy.validates_attachment :avatar, file_type_ignorance: true assert_nothing_raised do Dummy.new(avatar: File.new(fixture_file("12k.png"))) end