* Initial work for streaming app shell way of using serviceworkers * Close in on serviceworker adjustment finalization * Add docs and loading indicator * Remove useless code * Don't run on API * Update app/javascript/contentDisplayPolicy/hideBlockedContent.js * Fix small details * Don't run serviceworker.js code in test env * Fix JS in serviceworker * Move private keyword to proper place in async controller * Change shell_version to HEROKU_SLUG_COMMIT * Update caching config * Add test for async_info/shell_version
37 lines
1.1 KiB
Ruby
37 lines
1.1 KiB
Ruby
require "rails_helper"
|
|
|
|
RSpec.describe "ServiceWorker", type: :request do
|
|
describe "GET /serviceworker.js" do
|
|
it "renders file with proper text" do
|
|
get "/serviceworker.js"
|
|
expect(response.body).to include("Serviceworkers file")
|
|
end
|
|
|
|
it "renders javascript file" do
|
|
get "/serviceworker.js"
|
|
expect(response.header["Content-Type"]).to include("text/javascript")
|
|
end
|
|
|
|
it "sends a surrogate key (for Fastly's user)" do
|
|
get "/serviceworker.js"
|
|
expect(response.header["Surrogate-Key"]).to include("serviceworker-js")
|
|
end
|
|
end
|
|
|
|
describe "GET /manifest.json" do
|
|
it "renders file with proper text" do
|
|
get "/manifest.json"
|
|
expect(response.body).to include("\"name\": \"#{ApplicationConfig['COMMUNITY_NAME']} Community\"")
|
|
end
|
|
|
|
it "renders json file" do
|
|
get "/manifest.json"
|
|
expect(response.header["Content-Type"]).to include("application/json")
|
|
end
|
|
|
|
it "sends a surrogate key (for Fastly's user)" do
|
|
get "/manifest.json"
|
|
expect(response.header["Surrogate-Key"]).to include("manifest-json")
|
|
end
|
|
end
|
|
end
|