Sha256: 79bcd5ffa6dab1dd2ec056289e0d9aa09cc016394f62d1907b06add3703a98eb

Contents?: true

Size: 1.59 KB

Versions: 2

Compression:

Stored size: 1.59 KB

Contents

# frozen_string_literal: true
require 'spec_helper'
require 'cucumber/rake/task'
require 'rake'

module Cucumber
  module Rake
    describe Task::ForkedCucumberRunner do
      let(:libs) { ['lib'] }
      let(:binary) { Cucumber::BINARY }
      let(:cucumber_opts) { ['--cuke-option'] }
      let(:feature_files) { ['./some.feature'] }

      context 'when running with bundler' do
        let(:bundler) { true }

        subject { Task::ForkedCucumberRunner.new(
            libs, binary, cucumber_opts, bundler, feature_files) }

        it 'does use bundler if bundler is set to true' do
          expect(subject.use_bundler).to be true
        end

        it 'uses bundle exec to find cucumber and libraries' do
          expect(subject.cmd).to eq [
              Cucumber::RUBY_BINARY,
              '-S',
              'bundle',
              'exec',
              'cucumber',
              '--cuke-option'
            ] + feature_files
        end
      end

      context 'when running without bundler' do
        let(:bundler) { false }

        subject { Task::ForkedCucumberRunner.new(
            libs, binary, cucumber_opts, bundler, feature_files) }

        it 'does not use bundler if bundler is set to false' do
          expect(subject.use_bundler).to be false
        end

        it 'uses well known cucumber location and specified libraries' do
          expect(subject.cmd).to eq [
              Cucumber::RUBY_BINARY,
              '-I',
              '"lib"',
              "\"#{Cucumber::BINARY}\"",
              '--cuke-option'
            ] + feature_files
        end
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
cucumber-3.0.1 spec/cucumber/rake/forked_spec.rb
cucumber-3.0.0 spec/cucumber/rake/forked_spec.rb