Sha256: 0bebe4df08e36f0161f235e56458b53f14ad2ca5d0fe491e761a35d30292b628
Contents?: true
Size: 1.47 KB
Versions: 1
Compression:
Stored size: 1.47 KB
Contents
describe DataMapper::Adapters::Sql::Commands::LoadCommand do before(:all) do fixtures(:zoos) end it "should return a Struct for custom queries" do results = database.query("SELECT * FROM zoos WHERE name = ?", 'Galveston') zoo = results.first zoo.class.superclass.should == DataMapper::Support::Struct zoo.name.should == "Galveston" end end describe DataMapper::Adapters::Sql::Commands::AdvancedLoadCommand do def loader_for(klass, options = {}) session = database DataMapper::Adapters::Sql::Commands::AdvancedLoadCommand.new(session.adapter, session, klass, options) end it "should return a simple select statement for a given class" do loader_for(Zoo).to_sql.should == 'SELECT `id`, `name` FROM `zoos`' end it "should include only the columns specified in the statement" do loader_for(Zoo, :select => [:name]).to_sql.should == 'SELECT `name` FROM `zoos`' end it "should optionally include lazy-loaded columns in the statement" do loader_for(Zoo, :include => :notes).to_sql.should == 'SELECT `id`, `name`, `notes` FROM `zoos`' end it "should join associations in the statement" do loader_for(Zoo, :include => :exhibits2).to_sql.should == <<-EOS.compress_lines SELECT `zoos`.`id`, `zoos`.`name`, `exhibits`.`id`, `exhibits`.`name`, `exhibits`.`zoo_id` FROM `zoos` JOIN `exhibits` ON `exhibits`.`cow_id` = `zoos`.`id` EOS end end if ENV['ADAPTER'].nil? || ENV['ADAPTER'] == 'mysql'
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
datamapper-0.1.1 | spec/load_command_spec.rb |