# frozen_string_literal: true shared_examples 'cacheable response' do |expects_vary: false| it 'does not set cookies' do expect(response.cookies).to be_empty expect(response.headers['Set-Cookies']).to be_nil end it 'does not set sessions' do expect(session).to be_empty end if expects_vary it 'returns Vary header' do expect(response.headers['Vary']).to include(expects_vary) end end it 'returns public Cache-Control header' do expect(response.headers['Cache-Control']).to include('public') end end