title: spec is_valid appears to not work
body: <p>I have an ActiveRecord model:</p>
  
  <pre><code>class Hotlink &lt; ActiveRecord::Base
  
    validates_presence_of :link
  
  end
  </code></pre>
  
  <p>That i test with:</p>
  
  <pre><code>require 'spec_helper'
  
  describe Hotlink do
  
    it "should require a name" do
      Hotlink.new.should_not be_valid
    end
  
    it "should require a name 2" do 
      link1 = Hotlink.new
      link1.link = nil
      link1.should_not be_valid
    end 
  
  
    it "should require a name 3" do 
      link2 = Hotlink.new
      link2.link = nil
      link2.save
      link2.should_not be_valid
      link2.valid?.should be_false
    end 
  
  end
  </code></pre>
  
  <p>All these tests fail. I'm confused? Should these not pass?</p>
  
  <p>They fail with: expected valid? to return false, got true</p>
  
  <p>In environments/test.r b I've turned off cache classing with no luck.</p>
  
  <p>Edit: The following works. I'm even more confused now:</p>
  
  <pre><code>Hotlink.new().valid?.should != true
  </code></pre>
  
  <p>Edit: Source of problem found:</p>
  
  <p>I have a controller spec that if I delete will make model specs pass. Why is this?</p>
  
  <pre><code>require File.dirname(__FILE__) + 'spec_helper'
  
  describe HotlinksController do
  
  
    before :each do
     @current_user = mock_model(User, :id =&gt; 1)
     controller.stub!(:current_user).and_return(@current_user)
     controller.stub!(:login_required).and_return(:true)
    end
  
  
    fixtures :all
    render_views
  
  
    it "create action should redirect when model is valid" do
      Hotlink.any_instance.stubs(:valid?).returns(true)
      post :create
      response.should redirect_to(root_url)
    end
  
  
  end
  </code></pre>