spec/lib/radiant/initializer_spec.rb in radiant-0.8.0 vs spec/lib/radiant/initializer_spec.rb in radiant-0.8.1
- old
+ new
@@ -45,10 +45,33 @@
end
it "should have access to the AdminUI" do
@configuration.admin.should == Radiant::AdminUI.instance
end
+
+ it "should initialize extension dependencies" do
+ @configuration.extension_dependencies.should eql([])
+ end
+
+ it "should add extension dependencies" do
+ @configuration.extension('basic')
+ @configuration.extension_dependencies.should eql(['basic'])
+ end
+
+ it "should validate dependencies" do
+ @configuration.extensions = [BasicExtension]
+ @configuration.extension('basic')
+ @configuration.check_extension_dependencies.should be_true
+ end
+
+ it "should report missing dependencies" do
+ @configuration.extensions = [BasicExtension]
+ @configuration.extension('does_not_exist')
+ lambda {
+ @configuration.check_extension_dependencies
+ }.should raise_error(SystemExit)
+ end
end
describe Radiant::Initializer do
before :each do
@@ -92,6 +115,17 @@
end
it "should have access to the AdminUI" do
@initializer.admin.should == Radiant::AdminUI.instance
end
+
+ it "should load metal from RADIANT_ROOT and exensions" do
+ Rails::Rack::Metal.metal_paths.should == ["#{RADIANT_ROOT}/app/metal", "#{RADIANT_ROOT}/test/fixtures/extensions/02_overriding/app/metal", "#{RADIANT_ROOT}/test/fixtures/extensions/01_basic/app/metal"]
+ end
+
+ it "should check dependent extensions" do
+ @initializer.configuration.frameworks = [] # ActionMailer not loaded at this point
+ @initializer.configuration.should_receive(:check_extension_dependencies)
+ @initializer.after_initialize
+ end
+
end