Sha256: 6cbb1b50f0da3f6eae4a07aabc4cba679ba9624508485dd4bd0bd2e8c04759d2
Contents?: true
Size: 1.26 KB
Versions: 12
Compression:
Stored size: 1.26 KB
Contents
# frozen_string_literal: true module NulogySSO RSpec.describe CookieTokenStore do let(:request) { double(host: "some_app.nulogy.net", ssl?: false) } let(:response) { double(set_cookie: spy, delete_cookie: spy) } subject(:token_store) { CookieTokenStore.new(request, response) } before do freeze_time end it "extracts the top level domain from a domain name" do allow(request).to receive(:host).and_return("some.app.nulogy.net") token_store.store!("anything") expect(response).to have_received(:set_cookie).with(anything, hash_including(domain: ".nulogy.net")) end it "stores the cookie value with the correct settings" do token_store.store!("cookie value") expect(response).to have_received(:set_cookie).with( "mock_cookie_prefix_access_token", value: "cookie value", path: "/", domain: ".nulogy.net", expires: 36_000.seconds.from_now, httponly: true, secure: false ) end it "deletes the cookie matching the path, domain and key" do token_store.forget! expect(response).to have_received(:delete_cookie).with( "mock_cookie_prefix_access_token", path: "/", domain: ".nulogy.net", ) end end end
Version data entries
12 entries across 12 versions & 1 rubygems