Sha256: a2606b314324cd5e5716e8bfca0d4b1f50dcbde87ac1f6dff4dee98d0c1533b7
Contents?: true
Size: 1.63 KB
Versions: 3
Compression:
Stored size: 1.63 KB
Contents
require "spec_helper" module Tuersteher class Dashboard; end class Todo; end describe AccessRulesStorage do context "eval_rules" do before(:all) do rule_defs = <<-EOR path('/').grant.method(:get) path(:all).grant.role(:ADMIN) path('/special').grant.extension(:special?, :area1) path('/pictures') do grant.role(:admin) deny.role(:guest) end model(Dashboard).grant.method(:view) model(Todo) do grant.method(:view) grant.method(:full_view).role(:ADMIN) grant.method(:update).role(:EDITOR).extension(:owned_by?) # calls Todo.owned_by?(current_user) end EOR AccessRulesStorage.instance.eval_rules rule_defs @path_rules = AccessRulesStorage.instance.path_rules @model_rules = AccessRulesStorage.instance.model_rules end specify do expect(@path_rules.size).to eq(5) end specify do expect(@model_rules.size).to eq(4) end specify do AccessRules.path_access?(nil, '/') end end # of context "eval_rules" context "extend path with prefix" do context "eval_rules" do before(:all) do rule_defs = <<-EOR path(:all).grant.role(:ADMIN) path('/special').grant.role(:SPECIAL) EOR AccessRulesStorage.instance.path_prefix = '/test' AccessRulesStorage.instance.eval_rules rule_defs @path_rules = AccessRulesStorage.instance.path_rules end specify{ expect(@path_rules.first.path_spezification).to be_nil } specify{ expect(@path_rules.last.path_spezification.path).to eq '/test/special' } end end end # of describe AccessRulesStorage end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
tuersteher-1.0.4 | spec/access_rules_storage_spec.rb |
tuersteher-1.0.3 | spec/access_rules_storage_spec.rb |
tuersteher-1.0.2 | spec/access_rules_storage_spec.rb |