Commit 49c773c23dce5f2c6b1f25064eed9e9e58f1900c

Authored by Carlos Purificação
Committed by Leandro Santos
1 parent adeac9bc

Refactored create admin user method

test/api/environment_test.rb
@@ -22,22 +22,13 @@ class EnvironmentTest < ActiveSupport::TestCase @@ -22,22 +22,13 @@ class EnvironmentTest < ActiveSupport::TestCase
22 assert_nil json['settings'] 22 assert_nil json['settings']
23 end 23 end
24 24
25 - def create_admin_user(env)  
26 - admin_user = User.find_by(login: 'adminuser') || create_user('adminuser', :email => 'adminuser@noosfero.org', :password => 'adminuser', :password_confirmation => 'adminuser', :environment => env)  
27 - admin_role = Role.find_by(name: 'admin_role') || Role.create!(:name => 'admin_role', :permissions => ['view_environment_admin_panel','edit_environment_features', 'edit_environment_design', 'manage_environment_categories', 'manage_environment_roles', 'manage_environment_trusted_sites', 'manage_environment_validators', 'manage_environment_users', 'manage_environment_organizations', 'manage_environment_templates', 'manage_environment_licenses', 'edit_appearance'])  
28 - create(RoleAssignment, :accessor => admin_user.person, :role => admin_role, :resource => env) unless admin_user.person.role_assignments.map{|ra|[ra.role, ra.accessor, ra.resource]}.include?([admin_role, admin_user, env])  
29 - admin_user.activate  
30 - admin_user  
31 - end  
32 -  
33 def login_admin 25 def login_admin
34 - environment = Environment.default  
35 - admin_user = create_admin_user(environment) 26 + # Create and activate the admin user
  27 + admin_user = new_admin_user(Environment.default, true)
36 params = {:login => "adminuser", :password => "adminuser"} 28 params = {:login => "adminuser", :password => "adminuser"}
37 post "/api/v1/login?#{params.to_query}" 29 post "/api/v1/login?#{params.to_query}"
38 json = JSON.parse(last_response.body) 30 json = JSON.parse(last_response.body)
39 private_token = json['user']["private_token"] 31 private_token = json['user']["private_token"]
40 - assert !private_token.blank?  
41 assert_equal admin_user.private_token, private_token 32 assert_equal admin_user.private_token, private_token
42 @params = {:private_token => private_token} 33 @params = {:private_token => private_token}
43 end 34 end
@@ -51,6 +42,15 @@ class EnvironmentTest < ActiveSupport::TestCase @@ -51,6 +42,15 @@ class EnvironmentTest < ActiveSupport::TestCase
51 assert_equal environment.settings, json['settings'] 42 assert_equal environment.settings, json['settings']
52 end 43 end
53 44
  45 + should 'not return the default environment settings for non admin users' do
  46 + login_api
  47 + environment = Environment.default
  48 + get "/api/v1/environment/default?#{params.to_query}"
  49 + json = JSON.parse(last_response.body)
  50 + assert_equal environment.id, json['id']
  51 + assert_nil json['settings']
  52 + end
  53 +
54 should 'return the default environment description' do 54 should 'return the default environment description' do
55 environment = Environment.default 55 environment = Environment.default
56 get "/api/v1/environment/default" 56 get "/api/v1/environment/default"
test/support/factories.rb
@@ -64,11 +64,17 @@ module Noosfero::Factory @@ -64,11 +64,17 @@ module Noosfero::Factory
64 end 64 end
65 65
66 ###### old stuff to be rearranged 66 ###### old stuff to be rearranged
67 - def create_admin_user(env) 67 + def create_admin_user(env, activate = false)
  68 + admin_user = new_admin_user(env, activate)
  69 + admin_user.login
  70 + end
  71 +
  72 + def new_admin_user(env, activate = true)
68 admin_user = User.find_by(login: 'adminuser') || create_user('adminuser', :email => 'adminuser@noosfero.org', :password => 'adminuser', :password_confirmation => 'adminuser', :environment => env) 73 admin_user = User.find_by(login: 'adminuser') || create_user('adminuser', :email => 'adminuser@noosfero.org', :password => 'adminuser', :password_confirmation => 'adminuser', :environment => env)
69 admin_role = Role.find_by(name: 'admin_role') || Role.create!(:name => 'admin_role', :permissions => ['view_environment_admin_panel','edit_environment_features', 'edit_environment_design', 'manage_environment_categories', 'manage_environment_roles', 'manage_environment_trusted_sites', 'manage_environment_validators', 'manage_environment_users', 'manage_environment_organizations', 'manage_environment_templates', 'manage_environment_licenses', 'edit_appearance']) 74 admin_role = Role.find_by(name: 'admin_role') || Role.create!(:name => 'admin_role', :permissions => ['view_environment_admin_panel','edit_environment_features', 'edit_environment_design', 'manage_environment_categories', 'manage_environment_roles', 'manage_environment_trusted_sites', 'manage_environment_validators', 'manage_environment_users', 'manage_environment_organizations', 'manage_environment_templates', 'manage_environment_licenses', 'edit_appearance'])
70 create(RoleAssignment, :accessor => admin_user.person, :role => admin_role, :resource => env) unless admin_user.person.role_assignments.map{|ra|[ra.role, ra.accessor, ra.resource]}.include?([admin_role, admin_user, env]) 75 create(RoleAssignment, :accessor => admin_user.person, :role => admin_role, :resource => env) unless admin_user.person.role_assignments.map{|ra|[ra.role, ra.accessor, ra.resource]}.include?([admin_role, admin_user, env])
71 - admin_user.login 76 + admin_user.activate if activate
  77 + admin_user
72 end 78 end
73 79
74 def create_environment(domainname) 80 def create_environment(domainname)