Sha256: f0605e334c9089dedf1a9bf2c4e2be8e514ca965107497e0f748a9c213ec3e0a

Contents?: true

Size: 1.03 KB

Versions: 246

Compression:

Stored size: 1.03 KB

Contents

# frozen_string_literal: true

require 'eac_ruby_utils/envs/executable'
require 'eac_ruby_utils/envs/local_env'

RSpec.describe ::EacRubyUtils::Envs::Executable do
  let(:env) { ::EacRubyUtils::Envs::LocalEnv.new }

  context 'when program exist' do
    let(:instance) { described_class.new(env, 'cat', '--version') }

    it { expect(instance.exist?).to eq(true) }
    it { expect { instance.validate! }.not_to raise_error }
    it { expect(instance.validate).to be_blank }
    it { expect(instance.command).to be_a(::EacRubyUtils::Envs::Command) }
  end

  context 'when program does not exist' do
    let(:instance) { described_class.new(env, 'this_cannot_exist', '--version') }

    it { expect(instance.exist?).to eq(false) }

    it {
      expect { instance.validate! }.to raise_error(
        described_class.const_get('ProgramNotFoundError')
      )
    }

    it { expect(instance.validate).to be_present }

    it {
      expect { instance.command }.to raise_error(
        described_class.const_get('ProgramNotFoundError')
      )
    }
  end
end

Version data entries

246 entries across 246 versions & 3 rubygems

Version Path
eac_tools-0.63.0 sub/eac_ruby_utils/spec/lib/eac_ruby_utils/envs/executable_spec.rb
eac_tools-0.62.1 sub/eac_ruby_utils/spec/lib/eac_ruby_utils/envs/executable_spec.rb
eac_tools-0.62.0 sub/eac_ruby_utils/spec/lib/eac_ruby_utils/envs/executable_spec.rb
eac_tools-0.61.1 sub/eac_ruby_utils/spec/lib/eac_ruby_utils/envs/executable_spec.rb
eac_tools-0.61.0 sub/eac_ruby_utils/spec/lib/eac_ruby_utils/envs/executable_spec.rb
eac_tools-0.60.3 sub/eac_ruby_utils/spec/lib/eac_ruby_utils/envs/executable_spec.rb
eac_tools-0.60.2 sub/eac_ruby_utils/spec/lib/eac_ruby_utils/envs/executable_spec.rb
eac_tools-0.60.1 sub/eac_ruby_utils/spec/lib/eac_ruby_utils/envs/executable_spec.rb
eac_tools-0.60.0 sub/eac_ruby_utils/spec/lib/eac_ruby_utils/envs/executable_spec.rb
eac_tools-0.59.0 sub/eac_ruby_utils/spec/lib/eac_ruby_utils/envs/executable_spec.rb
eac_tools-0.58.0 sub/eac_ruby_utils/spec/lib/eac_ruby_utils/envs/executable_spec.rb
eac_tools-0.57.0 sub/eac_ruby_utils/spec/lib/eac_ruby_utils/envs/executable_spec.rb
eac_tools-0.56.1 sub/eac_ruby_utils/spec/lib/eac_ruby_utils/envs/executable_spec.rb
eac_tools-0.56.0 sub/eac_ruby_utils/spec/lib/eac_ruby_utils/envs/executable_spec.rb
eac_tools-0.55.7 sub/eac_ruby_utils/spec/lib/eac_ruby_utils/envs/executable_spec.rb
eac_tools-0.55.6 sub/eac_ruby_utils/spec/lib/eac_ruby_utils/envs/executable_spec.rb
eac_tools-0.55.5 sub/eac_ruby_utils/spec/lib/eac_ruby_utils/envs/executable_spec.rb
eac_tools-0.55.4 sub/eac_ruby_utils/spec/lib/eac_ruby_utils/envs/executable_spec.rb
eac_tools-0.55.3 sub/eac_ruby_utils/spec/lib/eac_ruby_utils/envs/executable_spec.rb
eac_tools-0.55.2 sub/eac_ruby_utils/spec/lib/eac_ruby_utils/envs/executable_spec.rb