diff --git a/test/api/environment_test.rb b/test/api/environment_test.rb index 932cac6..050abd2 100644 --- a/test/api/environment_test.rb +++ b/test/api/environment_test.rb @@ -22,22 +22,13 @@ class EnvironmentTest < ActiveSupport::TestCase assert_nil json['settings'] end - def create_admin_user(env) - admin_user = User.find_by(login: 'adminuser') || create_user('adminuser', :email => 'adminuser@noosfero.org', :password => 'adminuser', :password_confirmation => 'adminuser', :environment => env) - 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']) - 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]) - admin_user.activate - admin_user - end - def login_admin - environment = Environment.default - admin_user = create_admin_user(environment) + # Create and activate the admin user + admin_user = new_admin_user(Environment.default, true) params = {:login => "adminuser", :password => "adminuser"} post "/api/v1/login?#{params.to_query}" json = JSON.parse(last_response.body) private_token = json['user']["private_token"] - assert !private_token.blank? assert_equal admin_user.private_token, private_token @params = {:private_token => private_token} end @@ -51,6 +42,15 @@ class EnvironmentTest < ActiveSupport::TestCase assert_equal environment.settings, json['settings'] end + should 'not return the default environment settings for non admin users' do + login_api + environment = Environment.default + get "/api/v1/environment/default?#{params.to_query}" + json = JSON.parse(last_response.body) + assert_equal environment.id, json['id'] + assert_nil json['settings'] + end + should 'return the default environment description' do environment = Environment.default get "/api/v1/environment/default" diff --git a/test/support/factories.rb b/test/support/factories.rb index bd35f9d..f1a6b67 100644 --- a/test/support/factories.rb +++ b/test/support/factories.rb @@ -64,11 +64,17 @@ module Noosfero::Factory end ###### old stuff to be rearranged - def create_admin_user(env) + def create_admin_user(env, activate = false) + admin_user = new_admin_user(env, activate) + admin_user.login + end + + def new_admin_user(env, activate = true) admin_user = User.find_by(login: 'adminuser') || create_user('adminuser', :email => 'adminuser@noosfero.org', :password => 'adminuser', :password_confirmation => 'adminuser', :environment => env) 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']) 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]) - admin_user.login + admin_user.activate if activate + admin_user end def create_environment(domainname) -- libgit2 0.21.2