Sha256: d7c88782ac757ee514ab805943d7891f784947cfdcf47af38bab68ce3c02278a

Contents?: true

Size: 1.38 KB

Versions: 16

Compression:

Stored size: 1.38 KB

Contents

require 'spec_helper'

describe Faalis::ApplicationPolicy do
  subject { Faalis::ApplicationPolicy.new(user, entity) }

  # We use Group as an entity because we don't have
  # too much models
  let(:entity) { group(:admin) }

  context 'for visitors' do
    let(:user) { nil }

    [:index, :show, :update, :create, :destroy].each do |action|
      it "denies access to #{action} on the protected entity" do
        expect(subject.send("#{action}?")).not_to be(true)
      end
    end
  end

  context 'for guest users' do
    let(:user) { create(:user, password: '123123123') }

    [:index, :show, :update, :create, :destroy].each do |action|
      it "denies access to #{action} on the protected entity" do
        expect(subject.send("#{action}?")).not_to be(true)
      end
    end
  end

  context 'for admin users' do
    let(:user) { create(:admin, password: '123123123') }

    [:index, :show, :update, :create, :destroy].each do |action|
      it "grants access to #{action} on the protected entity" do
        expect(subject.send("#{action}?")).to be(true)
      end
    end
  end

  context 'for users who have the right' do
    let(:user) { create(:manager, password: '123123123') }

    [:index, :show, :update, :create, :destroy].each do |action|
      it "denies access to #{action} on the protected entity" do
        expect(subject.send("#{action}?")).to be(true)
      end
    end
  end
end

Version data entries

16 entries across 16 versions & 1 rubygems

Version Path
faalis-2.0.8 spec/policies/faalis/application_policy_spec.rb
faalis-2.0.7 spec/policies/faalis/application_policy_spec.rb
faalis-2.0.5 spec/policies/faalis/application_policy_spec.rb
faalis-2.0.4 spec/policies/faalis/application_policy_spec.rb
faalis-2.0.3 spec/policies/faalis/application_policy_spec.rb
faalis-2.0.1 spec/policies/faalis/application_policy_spec.rb
faalis-2.0.0 spec/policies/faalis/application_policy_spec.rb
faalis-2.0.0.rc6 spec/policies/faalis/application_policy_spec.rb
faalis-2.0.0.rc5 spec/policies/faalis/application_policy_spec.rb
faalis-2.0.0.rc4 spec/policies/faalis/application_policy_spec.rb
faalis-2.0.0.rc3 spec/policies/faalis/application_policy_spec.rb
faalis-2.0.0.rc2 spec/policies/faalis/application_policy_spec.rb
faalis-1.0.0 spec/policies/faalis/application_policy_spec.rb
faalis-1.0.0.alpha4 spec/policies/faalis/application_policy_spec.rb
faalis-1.0.0.alpha3 spec/policies/faalis/application_policy_spec.rb
faalis-1.0.0.alpha2 spec/policies/faalis/application_policy_spec.rb