Sha256: c9c54dca0a20dee67a305db57542f1df3b0460d39b8dbf6b8ece6c6cb29cbdf5
Contents?: true
Size: 1.22 KB
Versions: 1
Compression:
Stored size: 1.22 KB
Contents
require 'test_helper' class CheckingTest < ActiveSupport::TestCase test "can definition with model" do assert user.can?(:create, Post) assert !user.cannot?(:create, Post) end test "can definition with instance" do assert user.can?(:create, post) assert !user.cannot?(:create, post) end test "cannot definition" do assert user.cannot?('read', post) assert !user.can?('read', post) end test "ability conditions" do assert admin_user.can?(:destroy, post) assert user.cannot?(:destroy, post) end test "ability block" do assert user.can?(:edit, post_with_user) end test "manage action" do assert user.can?(:create, User) assert user.can?(:read, user) assert user.can?(:edit, user) assert user.can?(:destroy, user) end test "all subject" do assert user.can?(:touch, post) assert user.can?(:touch, user) end test "undefined definition" do assert user.cannot?(:other, post) assert user.cannot?(:other, post) end private def post_with_user @post_with_user ||= Post.new(user: user) end def post @post ||= Post.new end def user @user ||= User.new end def admin_user @admin_user ||= User.new(admin: true) end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
abilities-0.0.2 | test/checking_test.rb |