diff --git a/spec/unit/face/module/install_spec.rb b/spec/unit/face/module/install_spec.rb index 528c7822a..3f0b27684 100644 --- a/spec/unit/face/module/install_spec.rb +++ b/spec/unit/face/module/install_spec.rb @@ -1,42 +1,42 @@ require 'spec_helper' require 'puppet/face' require 'puppet/module_tool' describe "puppet module install" do include PuppetSpec::Files describe "action" do let(:name) { stub(:name) } - let(:target_dir) { stub(:target_dir) } - let(:target_path) { stub(:target_path) } - let(:install_dir) { stub(:install_dir) } + let(:target_dir) { tmpdir('module install face action') } let(:options) { { :target_dir => target_dir } } it 'should invoke the Installer app' do - args = [ name, install_dir, options ] - Puppet::ModuleTool.expects(:set_option_defaults).with(options) + Puppet::ModuleTool::Applications::Installer.expects(:run).with do |*args| + mod, target, opts = args - Pathname.expects(:new).with(target_dir).returns(target_path) - Puppet::ModuleTool::InstallDirectory.expects(:new).with(target_path).returns(install_dir) - Puppet::ModuleTool::Applications::Installer.expects(:run).with(*args) + expect(mod).to eql(name) + expect(opts).to eql(options) + expect(target).to be_a(Puppet::ModuleTool::InstallDirectory) + expect(target.target).to eql(Pathname.new(target_dir)) + end Puppet::Face[:module, :current].install(name, options) end end describe "inline documentation" do subject { Puppet::Face.find_action(:module, :install) } its(:summary) { should =~ /install.*module/im } its(:description) { should =~ /install.*module/im } its(:returns) { should =~ /pathname/i } its(:examples) { should_not be_empty } %w{ license copyright summary description returns examples }.each do |doc| context "of the" do its(doc.to_sym) { should_not =~ /(FIXME|REVISIT|TODO)/ } end end end end