Sha256: 2b3f8fae68342517cef22976b47b8a0c7d7529beed6f2fcc17a4112678fd1822

Contents?: true

Size: 1.12 KB

Versions: 17

Compression:

Stored size: 1.12 KB

Contents

require 'spec_helper'

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

  describe '#masquerade!' do
    it 'should cache special key on masquerade' do
      expect(SecureRandom).to receive(:urlsafe_base64).with(16) { "secure_key" }
      user.masquerade!
    end
  end

  describe '#remove_masquerade_key' do
    before { allow(SecureRandom).to receive(:urlsafe_base64) { "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 eq(true)

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

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

      allow(Rails.cache).to receive(:read).with("users:#{user.masquerade_key}:masquerade") { user.id }
      allow(Rails.cache).to receive(:delete).with("users:#{user.masquerade_key}:masquerade")

      new_user = User.find_by_masquerade_key(user.masquerade_key)

      expect(new_user).to eq(user)
    end
  end
end

Version data entries

17 entries across 17 versions & 1 rubygems

Version Path
devise_masquerade-1.1.0 spec/models/user_spec.rb
devise_masquerade-1.0.0 spec/models/user_spec.rb
devise_masquerade-0.6.5 spec/models/user_spec.rb
devise_masquerade-0.6.4 spec/models/user_spec.rb
devise_masquerade-0.6.3 spec/models/user_spec.rb
devise_masquerade-0.6.2 spec/models/user_spec.rb
devise_masquerade-0.6.1 spec/models/user_spec.rb
devise_masquerade-0.6.0 spec/models/user_spec.rb
devise_masquerade-0.5.3 spec/models/user_spec.rb
devise_masquerade-0.5.2 spec/models/user_spec.rb
devise_masquerade-0.5.1 spec/models/user_spec.rb
devise_masquerade-0.5.0 spec/models/user_spec.rb
devise_masquerade-0.4.0 spec/models/user_spec.rb
devise_masquerade-0.3.1 spec/models/user_spec.rb
devise_masquerade-0.3.0 spec/models/user_spec.rb
devise_masquerade-0.2.0 spec/models/user_spec.rb
devise_masquerade-0.1.8 spec/models/user_spec.rb