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