Sha256: d6282f500d1d19ce54860aae9eef039b924076a0e349564f610df3ff8f15aabf

Contents?: true

Size: 845 Bytes

Versions: 3

Compression:

Stored size: 845 Bytes

Contents

require 'spec_helper'

RSpec.describe Preserve::SessionKey do
  let(:controller_class) { ParametersController }
  let(:parameter_key) { :status }

  subject { described_class.new(controller_class, parameter_key) }

  it 'builds a session key' do
    key = 'preserve_bf3517c011c4bb3e6e9382f538357766ea91ae7b'
    expect(subject.build).to eq(key)
  end

  context 'with a nested parameter' do
    let(:parameter_key) { %i[sort column] }

    it 'builds a session key' do
      key = 'preserve_e120e537974f1046d8b1c4e869e69df30f8e862f'
      expect(subject.build).to eq(key)
    end
  end

  context 'with a namespaced controller' do
    let(:controller_class) { Admin::ParametersController }

    it 'builds a session key' do
      key = 'preserve_8e9fa91c76a09b7483fc229526d59d652637daab'
      expect(subject.build).to eq(key)
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
preserve-2.1.0 spec/preserve/session_key_spec.rb
preserve-2.0.1 spec/preserve/session_key_spec.rb
preserve-2.0.0 spec/preserve/session_key_spec.rb