defmodule BeamJsTest do use BeamJs.JsCase doctest BeamJs test "can run JS code", %{js: js} do assert run(js, "1") == {:ok, 1} end test "can encode and import", %{js: js} do js_src = Example |> BeamJs.Module.to_ast(only: ["fact$1"]) |> BeamJs.Encoder.encode_module() File.write!("tmp/example.mjs", js_src) assert {:ok, [[_label, [["func_info", "Elixir.Example", "fact", 1]]]| _rest]} = run(js, ~s|const Example = await import('./tmp/example.mjs');JSON.stringify(Example.fact$1)|) end end