Sha256: c98403991f0b5b976613025d9909677f42b7c1b870a79e42899bca48ad60695e

Contents?: true

Size: 1.11 KB

Versions: 1

Compression:

Stored size: 1.11 KB

Contents

require_relative "spec_helper_initializer"

describe "EngineRakeTasks" do
  before :context do
    remove_webpack_binstubs
  end

  after :context do
    remove_webpack_binstubs
  end

  it "mounts app:shakapacker task successfully" do
    output = Dir.chdir(mounted_app_path) { `rake -T` }
    expect(output).to include "app:shakapacker"
  end

  it "binstubs adds only expected files to bin directory" do
    Dir.chdir(mounted_app_path) { `bundle exec rake app:shakapacker:binstubs` }
    expected_binstub_paths.each { |path| expect(File.exist?(path)).to be true }
  end

  private
    def mounted_app_path
      File.expand_path("mounted_app", __dir__)
    end

    def current_files_in_bin
      Dir.glob("#{mounted_app_path}/test/dummy/bin/*")
    end

    def expected_binstub_paths
      gem_path = File.expand_path("..", __dir__)
      Dir.chdir("#{gem_path}/lib/install/bin") do
        Dir.glob("*").map { |file| "#{mounted_app_path}/test/dummy/bin/#{file}" }
      end
    end

    def remove_webpack_binstubs
      expected_binstub_paths.each do |path|
        File.delete(path) if File.exist?(path)
      end
    end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
shakapacker-7.0.0.rc.0 spec/engine_rake_tasks_spec.rb