Sha256: a6e758812385de8a65a8d315b5a70008c834c3cc11263e6621b0ba94e6b05e6f
Contents?: true
Size: 1.98 KB
Versions: 3
Compression:
Stored size: 1.98 KB
Contents
require 'spec_helper' module Arel describe Session do before do @relation = Table.new(:users) @session = Session.new end describe '::start' do describe '::instance' do it "it is a singleton within the started session" do Session.start do |session| Session.instance.should == session end end it "is a singleton across nested sessions" do Session.start do |s1| outside = Session.instance Session.start do |s2| Session.instance.should == outside end end end it "manufactures new sessions outside of the started session" do Session.new.should_not == Session.new end end end describe 'session crud' do before do @insert = Insert.new(@relation, @relation[:name] => 'nick') @update = Update.new(@relation, @relation[:name] => 'nick') @delete = Deletion.new(@relation) @read = @relation end describe '#create' do it "executes an insertion on the connection" do @insert.should_receive(:call) @session.create(@insert) end end describe '#read' do it "executes an selection on the connection" do @read.should_receive(:call) @session.read(@read) end it "is memoized" do @read.should_receive(:call).once @session.read(@read) @session.read(@read) end end describe '#update' do it "executes an update on the connection" do @update.should_receive(:call) @session.update(@update) end end describe '#delete' do it "executes a delete on the connection" do @delete.should_receive(:call) @session.delete(@delete) end end end describe 'Transactions' do describe '#begin' do end describe '#end' do end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
arel-1.0.1 | spec/algebra/unit/session/session_spec.rb |
arel-1.0.0 | spec/algebra/unit/session/session_spec.rb |
arel-1.0.0.rc1 | spec/algebra/unit/session/session_spec.rb |