Sha256: 95fd778e408fc100ca8557c38dd9674fb5bb77b02482d19b2809c9d79e41253a

Contents?: true

Size: 1.55 KB

Versions: 43

Compression:

Stored size: 1.55 KB

Contents

require File.join(File.dirname(__FILE__), 'test_helper')
require File.join(File.dirname(__FILE__), 'apipie_resource_mock')
require File.join(File.dirname(__FILE__), 'helpers/fake_searchables')

describe HammerCLIForeman::DependencyResolver do

  let(:api) do ApipieBindings::API.new({
    :apidoc_cache_dir => 'test/unit/data',
    :apidoc_cache_name => 'test_api',
    :dry_run => true})
  end

  before :each do
    HammerCLIForeman.stubs(:foreman_api).returns(api)
  end

  let(:resolver) { HammerCLIForeman::DependencyResolver.new }

  describe "for resource" do

    it "returns empty array for an independent resource" do
      resource = api.resource(:users)
      resolver.resource_dependencies(resource).must_equal []
    end

    it "returns list of dependent resources" do
      resource = api.resource(:comments)

      resources = resolver.resource_dependencies(resource).map(&:name).sort_by{ |sym| sym.to_s }
      expected = [:posts, :users]
      resources.must_equal expected.sort_by{ |sym| sym.to_s }
    end
  end

  describe "for action" do

    it "returns empty array for an independent action" do
      action = HammerCLIForeman.foreman_resource!(:users).action(:index)
      resolver.action_dependencies(action).must_equal []
    end

    it "returns list of dependent resources" do
      action = HammerCLIForeman.foreman_resource!(:comments).action(:create)
      resources = resolver.action_dependencies(action).map(&:name).sort_by{ |sym| sym.to_s }
      expected = [:posts, :users]
      resources.must_equal expected.sort_by{|sym| sym.to_s}
    end
  end
end

Version data entries

43 entries across 43 versions & 1 rubygems

Version Path
hammer_cli_foreman-2.1.3 test/unit/dependency_resolver_test.rb
hammer_cli_foreman-2.1.2 test/unit/dependency_resolver_test.rb
hammer_cli_foreman-2.1.1 test/unit/dependency_resolver_test.rb
hammer_cli_foreman-2.1.0 test/unit/dependency_resolver_test.rb
hammer_cli_foreman-2.0.2 test/unit/dependency_resolver_test.rb
hammer_cli_foreman-2.0.1 test/unit/dependency_resolver_test.rb
hammer_cli_foreman-2.0.0 test/unit/dependency_resolver_test.rb
hammer_cli_foreman-0.19.7 test/unit/dependency_resolver_test.rb
hammer_cli_foreman-0.19.6 test/unit/dependency_resolver_test.rb
hammer_cli_foreman-0.19.5 test/unit/dependency_resolver_test.rb
hammer_cli_foreman-0.19.4 test/unit/dependency_resolver_test.rb
hammer_cli_foreman-0.19.3 test/unit/dependency_resolver_test.rb
hammer_cli_foreman-0.19.2 test/unit/dependency_resolver_test.rb
hammer_cli_foreman-0.18.2 test/unit/dependency_resolver_test.rb
hammer_cli_foreman-0.19.1 test/unit/dependency_resolver_test.rb
hammer_cli_foreman-0.18.1 test/unit/dependency_resolver_test.rb
hammer_cli_foreman-0.19.0 test/unit/dependency_resolver_test.rb
hammer_cli_foreman-0.17.2 test/unit/dependency_resolver_test.rb
hammer_cli_foreman-0.18.0 test/unit/dependency_resolver_test.rb
hammer_cli_foreman-0.17.1 test/unit/dependency_resolver_test.rb