Sha256: 1d77775c6afc3a325004903d0336867951fa1a34e0f01b4d18de3a0a2167a31d

Contents?: true

Size: 837 Bytes

Versions: 22

Compression:

Stored size: 837 Bytes

Contents

require File.expand_path("../../../../../base", __FILE__)

describe VagrantPlugins::CommandPlugin::Action::PluginExistsCheck do
  let(:app) { lambda {} }
  let(:env) { {} }

  let(:manager) { double("manager") }

  subject { described_class.new(app, env) }

  before do
    Vagrant::Plugin::Manager.stub(instance: manager)
  end

  it "should raise an exception if the plugin doesn't exist" do
    manager.stub(installed_plugins: { "foo" => {} })
    expect(app).not_to receive(:call)

    env[:plugin_name] = "bar"
    expect { subject.call(env) }.
      to raise_error(Vagrant::Errors::PluginNotInstalled)
  end

  it "should call the app if the plugin is installed" do
    manager.stub(installed_plugins: { "bar" => {} })
    expect(app).to receive(:call).once.with(env)

    env[:plugin_name] = "bar"
    subject.call(env)
  end
end

Version data entries

22 entries across 19 versions & 5 rubygems

Version Path
vagrant-cloudstack-1.1.0 vendor/bundle/bundler/gems/vagrant-272fb27e0536/test/unit/plugins/commands/plugin/action/plugin_exists_check_test.rb
vagrant-tiktalik-0.0.3 vendor/bundle/ruby/2.0.0/bundler/gems/vagrant-1e28f1ac31e7/test/unit/plugins/commands/plugin/action/plugin_exists_check_test.rb