RSpec: Нужна помощь в посеве / понимании - PullRequest
2 голосов
/ 21 мая 2011

Я пытаюсь понять спецификации запроса RSpec , которые, насколько я понимаю, являются эквивалентом RSpec для интеграционных тестов.Кажется, я не могу посеять это правильно с экземпляром Race.Казалось бы, start_date и end_date являются nil вместо того, чтобы быть фактическими датами, поэтому они ошибаются при сравнении с Date.today (self.start_date <= Date.today && self.end_date >= Date.today).

Вот базовый вариант, который я могуне проходит:

require 'spec_helper'
describe "Races" do
  describe "GET /races" do
    it "should display page" do
      Race.create!(:name => "Race Name", :start_date => Date.yesterday, :end_date => Date.tomorrow, :homepage => "http://website.com")
      get races_path
      response.status.should be(200)
      response.should render_template(:index)
    end
  end
end

это не с этой ошибкой:

Failure/Error: get races_path
     ActionView::Template::Error:
       undefined method `<=' for nil:NilClass
     # ./app/models/race.rb:5:in `current?'
     # ./app/helpers/races_helper.rb:12:in `formatted_race_dates'

app / models / race.rb:

class Race < ActiveRecord::Base
  def current?
    self.start_date <= Date.today && self.end_date >= Date.today
  end
end

app / helpers/races_helper.rb:

module RacesHelper
  def formatted_race_dates(race)
    link_to(race.homepage, :id => race.current? ? 'live-race' : nil) do
        raw("<strong>#{race.name}</strong> <em>#{race_dates_string(race)}</em>")
    end
  end
end
...