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? -- Posted via http://www.ruby-forum.com/. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
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 --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---