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 assert_nil json['settings']
23 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 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 28 params = {:login => "adminuser", :password => "adminuser"}
37 29 post "/api/v1/login?#{params.to_query}"
38 30 json = JSON.parse(last_response.body)
39 31 private_token = json['user']["private_token"]
40   - assert !private_token.blank?
41 32 assert_equal admin_user.private_token, private_token
42 33 @params = {:private_token => private_token}
43 34 end
... ... @@ -51,6 +42,15 @@ class EnvironmentTest < ActiveSupport::TestCase
51 42 assert_equal environment.settings, json['settings']
52 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 54 should 'return the default environment description' do
55 55 environment = Environment.default
56 56 get "/api/v1/environment/default"
... ...
test/support/factories.rb
... ... @@ -64,11 +64,17 @@ module Noosfero::Factory
64 64 end
65 65  
66 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 73 admin_user = User.find_by(login: 'adminuser') || create_user('adminuser', :email => 'adminuser@noosfero.org', :password => 'adminuser', :password_confirmation => 'adminuser', :environment => env)
69 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 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 78 end
73 79  
74 80 def create_environment(domainname)
... ...