Skip to content
Snippets Groups Projects
Select Git revision
  • 325bccc1649c928d512ce7c7b11e14566a8c9eeb
  • master default protected
  • ci-test-ruby-2.5
  • drop/ruby-2.1
  • version/0.9
  • feat/drop-signup
  • version/0.8
  • version/0.7.1
  • version/0.7
  • version/0.6.1
  • version/0.6
  • 0.9.3
  • 0.9.2
  • 0.9.1
  • 0.9.0
  • 0.8.0
  • 0.7.1
  • 0.7.0
  • 0.6.0
  • 0.5.3
  • 0.5.2
  • 0.5.2-rc
  • 0.5.1
  • 0.5.1-rc2
  • 0.5.1-rc
  • 0.5.0
  • 0.5.0.rc
  • 0.2.8
  • 0.2.8.rc
  • 0.2.7
  • 0.2.6
31 results

users_controller_test.rb

Blame
  • users_controller_test.rb 4.70 KiB
    require 'test_helper'
    
    class Api::UsersControllerTest < ApiControllerTest
    
      test "user can change settings" do
        user = find_record :user
        attribs = record_attributes_for(:user)
        changed_attribs = attribs.slice 'login',
          'password_verifier',
          'password_salt'
        account_settings = stub
        account_settings.expects(:update).with(changed_attribs)
        Account.expects(:new).with(user).returns(account_settings)
    
        login user
        api_put :update, :user => attribs, :id => user.id, :format => :json
    
        assert_equal user, assigns[:user]
        assert_response 204
        assert @response.body.blank?, "Response should be blank"
      end
    
      test "deal with empty settings" do
        user = find_record :user
        login user
        assert_raises ActionController::ParameterMissing do
          api_put :update, :id => user.id, :format => :json
        end
      end
    
      test "admin can update user" do
        user = find_record :user
        attribs = record_attributes_for(:user)
        changed_attribs = attribs.slice 'login',
          'password_verifier',
          'password_salt'
        account_settings = stub
        account_settings.expects(:update).with(changed_attribs)
        Account.expects(:new).with(user).returns(account_settings)
    
        login :is_admin? => true
        api_put :update, :user => attribs, :id => user.id, :format => :json
    
        assert_equal user, assigns[:user]
        assert_response 204
      end
    
      test "user cannot update other user" do
        user = find_record :user
        login
        api_put :update, id: user.id,
          user: record_attributes_for(:user_with_settings),
          :format => :json
        assert_access_denied
      end
    
      test "should create new user" do
        user_attribs = record_attributes_for :user
        user = User.new(user_attribs)
        Account.expects(:create).with(user_attribs).returns(user)
    
        api_post :create, :user => user_attribs, :format => :json
    
        assert_nil session[:user_id]
        assert_json_response user
        assert_response :success
      end
    
      test "should redirect to signup form on failed attempt" do
        user_attribs = record_attributes_for :user