33 lines
1.1 KiB
Ruby
33 lines
1.1 KiB
Ruby
|
require 'rails_helper'
|
||
|
|
||
|
RSpec.describe Session, type: :model do
|
||
|
|
||
|
describe 'Check that session creation' do
|
||
|
context 'without persistent flag in data payload' do
|
||
|
subject(:session) { described_class.create( session_id: SecureRandom.urlsafe_base64(64), data: {} ) }
|
||
|
|
||
|
it 'does not set the persistent attribute' do
|
||
|
expect(session.persistent).to be_nil()
|
||
|
end
|
||
|
end
|
||
|
|
||
|
context 'with true persistent flag in data payload' do
|
||
|
subject(:session) { described_class.create( session_id: SecureRandom.urlsafe_base64(64), data: { 'persistent' => true }) }
|
||
|
|
||
|
it 'sets the persistent attribute in the session and removes the persistent attribute from the data payload' do
|
||
|
expect(session.persistent).to eq(true)
|
||
|
expect(session.persistent).to eq(true)
|
||
|
end
|
||
|
end
|
||
|
|
||
|
context 'with false persistent flag in data payload' do
|
||
|
subject(:session) { described_class.create( session_id: SecureRandom.urlsafe_base64(64), data: { 'persistent' => false }) }
|
||
|
|
||
|
it 'does not set the persistent attribute' do
|
||
|
expect(session.persistent).to be_nil()
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
|
||
|
end
|