Skip to content

Commit

Permalink
Tests for rollup
Browse files Browse the repository at this point in the history
Ensures:

1. The rollup NPM packages are installed as dependencies
2. The rollup command is used as a build script
3. The Procfile.dev is copied / modified
  • Loading branch information
ksylvest committed Jan 12, 2024
1 parent a1e93e8 commit 0adcb7b
Showing 1 changed file with 37 additions and 0 deletions.
37 changes: 37 additions & 0 deletions test/installer/rollup_test.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
require "json"
require "test_helper"

class RollupInstallerTest < ActiveSupport::TestCase
include RailsAppHelpers

test "installer for rollup" do
with_new_rails_app do
_out, _err = run_command("bin/rails", "javascript:install:rollup")

assert_equal File.read("#{__dir__}/../../lib/install/Procfile.dev"), File.read("Procfile.dev")
assert_equal File.read("#{__dir__}/../../lib/install/rollup/rollup.config.js"), File.read("rollup.config.js")

JSON.parse(File.read("package.json")).tap do |package|
assert_not_nil package["dependencies"]["rollup"]
assert_not_nil package["dependencies"]["@rollup/plugin-node-resolve"]
assert_equal "rollup -c --bundleConfigAsCjs rollup.config.js", package["scripts"]["build"]
end

if sprockets?
assert_match "//= link_tree ../builds", File.read("app/assets/config/manifest.js")
end
end
end

test "installer with pre-existing Procfile" do
with_new_rails_app do
File.write("Procfile.dev", "pre: existing\n")
_out, _err = run_command("bin/rails", "javascript:install:rollup")

assert_equal <<~YAML, File.read("Procfile.dev")
pre: existing
js: yarn build --watch
YAML
end
end
end

0 comments on commit 0adcb7b

Please sign in to comment.