Try to save the object first and then check for validity. 2010/8/17 Terry Michaels <li...@ruby-forum.com>
> Still following my rails book (more like, adapting to my project as I > go). My first attempt at a unit test failed. Adapting the example in the > book, I came up with this: > > require 'test_helper' > > class RecordingTest < ActiveSupport::TestCase > test "record attributes must not be empty" do > recording = Recording.new > assert recording.invalid? > assert recording.errors[:title].any? > assert recording.errors[:speaker].any? > assert recording.errors[:date_of_event].any? > assert recording.errors[:file].any? > end > end > > Which gives me: > > 1) Failure: > test_record_attributes_must_not_be_empty(RecordingTest) > [/test/unit/recording_test.rb:6]: > <false> is not true. > > 1 tests, 1 assertions, 1 failures, 0 errors > rake aborted! > Command failed with status (1): [/usr/bin/ruby -I"lib:test" > "/usr/lib64/rub...] > > The idea was to test my validation code from the model: > > # cat app/models/recording.rb > class Recording < ActiveRecord::Base > validate :title, :speaker, :date_of_event, :file, :presence => true > validate :title, :file, :uniqueness => true > end > > From the little I understand, I'm not sure why the record object is not > showing up as invalid as it should, having no data added yet. The only > thing I can note is that I'm using rails 2.3.5, whereas I think the book > is meant for 3. > -- > 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-t...@googlegroups.com. > To unsubscribe from this group, send email to > rubyonrails-talk+unsubscr...@googlegroups.com<rubyonrails-talk%2bunsubscr...@googlegroups.com> > . > For more options, visit this group at > http://groups.google.com/group/rubyonrails-talk?hl=en. > -- 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-t...@googlegroups.com. To unsubscribe from this group, send email to rubyonrails-talk+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.