4 roles permission system
This commit is contained in:
parent
dac7c44ab3
commit
1c62ec09b0
18 changed files with 66 additions and 111 deletions
|
@ -64,9 +64,8 @@ describe Note do
|
|||
|
||||
describe :read do
|
||||
before do
|
||||
@p1.users_projects.create(:user => @u1, :project_access => Project::PROJECT_N)
|
||||
@p1.users_projects.create(:user => @u2, :project_access => Project::PROJECT_R)
|
||||
@p2.users_projects.create(:user => @u3, :project_access => Project::PROJECT_R)
|
||||
@p1.users_projects.create(:user => @u2, :project_access => UsersProject::GUEST)
|
||||
@p2.users_projects.create(:user => @u3, :project_access => UsersProject::GUEST)
|
||||
end
|
||||
|
||||
it { @abilities.allowed?(@u1, :read_note, @p1).should be_false }
|
||||
|
@ -76,9 +75,8 @@ describe Note do
|
|||
|
||||
describe :write do
|
||||
before do
|
||||
@p1.users_projects.create(:user => @u1, :project_access => Project::PROJECT_R)
|
||||
@p1.users_projects.create(:user => @u2, :project_access => Project::PROJECT_RW)
|
||||
@p2.users_projects.create(:user => @u3, :project_access => Project::PROJECT_RW)
|
||||
@p1.users_projects.create(:user => @u2, :project_access => UsersProject::DEVELOPER)
|
||||
@p2.users_projects.create(:user => @u3, :project_access => UsersProject::DEVELOPER)
|
||||
end
|
||||
|
||||
it { @abilities.allowed?(@u1, :write_note, @p1).should be_false }
|
||||
|
@ -88,9 +86,9 @@ describe Note do
|
|||
|
||||
describe :admin do
|
||||
before do
|
||||
@p1.users_projects.create(:user => @u1, :project_access => Project::PROJECT_R)
|
||||
@p1.users_projects.create(:user => @u2, :project_access => Project::PROJECT_RWA)
|
||||
@p2.users_projects.create(:user => @u3, :project_access => Project::PROJECT_RWA)
|
||||
@p1.users_projects.create(:user => @u1, :project_access => UsersProject::REPORTER)
|
||||
@p1.users_projects.create(:user => @u2, :project_access => UsersProject::MASTER)
|
||||
@p2.users_projects.create(:user => @u3, :project_access => UsersProject::MASTER)
|
||||
end
|
||||
|
||||
it { @abilities.allowed?(@u1, :admin_note, @p1).should be_false }
|
||||
|
|
|
@ -12,8 +12,7 @@ describe Project do
|
|||
|
||||
describe "read access" do
|
||||
before do
|
||||
@p1.users_projects.create(:project => @p1, :user => @u1, :project_access => Project::PROJECT_N)
|
||||
@p1.users_projects.create(:project => @p1, :user => @u2, :project_access => Project::PROJECT_R)
|
||||
@p1.users_projects.create(:project => @p1, :user => @u2, :project_access => UsersProject::REPORTER)
|
||||
end
|
||||
|
||||
it { @abilities.allowed?(@u1, :read_project, @p1).should be_false }
|
||||
|
@ -22,8 +21,7 @@ describe Project do
|
|||
|
||||
describe "write access" do
|
||||
before do
|
||||
@p1.users_projects.create(:project => @p1, :user => @u1, :project_access => Project::PROJECT_R)
|
||||
@p1.users_projects.create(:project => @p1, :user => @u2, :project_access => Project::PROJECT_RW)
|
||||
@p1.users_projects.create(:project => @p1, :user => @u2, :project_access => UsersProject::DEVELOPER)
|
||||
end
|
||||
|
||||
it { @abilities.allowed?(@u1, :write_project, @p1).should be_false }
|
||||
|
@ -32,8 +30,8 @@ describe Project do
|
|||
|
||||
describe "admin access" do
|
||||
before do
|
||||
@p1.users_projects.create(:project => @p1, :user => @u1, :project_access => Project::PROJECT_RW)
|
||||
@p1.users_projects.create(:project => @p1, :user => @u2, :project_access => Project::PROJECT_RWA)
|
||||
@p1.users_projects.create(:project => @p1, :user => @u1, :project_access => UsersProject::DEVELOPER)
|
||||
@p1.users_projects.create(:project => @p1, :user => @u2, :project_access => UsersProject::MASTER)
|
||||
end
|
||||
|
||||
it { @abilities.allowed?(@u1, :admin_project, @p1).should be_false }
|
||||
|
|
|
@ -20,11 +20,9 @@ describe "Projects" do
|
|||
@u2 = Factory :user
|
||||
@u3 = Factory :user
|
||||
# full access
|
||||
@project.users_projects.create(:user => @u1, :project_access => Project::PROJECT_RWA)
|
||||
# no access
|
||||
@project.users_projects.create(:user => @u2, :project_access => Project::PROJECT_N)
|
||||
@project.users_projects.create(:user => @u1, :project_access => UsersProject::MASTER)
|
||||
# readonly
|
||||
@project.users_projects.create(:user => @u3, :project_access => Project::PROJECT_R)
|
||||
@project.users_projects.create(:user => @u3, :project_access => UsersProject::REPORTER)
|
||||
end
|
||||
|
||||
describe "GET /project_code" do
|
||||
|
|
|
@ -31,8 +31,7 @@ describe "TeamMembers" do
|
|||
before do
|
||||
within "#new_team_member" do
|
||||
select @user_1.name, :from => "team_member_user_id"
|
||||
select "Report", :from => "team_member_project_access"
|
||||
select "Pull", :from => "team_member_repo_access"
|
||||
select "Reporter", :from => "team_member_project_access"
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -45,8 +44,7 @@ describe "TeamMembers" do
|
|||
page.should have_content @user_1.name
|
||||
|
||||
@member.reload
|
||||
@member.project_access.should == Project::PROJECT_RW
|
||||
@member.repo_access.should == Repository::REPO_R
|
||||
@member.project_access.should == UsersProject::REPORTER
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue