diff options
Diffstat (limited to 'spec/functional/resource/chocolatey_package_spec.rb')
-rw-r--r-- | spec/functional/resource/chocolatey_package_spec.rb | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/spec/functional/resource/chocolatey_package_spec.rb b/spec/functional/resource/chocolatey_package_spec.rb index 7567718363..e8b175f487 100644 --- a/spec/functional/resource/chocolatey_package_spec.rb +++ b/spec/functional/resource/chocolatey_package_spec.rb @@ -32,6 +32,11 @@ describe Chef::Resource::ChocolateyPackage, :windows_only, :choco_installed do new_resource end + let(:provider) do + provider = subject.provider_for_action(subject.action) + provider + end + context "installing a package" do after { remove_package } @@ -88,6 +93,30 @@ describe Chef::Resource::ChocolateyPackage, :windows_only, :choco_installed do expect(package_list.call).to eq("#{package_name}|2.0") end + context "when multiple options passed as string" do + before do + subject.options "--force --confirm" + subject.source nil + end + + it "splits a string into an array of options" do + expect(provider.send(:cmd_args)).to eq(["--force", "--confirm"]) + end + + it "calls command_line_to_argv_w_helper method" do + expect(provider).to receive(:command_line_to_argv_w_helper).with(subject.options).and_return(["--force", "--confirm"]) + provider.send(:cmd_args) + end + end + + context "when multiple options passed as array" do + it "Does not call command_line_to_argv_w_helper method" do + subject.options [ "--force", "--confirm" ] + expect(provider).not_to receive(:command_line_to_argv_w_helper) + provider.send(:cmd_args) + end + end + it "installs with multiple options as an array" do subject.options [ "--force", "--confirm" ] subject.run_action(:install) |