Commit cbf24413b8bea746a7ccb9d2642c93428b3a5613

Authored by André Guedes
1 parent 201327e1

Refactoring profile to fix tests

Signed-off-by: André Bernardes <andrebsguedes@gmail.com>
Signed-off-by: Hebert Douglas <hebertdougl@gmail.com>
app/controllers/my_profile/profile_roles_controller.rb
1 class ProfileRolesController < MyProfileController 1 class ProfileRolesController < MyProfileController
2 2
3 protect 'manage_custom_roles', :profile 3 protect 'manage_custom_roles', :profile
4 - 4 +
5 def index 5 def index
6 - @roles = Profile::Roles.organization_custom_roles(environment.id, profile.id) 6 + @roles = profile.custom_roles
7 end 7 end
8 8
9 def new 9 def new
@@ -38,7 +38,7 @@ class ProfileRolesController &lt; MyProfileController @@ -38,7 +38,7 @@ class ProfileRolesController &lt; MyProfileController
38 def destroy 38 def destroy
39 @role = environment.roles.find(params[:id]) 39 @role = environment.roles.find(params[:id])
40 @members = profile.members_by_role(@role) 40 @members = profile.members_by_role(@role)
41 - @roles_list = Profile::Roles.organization_all_roles(environment.id, profile.id) 41 + @roles_list = all_roles(environment, profile)
42 @roles_list.delete(@role) 42 @roles_list.delete(@role)
43 end 43 end
44 44
@@ -67,7 +67,7 @@ class ProfileRolesController &lt; MyProfileController @@ -67,7 +67,7 @@ class ProfileRolesController &lt; MyProfileController
67 67
68 def assign 68 def assign
69 @role = environment.roles.find(params[:id]) 69 @role = environment.roles.find(params[:id])
70 - @roles_list = Profile::Roles.organization_all_roles(environment.id, profile.id) 70 + @roles_list = all_roles(environment, profile)
71 @roles_list.delete(@role) 71 @roles_list.delete(@role)
72 end 72 end
73 73
@@ -94,11 +94,17 @@ class ProfileRolesController &lt; MyProfileController @@ -94,11 +94,17 @@ class ProfileRolesController &lt; MyProfileController
94 person.define_roles(all_roles, profile) 94 person.define_roles(all_roles, profile)
95 end 95 end
96 end 96 end
  97 +
  98 + def all_roles(environment, profile)
  99 + Profile::Roles.organization_member_roles(environment.id) + profile.custom_roles
  100 + end
  101 +
97 def replace_roles(members, roles, profile) 102 def replace_roles(members, roles, profile)
98 members.each do |person| 103 members.each do |person|
99 person.define_roles(roles, profile) 104 person.define_roles(roles, profile)
100 end 105 end
101 end 106 end
  107 +
102 def replace_role(members, role, new_role, profile) 108 def replace_role(members, role, new_role, profile)
103 members.each do |person| 109 members.each do |person|
104 person.remove_role(role, profile) 110 person.remove_role(role, profile)
app/models/profile.rb
@@ -45,14 +45,8 @@ class Profile &lt; ActiveRecord::Base @@ -45,14 +45,8 @@ class Profile &lt; ActiveRecord::Base
45 def self.organization_member_roles(env_id) 45 def self.organization_member_roles(env_id)
46 all_roles(env_id).select{ |r| r.key.match(/^profile_/) unless r.key.blank? } 46 all_roles(env_id).select{ |r| r.key.match(/^profile_/) unless r.key.blank? }
47 end 47 end
48 - def self.organization_custom_roles(env_id, profile_id)  
49 - all_roles(env_id, profile_id).select{ |r| r.key.match(/^profile_/) unless r.key.blank? }  
50 - end  
51 - def self.organization_all_roles(env_id, profile_id)  
52 - self.organization_member_roles(env_id) + self.organization_custom_roles(env_id, profile_id)  
53 - end  
54 - def self.all_roles(env_id, profile_id=nil)  
55 - Role.all :conditions => { :profile_id => profile_id, :environment_id => env_id } 48 + def self.all_roles(env_id)
  49 + Role.all :conditions => { :environment_id => env_id }
56 end 50 end
57 def self.method_missing(m, *args, &block) 51 def self.method_missing(m, *args, &block)
58 role = find_role(m, args[0]) 52 role = find_role(m, args[0])
test/functional/content_viewer_controller_test.rb
@@ -175,7 +175,7 @@ class ContentViewerControllerTest &lt; ActionController::TestCase @@ -175,7 +175,7 @@ class ContentViewerControllerTest &lt; ActionController::TestCase
175 admin = fast_create(Person) 175 admin = fast_create(Person)
176 community.add_member(admin) 176 community.add_member(admin)
177 177
178 - folder = fast_create(Folder, :profile_id => community.id, :published => false) 178 + folder = fast_create(Folder, :profile_id => community.id, :published => false, :show_to_followers => false)
179 community.add_member(profile) 179 community.add_member(profile)
180 login_as(profile.identifier) 180 login_as(profile.identifier)
181 181
@@ -278,7 +278,7 @@ class ContentViewerControllerTest &lt; ActionController::TestCase @@ -278,7 +278,7 @@ class ContentViewerControllerTest &lt; ActionController::TestCase
278 should 'not give access to private articles if logged in and only member' do 278 should 'not give access to private articles if logged in and only member' do
279 person = create_user('test_user').person 279 person = create_user('test_user').person
280 profile = Profile.create!(:name => 'test profile', :identifier => 'test_profile') 280 profile = Profile.create!(:name => 'test profile', :identifier => 'test_profile')
281 - intranet = Folder.create!(:name => 'my_intranet', :profile => profile, :published => false) 281 + intranet = Folder.create!(:name => 'my_intranet', :profile => profile, :published => false, :show_to_followers => false)
282 profile.affiliate(person, Profile::Roles.member(profile.environment.id)) 282 profile.affiliate(person, Profile::Roles.member(profile.environment.id))
283 login_as('test_user') 283 login_as('test_user')
284 284