Sha256: b20c99cbbe9b04bc407f63a03b24be0a4b5a600154f0a350d2bc0e21ebb0bec6
Contents?: true
Size: 1.17 KB
Versions: 16
Compression:
Stored size: 1.17 KB
Contents
require "active_support/core_ext/string/strip" require "spec_helper" describe JsRoutes, "compatibility with ESM" do let(:generated_js) { JsRoutes.generate(module_type: 'ESM') } before(:each) do # export keyword is not supported by a simulated js environment evaljs(generated_js.gsub("export const ", "const ")) end it "defines route helpers" do expect(evaljs("inboxes_path()")).to eq(test_routes.inboxes_path()) end it "exports route helpers" do expect(generated_js).to include(<<-DOC.rstrip) /** * Generates rails route to * /inboxes(.:format) * @param {object | undefined} options * @returns {string} route path */ export const inboxes_path = __jsr.r DOC end it "exports utility methods" do expect(generated_js).to include("export const serialize = ") end it "defines utility methods" do expect(evaljs("serialize({a: 1, b: 2})")).to eq({a: 1, b: 2}.to_param) end describe "compiled javascript asset" do subject { ERB.new(File.read("app/assets/javascripts/js-routes.js.erb")).result(binding) } it "should have js routes code" do is_expected.to include("export const inbox_message_path = __jsr.r(") end end end
Version data entries
16 entries across 16 versions & 1 rubygems