title: One rspec roles test fails, but almost identical tests succeeds
body: <p>I just added the <a href="https://github.com/EppO/rolify" rel="nofollow">Rolify</a> gem, and am running some rspec tests.</p>
  
  <p>2 tests are as follows:</p>
  
  <pre><code>  describe "roles" do
  
      before(:each) do
        @user = FactoryGirl.create(:user)
      end
  
      it "should not approve incorrect roles" do
        @user.add_role :moderator
        @user.has_role? :admin
        should be_false
      end
  
      it "should approve correct roles" do
        @user.add_role :moderator
        @user.has_role? :moderator
        should be_true
      end
  
    end
  </code></pre>
  
  <p>The test result is:</p>
  
  <pre><code>  1) User roles should not approve incorrect roles
       Failure/Error: should be_false
         expected: false value
              got: #&lt;User id: nil, email: "", encrypted_password: "", reset_password_token: nil, reset_password_sent_at: nil, remember_created_at: nil, sign_in_count: 0, current_sign_in_at: nil, last_sign_in_at: nil, current_sign_in_ip: nil, last_sign_in_ip: nil, confirmation_token: nil, confirmed_at: nil, confirmation_sent_at: nil, name: nil, position: nil, location: nil, admin: false, archived: false, public_email: false, created_at: nil, updated_at: nil&gt;
       # ./spec/models/user_spec.rb:70:in `block (3 levels) in &lt;top (required)&gt;'
  
  Finished in 1.37 seconds
  7 examples, 1 failure
  
  Failed examples:
  
  rspec ./spec/models/user_spec.rb:67 # User roles should not approve incorrect roles
  
  Randomized with seed 13074
  </code></pre>
  
  <p>factories.rb</p>
  
  <pre><code>FactoryGirl.define do
  
    factory :user do
      sequence(:name)       {|n| "Example User #{n}"}
      sequence(:email)      {|n| "email#{n}@program.com" }
      position              "Regular"
      location              "Anywhere, USA"
      public_email          false
      password              "foobar"
      password_confirmation "foobar"
      confirmed_at          Time.now
    end
  end
  </code></pre>
  
  <p>How is the first test is failing with a nil object, but the second is passing?</p>
  
  <p><strong>EDIT</strong></p>
  
  <p>Upon further inspection, any test for <code>should be_true</code> passes, and any test for <code>should be_false</code> fails, regardless of whether the added role matches the checked role.</p>