Sha256: dc07de090ae4e2d30bbe30061d1d4b375b408dbbe422fc646262670425c5fe6a

Contents?: true

Size: 1.45 KB

Versions: 4

Compression:

Stored size: 1.45 KB

Contents

require 'generator_spec_helper'

# require_generator :active_record => :roles
require 'generators/active_record/roles/roles_generator'

# root_dir = Rails3::Assist::Directory.rails_root
# root_dir = File.join(Rails.application.config.root_dir, 'rails')
root_dir = Rails.root.to_s

describe 'roles generator' do
  describe 'ORM: active_record' do  
    use_orm :active_record

    before do              
      setup_generator 'AR_generator' do
        tests ActiveRecord::Generators::RolesGenerator
      end    
    end
    
    before :each do              
      remove_model :user    
    end

    after :each do
      remove_model :user
    end
    
    it "should configure 'one_role' strategy" do
      create_model :user do
        '# content'
      end
      with_generator do |g|   
        arguments = "User --strategy one_role --roles admin user"
        puts "arguments: #{arguments}"
        g.run_generator arguments.args
        root_dir.should have_model :user do |clazz|
          clazz.should include_module 'Roles::ActiveRecord'
          clazz.should have_call :valid_roles_are, :args => ':admin, :guest, :user'
          clazz.should have_call :strategy, :args => ":one_role"
        end
        
        root_dir.should have_model :role do |clazz|                  
          clazz.should have_call :validates, :args => ':name, :uniqueness => true'
          clazz.should have_call :has_many, :args => ':users'
        end
      end
    end        
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
roles_active_record-0.5.1 spec/roles_active_record/generators/one_role_gen_spec.rb
roles_active_record-0.5.0 spec/roles_active_record/generators/one_role_gen_spec.rb
roles_active_record-0.4.9 spec/roles_active_record/generators/one_role_gen_spec.rb
roles_active_record-0.4.8 spec/roles_active_record/generators/one_role_gen_spec.rb