Sha256: bafa2ed6e5f33a706bc722d8f7b84321f04e6ed095b3370a7681fd960f1fc5be
Contents?: true
Size: 1.01 KB
Versions: 34
Compression:
Stored size: 1.01 KB
Contents
require 'spec_helper' require 'fernet' require_relative '../../../app/services/bookends/glostick_user_extractor' RSpec.describe Bookends::GlostickUserExtractor do let(:secret) { 'iAATWj4Q1Pm5Eh4kjjtkQAwCo+zrxcBW/73MBJqNgxs=' } context 'when token and secret not present' do it 'returns empty values' do expect(Bookends::GlostickUserExtractor.new({}, secret).user).to eq({ 'email' => '', 'full_name' => '' }) end end describe 'when session cookie secret set' do let(:message) do { 'user' => { 'email' => 'email@example.com', 'full_name' => 'My Name' } } end let(:token) { Fernet.generate(secret, JSON.dump(message)) } let(:cookies) do { heroku_user_session: CGI::escape(token) } end it 'has a decoded cookie' do expect(Bookends::GlostickUserExtractor.new(cookies, secret).token).to eq token end it 'works?' do expect(Bookends::GlostickUserExtractor.new(cookies, secret).user).to eq message['user'] end end end
Version data entries
34 entries across 34 versions & 1 rubygems