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
-~----------~----~----~----~------~----~------~--~---