Search code examples
ruby-on-railstestingruby-on-rails-3attachment-fu

attachment_fu testing in rails 3


I am trying to write specs for a working file upload functionality using attachment_fu. However, the sample code given by the author for testing requires me to require action_controller/test_process so that I have access to ActionController::UploadedStringIO class. I have used this before in rails 2.x but for rails 3, it fails to locate the test_process file.

How do I go ahead with testing the file upload functionality in rails 3?


Solution

  • I was able to use fixture_file_upload just fine with Rails3 and rspec.

    I just added include ActionDispatch::TestProcess to the spec_helper.rb, and then passed something like the following as the filedata:

    fixture_file_upload(Rails.root.join("spec/support/test.png"), 'image/png')
    

    EDIT: Something I upgraded changed the behavior of this to always include the fixtures path, so I switched to this instead of fixture_file_upload:

    Rack::Test::UploadedFile.new(Rails.root.join("spec/support/test.png"), 'image/png')