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
> [email protected]
> http://rubyforge.org/mailman/listinfo/rspec-users
>
>
> _______________________________________________
> rspec-users mailing list
> [email protected]
> http://rubyforge.org/mailman/listinfo/rspec-users
>
>
> _______________________________________________
> rspec-users mailing list
> [email protected]
> http://rubyforge.org/mailman/listinfo/rspec-users
>
>
> _______________________________________________
> rspec-users mailing list
> [email protected]
> http://rubyforge.org/mailman/listinfo/rspec-users
>
>
> _______________________________________________
> rspec-users mailing list
> [email protected]
> http://rubyforge.org/mailman/listinfo/rspec-users
>
_______________________________________________
rspec-users mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/rspec-users