Sha256: cfe98bf147929850de60afc83fec5b30850418132ca67e47800fc7451bee077b

Contents?: true

Size: 1.14 KB

Versions: 4

Compression:

Stored size: 1.14 KB

Contents

require 'test_helper'

describe Canard do

  describe "find_abilities" do

    before do
      Canard::Abilities.default_path = File.expand_path('../../dummy/app/abilities', __FILE__)
    end

    it "loads the abilities into ability_definitions" do
      Canard.find_abilities

      Canard.ability_definitions.keys.must_include :admin
    end

    it "finds abilities in the default path" do
      Canard.find_abilities

      Canard.ability_definitions.keys.must_include :author
      Canard.ability_definitions.keys.wont_include :administrator
    end

    it "finds abilities in additional paths" do
      Canard::Abilities.definition_paths << File.expand_path('../../abilities', __FILE__)
      Canard.find_abilities

      Canard.ability_definitions.keys.must_include :author
      Canard.ability_definitions.keys.must_include :administrator
    end

    it "reloads existing abilities" do
      Canard.find_abilities
      Canard::Abilities.send(:instance_variable_set, '@definitions', {})
      Canard.find_abilities

      Canard.ability_definitions.keys.must_include :author
      Canard.ability_definitions.keys.must_include :admin
    end

  end

end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
canard-0.4.2.pre test/canard/find_abilities_test.rb
canard-0.4.1 test/canard/find_abilities_test.rb
canard-0.4.0 test/canard/find_abilities_test.rb
canard-0.4.0.pre test/canard/find_abilities_test.rb