mirror of
https://github.com/we-promise/sure.git
synced 2026-04-07 14:31:25 +00:00
The polling controller was requesting turbo_stream format but only an HTML template exists. Fix the Accept header to request text/html and handle both formats in the controller.
This commit is contained in:
@@ -26,7 +26,11 @@ class FamilyExportsController < ApplicationController
|
||||
[ t("breadcrumbs.home"), root_path ],
|
||||
[ t("breadcrumbs.exports"), family_exports_path ]
|
||||
]
|
||||
render layout: "settings"
|
||||
|
||||
respond_to do |format|
|
||||
format.html { render layout: "settings" }
|
||||
format.turbo_stream { redirect_to family_exports_path }
|
||||
end
|
||||
end
|
||||
|
||||
def download
|
||||
|
||||
@@ -35,7 +35,7 @@ export default class extends Controller {
|
||||
try {
|
||||
const response = await fetch(this.urlValue, {
|
||||
headers: {
|
||||
Accept: "text/vnd.turbo-stream.html",
|
||||
Accept: "text/html",
|
||||
"Turbo-Frame": this.element.id,
|
||||
},
|
||||
});
|
||||
|
||||
@@ -140,6 +140,17 @@ class FamilyExportsControllerTest < ActionDispatch::IntegrationTest
|
||||
assert_not ActiveStorage::Attachment.exists?(file_id)
|
||||
end
|
||||
|
||||
test "index responds to html with settings layout" do
|
||||
get family_exports_path
|
||||
assert_response :success
|
||||
assert_select "title" # rendered with layout
|
||||
end
|
||||
|
||||
test "index responds to turbo_stream without raising MissingTemplate" do
|
||||
get family_exports_path, headers: { "Accept" => "text/vnd.turbo-stream.html" }
|
||||
assert_redirected_to family_exports_path
|
||||
end
|
||||
|
||||
test "non-admin cannot delete export" do
|
||||
export = @family.family_exports.create!(status: "completed")
|
||||
sign_in @non_admin
|
||||
|
||||
Reference in New Issue
Block a user