title: Setting roles through rolify in FactoryBot definition
body: <p>I am using devise, rolify and cancan. I'm also using RSpec with FactoryBot for testing. Right now I'm working on some tests and I want to define users with different roles for those tests. Here is my current guess for how to do that using FactoryBot:</p>
  
  <pre><code>FactoryBot.define do
    factory :user do
      name 'Test User'
      email 'example@example.com'
      password 'please'
      password_confirmation 'please'
      # required if the Devise Confirmable module is used
      confirmed_at Time.now
  
      factory :admin do
          self.has_role :admin
      end
  
      factory :curator do
          self.has_role :curator
      end
  
      factory :super_admin do
          self.has_role :super_admin
      end
    end
  end
  </code></pre>
  
  <p>Here are some of my tests which don't seem to be written correctly:
  require 'spec_helper'</p>
  
  <pre><code>describe "Pages" do
      subject { page }
  
      before do
          @newpage = FactoryBot.create(:page)
          @newpage.save
      end
  
      context 'not logged in' do
          it_behaves_like 'not admin'
      end
  
      context 'logged in' do
  
          context 'as user' do
              before do
                  @user = FactoryBot.create(:user)
                  sign_in @user
              end
  
              it_behaves_like 'not admin'
          end
  
          context 'as curator' do
              before do
                  @curator = FactoryBot.create(:curator)
                  sign_in @curator
              end
  
              it_behaves_like 'not admin'
          end
  
          context 'as admin' do
              before do
                  @admin = FactoryBot.create(:admin)
                  sign_in @admin
              end
  
              it_behaves_like 'admin'
          end
  
          context 'as super admin' do
              before do
                  @super_admin = FactoryBot.create(:super_admin)
                  sign_in @super_admin
              end
  
              it_behaves_like 'admin'
          end
      end
  end
  </code></pre>
  
  <p>When I run the specs I these are my errors:</p>
  
  <pre><code>1) Pages logged in as admin behaves like admin can show page 
   Failure/Error: Unable to find matching line from backtrace
   NoMethodError:
     undefined method `has_role=' for #&lt;User:0x007f883384d178&gt;
   Shared Example Group: "admin" called from ./spec/requests/pages_spec.rb:41
   # ./spec/requests/pages_spec.rb:37:in `block (4 levels) in &lt;top (required)&gt;'
  
  2) Pages logged in as curator behaves like not admin can show page 
   Failure/Error: Unable to find matching line from backtrace
   ArgumentError:
     Factory not registered: curator
   Shared Example Group: "not admin" called from ./spec/requests/pages_spec.rb:32
   # ./spec/requests/pages_spec.rb:28:in `block (4 levels) in &lt;top (required)&gt;'
  
  3) Pages logged in as super admin behaves like admin can show page 
   Failure/Error: Unable to find matching line from backtrace
   ArgumentError:
     Factory not registered: super_admin
   Shared Example Group: "admin" called from ./spec/requests/pages_spec.rb:50
   # ./spec/requests/pages_spec.rb:46:in `block (4 levels) in &lt;top (required)&gt;'
  </code></pre>
  
  <p>Note: FactoryBot was previously called FactoryGirl</p>