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.

Reply via email to