Sha256: f3dd7aa07ba4c2bb60b4feee22bb8a0a04495d13cbb11263a8be1ce923de17a6

Contents?: true

Size: 1.54 KB

Versions: 21

Compression:

Stored size: 1.54 KB

Contents

module SuspendersTestHelpers
  APP_NAME = "dummy_app"

  def remove_project_directory
    FileUtils.rm_rf(project_path)
  end

  def create_tmp_directory
    FileUtils.mkdir_p(tmp_path)
  end

  def run_suspenders(arguments = nil)
    arguments = "--path=#{root_path} #{arguments}"
    Dir.chdir(tmp_path) do
      Bundler.with_clean_env do
        add_fakes_to_path
        `
          #{suspenders_bin} #{APP_NAME} #{arguments}
        `
      end
    end
  end

  def suspenders_help_command
    Dir.chdir(tmp_path) do
      Bundler.with_clean_env do
        `
          #{suspenders_bin} -h
        `
      end
    end
  end

  def setup_app_dependencies
    if File.exist?(project_path)
      Dir.chdir(project_path) do
        Bundler.with_clean_env do
          `bundle check || bundle install`
        end
      end
    end
  end

  def drop_dummy_database
    if File.exist?(project_path)
      Dir.chdir(project_path) do
        Bundler.with_clean_env do
          `rake db:drop`
        end
      end
    end
  end

  def add_fakes_to_path
    ENV["PATH"] = "#{support_bin}:#{ENV['PATH']}"
  end

  def project_path
    @project_path ||= Pathname.new("#{tmp_path}/#{APP_NAME}")
  end

  def usage_file
    @usage_path ||= File.join(root_path, "USAGE")
  end

  private

  def tmp_path
    @tmp_path ||= Pathname.new("#{root_path}/tmp")
  end

  def suspenders_bin
    File.join(root_path, 'bin', 'suspenders')
  end

  def support_bin
    File.join(root_path, "spec", "fakes", "bin")
  end

  def root_path
    File.expand_path('../../../', __FILE__)
  end
end

Version data entries

21 entries across 21 versions & 2 rubygems

Version Path
voyage-1.44.0.14 spec/support/suspenders.rb
voyage-1.44.0.13 spec/support/suspenders.rb
voyage-1.44.0.11 spec/support/suspenders.rb
voyage-1.44.0.12 spec/support/suspenders.rb
voyage-1.44.0.10 spec/support/suspenders.rb
voyage-1.44.0.9 spec/support/suspenders.rb
voyage-1.44.0.8 spec/support/suspenders.rb
voyage-1.44.0.7 spec/support/suspenders.rb
voyage-1.44.0.6 spec/support/suspenders.rb
voyage-1.44.0.5 spec/support/suspenders.rb
voyage-1.44.0.4 spec/support/suspenders.rb
voyage-1.44.0.3 spec/support/suspenders.rb
voyage-1.44.0.2 spec/support/suspenders.rb
voyage-1.44.0.1 spec/support/suspenders.rb
suspenders-1.44.0 spec/support/suspenders.rb
suspenders-1.43.0 spec/support/suspenders.rb
suspenders-1.42.0 spec/support/suspenders.rb
suspenders-1.41.0 spec/support/suspenders.rb
suspenders-1.40.0 spec/support/suspenders.rb
suspenders-1.39.0 spec/support/suspenders.rb