Sha256: 217e1ef6f6ce667b999985d3c35d86e333c2dff57776d790a17cd954bdb9f719

Contents?: true

Size: 1.99 KB

Versions: 28

Compression:

Stored size: 1.99 KB

Contents

require 'test/test_helper'

class TokenAuthenticationTest < ActionController::IntegrationTest

  test 'sign in should authenticate with valid authentication token and proper authentication token key' do
    swap Devise, :token_authentication_key => :secret_token do
      sign_in_as_new_user_with_token(:auth_token_key => :secret_token)

      assert_response :success
      assert_template 'users/index'
      assert_contain 'Welcome'
      assert warden.authenticated?(:user)
    end
  end

  test 'signing in with valid authentication token - but improper authentication token key - return to sign in form with error message' do
    swap Devise, :token_authentication_key => :donald_duck_token do
      sign_in_as_new_user_with_token(:auth_token_key => :secret_token)
      assert_redirected_to new_user_session_path(:unauthenticated => true)
      follow_redirect!

      assert_contain 'You need to sign in or sign up before continuing'
      assert_contain 'Sign in'
      assert_not warden.authenticated?(:user)
    end
  end

  test 'signing in with invalid authentication token should return to sign in form with error message' do
    store_translations :en, :devise => {:sessions => {:invalid_token => 'LOL, that was not a single character correct.'}} do
      sign_in_as_new_user_with_token(:auth_token => '*** INVALID TOKEN ***')
      assert_redirected_to new_user_session_path(:invalid_token => true)
      follow_redirect!

      assert_response :success
      assert_contain 'LOL, that was not a single character correct.'
      assert_contain 'Sign in'
      assert_not warden.authenticated?(:user)
    end
  end

  private

    def sign_in_as_new_user_with_token(options = {})
      options[:auth_token_key] ||= Devise.token_authentication_key
      options[:auth_token]     ||= VALID_AUTHENTICATION_TOKEN

      user = create_user(options)
      user.authentication_token = VALID_AUTHENTICATION_TOKEN
      user.save

      visit users_path(options[:auth_token_key].to_sym => options[:auth_token])
      user
    end

end

Version data entries

28 entries across 23 versions & 7 rubygems

Version Path
graffititracker_devise-1.0.11 test/integration/token_authenticatable_test.rb
devise-1.0.11 test/integration/token_authenticatable_test.rb
devise-1.0.10 test/integration/token_authenticatable_test.rb
devise_ennder-1.4.1.0.9 test/rails_app/vendor/plugins/devise/test/integration/token_authenticatable_test.rb
devise_ennder-1.4.1.0.9 test/integration/token_authenticatable_test.rb
devise_ennder-1.3.1.0.9 test/integration/token_authenticatable_test.rb
devise_ennder-1.3.1.0.9 test/rails_app/vendor/plugins/devise/test/integration/token_authenticatable_test.rb
devise_ennder-1.2.1.0.9 test/rails_app/vendor/plugins/devise/test/integration/token_authenticatable_test.rb
devise_ennder-1.2.1.0.9 test/integration/token_authenticatable_test.rb
devise_ennder-1.1.1.0.9 test/rails_app/vendor/plugins/devise/test/integration/token_authenticatable_test.rb
devise_ennder-1.1.1.0.9 test/integration/token_authenticatable_test.rb
devise_ennder-1.0.1.0.9 test/rails_app/vendor/plugins/devise/test/integration/token_authenticatable_test.rb
devise_ennder-1.0.1.0.9 test/integration/token_authenticatable_test.rb
devise-1.0.9 test/integration/token_authenticatable_test.rb
dcu-devise-1.0.7 test/integration/token_authenticatable_test.rb
devise-1.0.8 test/integration/token_authenticatable_test.rb
ivanvc-devise-1.0.7.1 test/integration/token_authenticatable_test.rb
mongoid-devise-1.0.1 test/integration/token_authenticatable_test.rb
devise-1.0.7 test/integration/token_authenticatable_test.rb
devise-1.0.6 test/integration/token_authenticatable_test.rb