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