Add edge caching to shell (#5146) [deploy]

* Add edge caching to shell

* Add tests for shell
This commit is contained in:
Ben Halpern 2019-12-16 19:08:59 -05:00 committed by GitHub
parent 4eb0477223
commit 7684c1e8b9
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 31 additions and 0 deletions

View file

@ -1,13 +1,17 @@
class ShellController < ApplicationController
before_action :set_cache_control_headers, only: %i[top bottom]
layout false
def top
@shell = true
set_surrogate_key_header "shell-top"
render partial: "top"
end
def bottom
@shell = true
set_surrogate_key_header "shell-bottom"
render partial: "bottom"
end
end

View file

@ -0,0 +1,27 @@
require "rails_helper"
RSpec.describe "Shells", type: :request do
describe "GET /shell_top" do
it "renders file with proper text" do
get "/shell_top"
expect(response.body).to include("user-signed-in")
end
it "sends a surrogate key (for Fastly's user)" do
get "/shell_top"
expect(response.header["Surrogate-Key"]).to include("shell-top")
end
end
describe "GET /shell_bottom" do
it "renders file with proper text" do
get "/shell_bottom"
expect(response.body).to include("footer-container")
end
it "sends a surrogate key (for Fastly's user)" do
get "/shell_bottom"
expect(response.header["Surrogate-Key"]).to include("shell-bottom")
end
end
end