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.
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en.

Reply via email to