role_test.rb
1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
require File.dirname(__FILE__) + '/../test_helper'
class RoleTest < Test::Unit::TestCase
all_fixtures
def test_role_creation
assert_difference Role, :count do
role = Role.new(:name => 'new_role')
assert role.save
end
end
def test_uniqueness_of_name
Role.create(:name => 'role_name')
role = Role.new(:name => 'role_name')
assert ! role.save
end
def test_name_of_permission
assert_equal 'Edit profile', Role.permission_name('edit_profile')
end
def test_permission_setting
role = Role.new(:name => 'permissive_role', :permissions => ['edit_profile'])
assert role.save
assert role.has_permission?('edit_profile')
role.permissions << 'post_content'
assert role.save
assert role.has_permission?('post_content')
assert role.has_permission?('edit_profile')
end
def test_permission_existece
role = Role.new(:name => 'role_with_non_existent_permission')
role.permissions << 'non_existent_permission'
assert ! role.save
end
end