Sha256: 4b7f6fcc1f791df882befbbe951bc12da8a448128572c2d2182f6bfe671f57cf
Contents?: true
Size: 1.57 KB
Versions: 2
Compression:
Stored size: 1.57 KB
Contents
require 'spec_helper' require 'example_app_shared' if !defined?(Sequel) puts "** require 'sequel' to run the specs in #{__FILE__}" else DB = Sequel.sqlite # in memory db DB.create_table! :users do primary_key :id String :name Integer :rating end DB.create_table! :notes do primary_key :id String :body Integer :owner_id end module SequelOrmSpec class User < Sequel::Model one_to_many :notes, :key => :owner_id end class Note < Sequel::Model many_to_one :owner, :key => :owner_id, :class => User end # here be the specs! describe Sequel::Model::OrmAdapter do before do User.dataset.delete Note.dataset.delete end describe "the OrmAdapter class" do subject { Sequel::Model::OrmAdapter } specify "#model_classes should return all model" do subject.model_classes.should == [User, Note] end end describe "OrmAdapter instance" do subject { User.to_adapter } specify "#find_first should allow conditon keys to be strings" do u = User.create(:name => 'test*', :rating => 1) subject.find_first(:conditions => { 'name' => 'test*' }).should == u end end it_should_behave_like "example app with orm_adapter" do let(:user_class) { User } let(:note_class) { Note } def create_model(klass, attrs = {}) klass.create(attrs) end def reload_model(model) model.class[model.id] end end end end end # if !defined?(Sequel)
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
orm_adapter-sequel-0.1.0 | spec/sequel_spec.rb |
orm_adapter-sequel-0.0.3 | spec/sequel_spec.rb |