Sha256: 9a9a8415fcbf7722754dcaf0b0e89e2893deabdb0de1e3c541e03aec5c2c8860

Contents?: true

Size: 1.33 KB

Versions: 3

Compression:

Stored size: 1.33 KB

Contents

require File.expand_path('../test_helper', __FILE__)

# Mock controller used for testing session handling.
class FacebookController < ApplicationController
  authenticates_using_session
  probes_facebook_access_token
  authenticates_using_facebook
  
  def show
    if current_user
      render :text => "User: #{current_user.id}"
    else
      render :text => "No user"
    end
  end
end

class FacebookControllerTest < ActionController::TestCase
  setup do
    @user = users(:john)
    @new_token = 'facebook:new_token|boom'
  end

  test "no facebook token" do
    get :show
    assert_response :success
    assert_nil assigns(:current_user)
  end
  
  test "facebook token for existing user" do
    flexmock(Credentials::Facebook).should_receive(:uid_from_token).
        with(credentials(:john_facebook).key).
        and_return(credentials(:john_facebook).facebook_uid)
    set_session_current_facebook_token credentials(:john_facebook).key
    get :show, {}
    assert_response :success
    assert_equal @user, assigns(:current_user)
  end
  
  test "new facebook token" do    
    set_session_current_facebook_token @new_token
    flexmock(Credentials::Facebook).should_receive(:uid_from_token).
        with(@new_token).and_return('12345678')
    get :show, {}
    assert_response :success
    assert_not_equal @user, assigns(:current_user)
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
authpwn_rails-0.10.2 test/facebook_controller_test.rb
authpwn_rails-0.10.1 test/facebook_controller_test.rb
authpwn_rails-0.10.0 test/facebook_controller_test.rb