On Mon, Mar 2, 2009 at 8:20 AM, Bart Zonneveld <[email protected]> wrote: > > On 28-feb-2009, at 11:45, MAwiniarski wrote: > >> Greetings, >> >> How to write Example which will check if model's variable's >> format is valid using :on => :create, like this: >> >> class User < ActiveRecord::Base >> ... >> validates_format_of :email, :with => /.../, :on => :create >> ... >> >> Using following code is not right: >> it "should ..." do >> @user = users(:example_user) >> @user.email = 'invalid_email_format' >> @user.save >> @user.should_not be_valid >> end > > Try: > > it "should ..." do > user = User.new # create a NEW user, instead of loading an already saved > user from a fixtures file > user.email = 'invalid_email_format' > user.should_not be_valid > user.should have(1).errors_on(:email) > end
+1 I might combine the first two lines: user = User.create(:email => "invalid_email_format") That reads more clearly to me because the invalid email format is assigned on create, not after. It would have an extra call to valid? but I think it's worth it for the clarity of intent in this case. Otherwise, this is the right idea, IMO. Cheers, David > > cheers, > bartz > _______________________________________________ > 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
