Hi All,

I'm starting a Rails 3.1 app. Two tests which involve invalid models are 
failing and I don't understand why. The tests are the stock tests generated by 
the rails rspec generator. I'm new to RSpec so I'm probably missing something 
obvious. I'd appreciate some guidance. 

**Leigh

=========

rails g rspec:install
rake test:prepare
rake spec

Rake spec produces:

Failures:

  1) JobsController create action should render new template when model is 
invalid
     Failure/Error: response.should render_template(:new)
       Expected block to return true value.
     # ./spec/controllers/jobs_controller_spec.rb:25:in `block (2 levels) in 
<top (required)>'

  2) JobsController update action should render edit template when model is 
invalid
     Failure/Error: response.should render_template(:edit)
       Expected block to return true value.
     # ./spec/controllers/jobs_controller_spec.rb:42:in `block (2 levels) in 
<top (required)>'

Finished in 0.53822 seconds
10 examples, 2 failures

Controller specs:

  it "create action should render new template when model is invalid" do
    Job.any_instance.stubs(:valid?).returns(false)
    post :create
    response.should render_template(:new)
  end

  it "update action should render edit template when model is invalid" do
    Job.any_instance.stubs(:valid?).returns(false)
    put :update, :id => Job.first
    response.should render_template(:edit)
  end

JobsController methods:

  def create
    @job = Job.new(params[:job])
    if @job.save
      redirect_to @job, :notice => "Successfully created 
\"#{@job.description.chomp}\"."
    else
      render :action => 'new'
    end
  end

  def update
    @job = Job.find(params[:id])
    if @job.update_attributes(params[:job])
      redirect_to @job, :notice  => "Successfully updated 
\"#{@job.description.chomp}\"."
    else
      render :action => 'edit'
    end
  end

gem list rspec:

rspec (2.6.0)
rspec-core (2.6.4, 2.6.3)
rspec-expectations (2.6.0)
rspec-mocks (2.6.0)
rspec-rails (2.6.1, 2.6.0)

Gemfile extract:

gem 'rails', '>= 3.1.0.rc4'
group :development, :test do
  gem 'turn', :require => false
  gem 'rspec-rails', '>= 2.6.1'
  gem 'cucumber-rails'
  gem 'capybara'
  gem 'database_cleaner'
end




-- 
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 [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en.

Reply via email to