attachment_fu, how would you test this?

Hi, i'm starting to go nuts because of this. i'm playing with attachment_fu, everything is ok, but i also want to put everything under test too. Actually i've a post, where you can upload images, and it works. But now i want to set that it's mandatory to upload at least 1 image. The code it's quite simple and stupid:

errors.add(:image, 'at least one') if post.images.size.zero?

...and obviously it works...

...but how would you test this by unit tests?

Here's a rough cut off the top of my head. (I haven't used Test::Unit in a long time; I hope I'm not too rusty).

# using RSpec describe Post do

  it "is invalid without at least one image" do     post = Post.new     post.should_not be_valid   end

  it "is valid with at least one image" do     post = Post.new :images => [Image.new]     post.should be_valid   end

end

# using Test::Unit class PostTest < Test::Unit::TestCase

  def test_invalid_without_at_least_one_image     post = Post.new     assert !post.valid?   end

  def test_valid_with_at_least_one_image     post = Post.new :images => [Image.new]     assert post.valid?   end

end

I assume that you've written your own validate method on your model. You can also use validates_length_of or validates_size_of for the images association, e.g.,

validates_length_of :images, :minimum => 1, :message => "at least %d"

Regards, Craig