# frozen_string_literal: true shared_examples 'cacheable response' do |expects_vary: false| it 'sets correct cache and vary headers and does not set cookies or session', :aggregate_failures do expect(response.cookies).to be_empty expect(response.headers['Set-Cookies']).to be_nil expect(session).to be_empty expect(response.headers['Vary']).to include(expects_vary) if expects_vary expect(response.headers['Cache-Control']).to include('public') end end