Sha256: d37373fc4da9d68a83c862d14a6a0e6f7f43de0e466ba1c8267e0c68a0487da7

Contents?: true

Size: 1.89 KB

Versions: 3

Compression:

Stored size: 1.89 KB

Contents

require File.dirname(__FILE__) + '/spec_helper'

describe Merb::Orms::ActiveRecord::Connect do
  it "is loaded at plugin bootstrap" do
    defined?(Merb::Orms::ActiveRecord::Connect).should == "constant"
  end

  it "is a merb bootloader" do
    Merb::Orms::ActiveRecord::Connect.superclass.should == Merb::BootLoader
  end
end

describe "Merb ActiveRecord extension" do
  before :all do
    @wd = Dir.pwd
    Merb.stub!(:dir_for).with(:config).and_return(@wd)
    @config_file_path = @wd / "config" / "database.yml"
    @sample_file_path = @wd / "config" / "database.yml.sample"

    @sample_source = Merb::Orms::ActiveRecord.sample_source
    @config_sample = Erubis.load_yaml_file(@sample_source)
  end

  it "is loaded at plugin booststrap" do
    defined?(Merb::Orms::ActiveRecord).should == "constant"
  end

  it "loads config from Merb configurations directory" do
    Merb::Orms::ActiveRecord.config_file.should == @config_file_path
  end

  it "loads config sample from Merb configurations directory" do
    Merb::Orms::ActiveRecord.sample_dest.should == @sample_file_path
  end

  it "provides a sample database.yml with development environment" do
    @config_sample[:development].should be_an_instance_of(Hash)
  end

  it "provides a sample database.yml with test environment" do
    @config_sample[:test].should be_an_instance_of(Hash)
  end

  it "provides a sample database.yml with production environment" do
    @config_sample[:production].should be_an_instance_of(Hash)
  end

  it "uses Unicode and localhost in sample" do
    @config_sample[:development][:host].should == "localhost"
    @config_sample[:development][:encoding].should == "utf8"
  end

  it "provides Rack with a way to start a transcantion" do
    Merb::Orms::ActiveRecord.should respond_to(:open_sandbox!)
  end

  it "provides Rack with a way to stop a transcantion" do
    Merb::Orms::ActiveRecord.should respond_to(:close_sandbox!)
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
merb_activerecord-0.9.6 specs/merb_active_record_spec.rb
merb_activerecord-0.9.7 specs/merb_active_record_spec.rb
merb_activerecord-0.9.8 specs/merb_active_record_spec.rb