Sha256: 51a09903b931f9679973f9128fcc0a59dd5da7b4c713eae8670a6f5bc93e6445

Contents?: true

Size: 706 Bytes

Versions: 5

Compression:

Stored size: 706 Bytes

Contents

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

describe Sequel::Pervasive::DatabaseMethods do

  it "supports transactions" do
    set_fos_db([Trip])
    t = Trip.first
    ### surround with begin/rescue
    begin
      ### testing do_transaction
      r = nil
      Trip.db.do_transaction do |conn|
        # increment the value of fs_visa by one
        r = conn.run(Trip.filter(t.pk_hash).update_sql(:fs_visa=>t.fs_visa.succ))
        raise(Exception, 'testing do_transaction transactions')
      end
      ### end testing do_transaction
    rescue StandardError => e
    ensure
      r.drop if r
    end
    # check if the values have changed
    Trip.first.fs_visa.should == t.fs_visa
  end

end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
fossil-0.4.5 spec/sequel/pervasive_adapter_spec.rb
fossil-0.4.3 spec/sequel/pervasive_adapter_spec.rb
fossil-0.4.2 spec/sequel/pervasive_adapter_spec.rb
fossil-0.4.1 spec/sequel/pervasive_adapter_spec.rb
fossil-0.4.0 spec/sequel/pervasive_adapter_spec.rb