summaryrefslogtreecommitdiffstats
path: root/spec/unit/rails/resource.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/unit/rails/resource.rb')
-rwxr-xr-xspec/unit/rails/resource.rb42
1 files changed, 42 insertions, 0 deletions
diff --git a/spec/unit/rails/resource.rb b/spec/unit/rails/resource.rb
new file mode 100755
index 000000000..eaead2e3d
--- /dev/null
+++ b/spec/unit/rails/resource.rb
@@ -0,0 +1,42 @@
+#!/usr/bin/env ruby
+
+require File.dirname(__FILE__) + '/../../spec_helper'
+
+describe "Puppet::Rails::Resource" do
+ confine "Cannot test without ActiveRecord" => Puppet.features.rails?
+
+ def column(name, type)
+ ActiveRecord::ConnectionAdapters::Column.new(name, nil, type, false)
+ end
+
+ before do
+ require 'puppet/rails/resource'
+
+ # Stub this so we don't need access to the DB.
+ Puppet::Rails::Resource.stubs(:columns).returns([column("title", "string"), column("restype", "string"), column("exported", "boolean")])
+ end
+
+ describe "when creating initial resource arguments" do
+ it "should set the restype to the resource's type" do
+ Puppet::Rails::Resource.rails_resource_initial_args(Puppet::Resource.new(:file, "/file"))[:restype].should == "File"
+ end
+
+ it "should set the title to the resource's title" do
+ Puppet::Rails::Resource.rails_resource_initial_args(Puppet::Resource.new(:file, "/file"))[:title].should == "/file"
+ end
+
+ it "should set the line to the resource's line if one is available" do
+ resource = Puppet::Resource.new(:file, "/file")
+ resource.line = 50
+
+ Puppet::Rails::Resource.rails_resource_initial_args(resource)[:line].should == 50
+ end
+
+ it "should set 'exported' to true of the resource is exported" do
+ resource = Puppet::Resource.new(:file, "/file")
+ resource.exported = true
+
+ Puppet::Rails::Resource.rails_resource_initial_args(resource)[:exported].should be_true
+ end
+ end
+end