spec/models/authorization_spec.rb in rad_kit-0.0.8 vs spec/models/authorization_spec.rb in rad_kit-0.0.9
- old
+ new
@@ -1,74 +1,74 @@
require 'spec_helper'
-describe "Authorization" do
- with_models
-
+describe "Authorization" do
+ with_models
+
describe "Roles" do
- it "user should have it's name in roles" do
+ it "user should have its name in roles" do
user = Factory.build :user, name: 'some_name'
user.roles.should include('user:some_name')
end
-
+
it ":anonymous, :registered, :user roles" do
anonymous = Factory.build :anonymous
anonymous.roles.should == %w{anonymous user user:anonymous}
-
+
user = Factory.build :user, name: 'john'
user.roles.should == %w{registered user user:john}
-
+
admin = Factory.build :admin, name: 'john'
admin.roles.should == %w{admin manager member registered user user:john}
end
-
+
it "all managers should also have the member role, always" do
user = Factory.build :manager, name: 'john'
user.roles.should == %w{manager member registered user user:john}
end
-
+
it "handy methods" do
u = Factory.build :anonymous
u.roles.anonymous?.should be_true
u.roles.registered?.should be_false
u.roles.has?(:anonymous).should be_true
u.should have_role(:anonymous)
end
-
+
it "add_role" do
u = Factory.build :member, name: 'john'
u.should_not have_role('manager')
u.add_role :manager
u.save!
u.reload
u.should have_role('manager')
- end
-
+ end
+
it "remove_role" do
u = Factory.build :manager, name: 'john'
u.remove_role :member
u.save!
u.reload
u.should_not have_role('manager')
u.should_not have_role('member')
end
-
+
it "should add also all lover roles" do
u = Factory.build :user, name: 'john'
u.roles.should_not include('member')
u.add_role :manager
u.roles.should include('member')
end
-
+
it "special case, admin role" do
u = Factory.build :user, name: 'john'
u.should_not have_role('manager')
u.add_role :admin
u.save!
u.reload
u.should have_role('admin')
u.should have_role('manager')
end
-
+
it "major_roles" do
u = Factory.build :member, name: 'john'
u.add_role :director
u.major_roles.should == %w{director member user:john}
end
\ No newline at end of file