users_controller_test.rb 1.33 KB
require File.dirname(__FILE__) + '/../test_helper'
require 'users_controller'

# Re-raise errors caught by the controller.
class UsersController; def rescue_action(e) raise e end; end

class UsersControllerTest < ActionController::TestCase

  all_fixtures
  def setup
    @controller = UsersController.new
    @request    = ActionController::TestRequest.new
    @response   = ActionController::TestResponse.new
  end

  should 'not access without right permission' do
    create_user('guest')
    login_as 'guest'
    get :index
    assert_response 403 # forbidden
  end

  should 'grant access with right permission' do
    admin_user = create_user_with_permission('admin_user', 'manage_environment_users', Environment.default)
    login_as('admin_user')

    get :index
    assert_response :success
  end

  should 'response as XML to export users' do
    admin_user = create_user_with_permission('admin_user', 'manage_environment_users', Environment.default)
    login_as('admin_user')

    get :index, :format => 'xml'
    assert_equal 'text/xml', @response.content_type
  end

  should 'response as CSV to export users' do
    admin_user = create_user_with_permission('admin_user', 'manage_environment_users', Environment.default)
    login_as('admin_user')

    get :index, :format => 'csv'
    assert_equal 'text/csv', @response.content_type
  end

end