On 8/22/07, Matt Lins <[EMAIL PROTECTED]> wrote: > > No, as mentioned in my first post, the property that needs to be fulfilled > is uploaded_data. I posted the accessor in my first post as well. >
Which part of my answer are you answering no to? Can you inline your answers so I can follow? > > aslak hellesoy wrote: > On 8/22/07, Matt Lins <[EMAIL PROTECTED]> wrote: > > > Sorry, attachment_fu is a plugin for handling binary data. It handles > storing the file in the file system and storing some helpful data in the > database about the file. > > The previous code is from the attachment_fu plugin(no, I didn't modify > it). This property > > What property? The :filename property? > > > > needs to be satisfied in order for the model to validate. > So I need to get my model to validate in the spec so I can actually test > other parts of my model. Here is my model: > > > Can't you just set the filename property directly from your spec > without going through attachment kung fu? > > Aslak > > > > class Picture < ActiveRecord::Base > > has_and_belongs_to_many :products > > has_attachment :content_type => 'image/jpeg', > :storage => :file_system, > :max_size => 3.megabytes, > :resize_to => '400x400>', > :thumbnails => {:medium => '200x200>', :small => > '100x100>'}, > :path_prefix => 'images/products' > > validates_as_attachment > > validates_uniqueness_of :filename > validates_presence_of :filename > > def before_update > self.thumbnails.each do |t| > t.filename= thumbnail_name_for(t.thumbnail) > t.save > end > end > > def full_filename(thumbnail = nil) > file_system_path = (thumbnail ? thumbnail_class : > self).attachment_options[:path_prefix].to_s > File.join(RAILS_ROOT, 'public/external', file_system_path, > thumbnail_name_for(thumbnail) + '.jpg') > end > > def public_image > self.public_filename > end > > end > > > aslak hellesoy wrote: > On 8/22/07, Matt Lins <[EMAIL PROTECTED]> wrote: > > > First off, I'm not trying to spec attachment_fu, I know it's been tested. > > But, I added some code to that model that I do need to test. Basically, I > need to somehow fulfill the "uploaded_data" property so I can actually run > my tests(otherwise they fail because of validations). The "uploaded_data" > field is what would grab the multipart data from form. Here it is: > > # This method handles the uploaded file object. If you set the field > name to uploaded_data, you don't need > # any special code in your controller. > # > # <% form_for :attachment, :html => { :multipart => true } do |f| > -%> > # <p><%= f.file_field :uploaded_data %></p> > # <p><%= submit_tag :Save %> > # <% end -%> > # > # @attachment = Attachment.create! params[:attachment] > # > # TODO: Allow it to work with Merb tempfiles too. > def uploaded_data=(file_data) > return nil if file_data.nil? || file_data.size == 0 > self.content_type = file_data.content_type > self.filename = file_data.original_filename if > respond_to?(:filename) > if file_data.is_a?(StringIO) > file_data.rewind > self.temp_data = file_data.read > else > self.temp_path = file_data.path > end > end > > > I'm not familiar with attachment_fu - is this code from attachment_fu > that you have modified? Or is it your code entirely? Attachment_fu's > entirely? Where does this code come from? > > Aslak > > > > While I was digging I found out that "file_data" is a ruby Tempfile object. > So, I tried to create a dummy file and pass it, but it failed. I found out > in the CGI library, it actually extends the Tempfile object and adds some > methods/properties. It started to get messy, so I thought I'd ask for > advice. > > How can I create a valid attachment_fu model spec(so I can start tweaking > it to test my other validations)? > > _______________________________________________ > rspec-users mailing list > rspec-users@rubyforge.org > http://rubyforge.org/mailman/listinfo/rspec-users > > > _______________________________________________ > rspec-users mailing list > rspec-users@rubyforge.org > http://rubyforge.org/mailman/listinfo/rspec-users > > > _______________________________________________ > rspec-users mailing list > rspec-users@rubyforge.org > http://rubyforge.org/mailman/listinfo/rspec-users > > > _______________________________________________ > rspec-users mailing list > rspec-users@rubyforge.org > http://rubyforge.org/mailman/listinfo/rspec-users > > > _______________________________________________ > rspec-users mailing list > rspec-users@rubyforge.org > http://rubyforge.org/mailman/listinfo/rspec-users > _______________________________________________ rspec-users mailing list rspec-users@rubyforge.org http://rubyforge.org/mailman/listinfo/rspec-users