Problem in testing with separate validation of :attachment_file_name

Using: RSpec, Shoulda, Paperclip (including matchers)

Example Model

class Example < ActiveRecord::Base
has_attached_file :attachment

validates_attachment_presence :attachment
validates_format_of :attachment_file_name, :with => /.(png|jpe?g)$/
end

Example Test

require ‘spec/helper’

describe Example do
it { should validate_attachment_presence(:attachment) }

it { should validate_format_of(:attachment_file_name).
with(‘example.png’) }

it { should validate_format_of(:attachment_file_name).
not_with(‘example.zip’).
with_message(/is invalid/) }
end

This causes my validates_attachment_presence(:attachment) test to fail.

If I remove the validates_format_of :attachment_file_name line from my
model, the presence test now passes, but, obviously, the format test
fails.

I noticed that basically all validates_attachment_presence does is
require attachment_file_name, but I can’t seem to find any reason why it
affects my format tests.

I am not sure if this is necessarily Paperclip issue (as apposed to
perhaps a Shoulda one), but hopefully this is a good enough report to
explain the issue.

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs