Commit 68154e8fe9d6266f3b1ae00e48530143f87cd138

Authored by Dmitriy Zaporozhets
1 parent cb021e58

spec fix

app/models/project.rb
... ... @@ -114,9 +114,18 @@ class Project < ActiveRecord::Base
114 114 !!commit
115 115 end
116 116  
  117 + # Compatible with all access rights
  118 + # Should be rewrited for new access rights
117 119 def add_access(user, *access)
  120 + access = if access.include?(:admin)
  121 + { :project_access => PROJECT_RWA }
  122 + elsif access.include?(:write)
  123 + { :project_access => PROJECT_RW }
  124 + else
  125 + { :project_access => PROJECT_R }
  126 + end
118 127 opts = { :user => user }
119   - access.each { |name| opts.merge!(name => true) }
  128 + opts.merge!(access)
120 129 users_projects.create(opts)
121 130 end
122 131  
... ...
spec/models/project_security_spec.rb
... ... @@ -10,30 +10,30 @@ describe Project do
10 10 @abilities << Ability
11 11 end
12 12  
13   - describe :read do
  13 + describe "read access" do
14 14 before do
15   - @p1.users_projects.create(:project => @p1, :user => @u1, :read => false)
16   - @p1.users_projects.create(:project => @p1, :user => @u2, :read => true)
  15 + @p1.users_projects.create(:project => @p1, :user => @u1, :project_access => Project::PROJECT_N)
  16 + @p1.users_projects.create(:project => @p1, :user => @u2, :project_access => Project::PROJECT_R)
17 17 end
18 18  
19 19 it { @abilities.allowed?(@u1, :read_project, @p1).should be_false }
20 20 it { @abilities.allowed?(@u2, :read_project, @p1).should be_true }
21 21 end
22 22  
23   - describe :write do
  23 + describe "write access" do
24 24 before do
25   - @p1.users_projects.create(:project => @p1, :user => @u1, :write => false)
26   - @p1.users_projects.create(:project => @p1, :user => @u2, :write => true)
  25 + @p1.users_projects.create(:project => @p1, :user => @u1, :project_access => Project::PROJECT_R)
  26 + @p1.users_projects.create(:project => @p1, :user => @u2, :project_access => Project::PROJECT_RW)
27 27 end
28 28  
29 29 it { @abilities.allowed?(@u1, :write_project, @p1).should be_false }
30 30 it { @abilities.allowed?(@u2, :write_project, @p1).should be_true }
31 31 end
32 32  
33   - describe :admin do
  33 + describe "admin access" do
34 34 before do
35   - @p1.users_projects.create(:project => @p1, :user => @u1, :admin => false)
36   - @p1.users_projects.create(:project => @p1, :user => @u2, :admin => true)
  35 + @p1.users_projects.create(:project => @p1, :user => @u1, :project_access => Project::PROJECT_RW)
  36 + @p1.users_projects.create(:project => @p1, :user => @u2, :project_access => Project::PROJECT_RWA)
37 37 end
38 38  
39 39 it { @abilities.allowed?(@u1, :admin_project, @p1).should be_false }
... ...
spec/requests/projects_security_spec.rb
... ... @@ -20,11 +20,11 @@ describe &quot;Projects&quot; do
20 20 @u2 = Factory :user
21 21 @u3 = Factory :user
22 22 # full access
23   - @project.users_projects.create(:user => @u1, :read => true, :write => true, :admin => true)
  23 + @project.users_projects.create(:user => @u1, :project_access => Project::PROJECT_RWA)
24 24 # no access
25   - @project.users_projects.create(:user => @u2, :read => false, :write => false, :admin => false)
  25 + @project.users_projects.create(:user => @u2, :project_access => Project::PROJECT_N)
26 26 # readonly
27   - @project.users_projects.create(:user => @u3, :read => true, :write => false, :admin => false)
  27 + @project.users_projects.create(:user => @u3, :project_access => Project::PROJECT_R)
28 28 end
29 29  
30 30 describe "GET /project_code" do
... ...