[rspec-users] Speccing a model class method in Rails produces nil
David Chelimsky
dchelimsky at gmail.com
Fri Dec 3 21:25:06 EST 2010
On Dec 3, 2010, at 11:07 AM, Martin Hawkins wrote:
> Ruby 1.9.2, Rails 3.0.3, Rspec-rails 2.2.0
>
> I have:
>
> Factory.define :season_date do |f|
> f.season_date Date.new(2011,9,24)
> f.date_type "season_start"
> end
>
> RSpec.configure do |config|
> config.mock_with :rspec
> end
>
> Factory.define :season_date do |f|
> f.season_date Date.new(2011,9,24)
> f.date_type "season_start"
> end
>
> Factory.define :season_date do |f|
> f.season_date Date.new(2011,9,24)
> f.date_type "season_start"
> end
Do you actually have 3 identical factories or was that just a copy/paste error?
> require 'spec_helper'
> describe SeasonDate do
> before(:each) do
> @start_date_record = Factory.create(:season_date)
> @no_play_date_record = Factory.create(:season_date, season_date: Date.today, date_type: "no_play")
> end
> it "responds to the find_start_record method call" do
> SeasonDate.should respond_to(:find_start_record)
> end
> it "returns the record with the season start date" do
> SeasonDate.find_start_record.should == @start_date_record
The fact that this example ^^ sends SeasonDate the find_start_record message makes the previous example unnecessary.
> end
> end
>
> and I get
>
> rspec -f d -b spec/models/season_date_spec.rb
> SeasonDate
> responds to the find_start_record method call
> returns the record with the season start date (FAILED - 1)
>
> Failures:
>
> 1) SeasonDate returns the record with the season start date
> Failure/Error: SeasonDate.find_start_record.should ==
> @start_date_record
> expected: #<SeasonDate id: 66, season_date: "2011-09-24",
> date_type: "season_start", created_at: "2010-12-03 17:03:58",
> updated_at: "2010-12-03 17:03:58">,
> got: nil (using ==)
>
> I'm doing something dumb, but I don't know what. Any assistance much
> appreciated!
Can't really tell from what you've posted. Please post the implementation of SeasonDate.season_date.
More information about the rspec-users
mailing list