Revision: 1934
Updated Code
at November 26, 2006 03:31 by tjstankus
Updated Code
# app/models/house_photo.rb class HousePhoto < ActiveRecord::Base belongs_to :house acts_as_list :scope => :house file_column :image, :root_path => ENV["RAILS_ENV"] == "test" ? File.join(RAILS_ROOT, "public", "test") : File.join(RAILS_ROOT, "public"), :magick => {:geometry => "640x480", :versions => {:thumb => "128x96", :medium => "288x288" }} validates_presence_of :image validates_presence_of :house_id end # test/unit/house_photo_test.rb require File.dirname(__FILE__) + '/../test_helper' class HousePhotoTest < Test::Unit::TestCase fixtures :house_photos, :houses def test_should_get_positioned p = create_photo assert p.position end # Other tests go here... protected def create_photo(options = {}, image_filename = 'files/house1_exterior1.gif') photo = fixture_file_upload(image_filename, 'image/jpg') houses(:house1).house_photos.create({ :image => photo }.merge(options)) end end
Revision: 1933
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at November 26, 2006 03:24 by tjstankus
Initial Code
def create_photo(options = {}, image_filename = 'files/house1_exterior1.gif') photo = fixture_file_upload(image_filename, 'image/jpg') houses(:house1).house_photos.create({ :image => photo }.merge(options)) end
Initial URL
Initial Description
fixture_file_upload is another nifty Rails testing feature. It allows you to create "MIME-encoded content that would normally be uploaded by a browser input field." (Part in quotes straight from Agile Web Development with Rails, v2). Put your files to test in test/fixtures/files. You have to create the 'files' directory; rails doesn't do it for you.
Initial Title
fixture_file_upload Example
Initial Tags
rails
Initial Language
Ruby