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 1 class ProfileRolesController < MyProfileController
2 2  
3 3 protect 'manage_custom_roles', :profile
4   -
  4 +
5 5 def index
6   - @roles = Profile::Roles.organization_custom_roles(environment.id, profile.id)
  6 + @roles = profile.custom_roles
7 7 end
8 8  
9 9 def new
... ... @@ -38,7 +38,7 @@ class ProfileRolesController &lt; MyProfileController
38 38 def destroy
39 39 @role = environment.roles.find(params[:id])
40 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 42 @roles_list.delete(@role)
43 43 end
44 44  
... ... @@ -67,7 +67,7 @@ class ProfileRolesController &lt; MyProfileController
67 67  
68 68 def assign
69 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 71 @roles_list.delete(@role)
72 72 end
73 73  
... ... @@ -94,11 +94,17 @@ class ProfileRolesController &lt; MyProfileController
94 94 person.define_roles(all_roles, profile)
95 95 end
96 96 end
  97 +
  98 + def all_roles(environment, profile)
  99 + Profile::Roles.organization_member_roles(environment.id) + profile.custom_roles
  100 + end
  101 +
97 102 def replace_roles(members, roles, profile)
98 103 members.each do |person|
99 104 person.define_roles(roles, profile)
100 105 end
101 106 end
  107 +
102 108 def replace_role(members, role, new_role, profile)
103 109 members.each do |person|
104 110 person.remove_role(role, profile)
... ...
app/models/profile.rb
... ... @@ -45,14 +45,8 @@ class Profile &lt; ActiveRecord::Base
45 45 def self.organization_member_roles(env_id)
46 46 all_roles(env_id).select{ |r| r.key.match(/^profile_/) unless r.key.blank? }
47 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 50 end
57 51 def self.method_missing(m, *args, &block)
58 52 role = find_role(m, args[0])
... ...
test/functional/content_viewer_controller_test.rb
... ... @@ -175,7 +175,7 @@ class ContentViewerControllerTest &lt; ActionController::TestCase
175 175 admin = fast_create(Person)
176 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 179 community.add_member(profile)
180 180 login_as(profile.identifier)
181 181  
... ... @@ -278,7 +278,7 @@ class ContentViewerControllerTest &lt; ActionController::TestCase
278 278 should 'not give access to private articles if logged in and only member' do
279 279 person = create_user('test_user').person
280 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 282 profile.affiliate(person, Profile::Roles.member(profile.environment.id))
283 283 login_as('test_user')
284 284  
... ...