Sha256: 3fd986a50a74a61cce70c07299e6174986c186cea9068d9582636268c2e84f9b

Contents?: true

Size: 1.11 KB

Versions: 8

Compression:

Stored size: 1.11 KB

Contents

require 'spec_helper'

describe User do
  let!(:user) { create(:user) }

  describe '#masquerade!' do
    it 'should cache special key on masquerade' do
      SecureRandom.should_receive(:urlsafe_base64).with(16).and_return("secure_key")
      user.masquerade!
    end
  end

  describe '#remove_masquerade_key' do
    before { SecureRandom.stub(:urlsafe_base64).and_return("secure_key") }

    let(:key) { 'users:secure_key:masquerade' }

    it 'should be possible to remove cached masquerade key' do
      user.masquerade!
      expect(Rails.cache.exist?(key)).to be_true

      User.remove_masquerade_key!('secure_key')
      expect(Rails.cache.exist?(key)).to be_false
    end
  end

  describe '#find_by_masquerade_key' do
    it 'should be possible to find user by generate masquerade key' do
      user.masquerade!

      Rails.cache.should_receive(:read).with("users:#{user.masquerade_key}:masquerade").and_return(user.id)
      Rails.cache.should_receive(:delete).with("users:#{user.masquerade_key}:masquerade")

      new_user = User.find_by_masquerade_key(user.masquerade_key)

      new_user.should == user
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
devise_masquerade-0.1.7 spec/models/user_spec.rb
devise_masquerade-0.1.6 spec/models/user_spec.rb
devise_masquerade-0.1.5 spec/models/user_spec.rb
devise_masquerade-0.1.4 spec/models/user_spec.rb
devise_masquerade-0.1.3 spec/models/user_spec.rb
devise_masquerade-0.1.2 spec/models/user_spec.rb
devise_masquerade-0.1.1 spec/models/user_spec.rb
devise_masquerade-0.1.0 spec/models/user_spec.rb