0
私のアプリでは、外部ウィジェットからリクエストされたjavascriptファイルを動的にレンダリングします。すべては開発ENVで素敵な作品が、私はテストしたときに、エラーが表示されます。Railsはjson apiリクエストの不正なMIMEタイプを返します(テスト時のみ)
Refused to execute script from 'http://localhost:3000/widget_init.js' because its MIME type ('text/html') is not executable, and strict MIME type checking is enabled.
それは、テスト環境でのみ表示され、手動でMIMEタイプ「テキスト/ JavaScriptをセットアップする方法なぜ?
ルート:
get 'widget_init', to: 'widget/root#init'
コントローラ:
def init
respond_to do |format|
format.html
format.js { render 'init' }
end
end
UPD:私のテスト、それはあなたを助ける可能性がある場合:
scenario 'opens widget if webpage id and token are valid', js: true do
webpage.url = 'http://localhost:3000/test_widget/with_script'
webpage.save
webpage.reload
visit workspace_webpage_path(webpage)
find('#open_webpage_button').click
#here should open a widget
expect(page).to have_selector('#follower_widget__script')
expect(page).to have_selector('#follower_widget__root')
end
手動でMIMEタイプを追加しても助けにならない:format.js {render 'init'、mime_type:Mime :: Type.lookup( "text/javascript") –
テストを表示してもよろしいですか? – kunashir
こんにちは@ kunashir!私は説明を更新しました。 –