Sha256: 558578e1db69d628c3d25d6411bd5de2453f8d3a232107ff599488ca68a26cdb
Contents?: true
Size: 813 Bytes
Versions: 14
Compression:
Stored size: 813 Bytes
Contents
require 'spec_helper' unless ActiveRecord::Migration.table_exists?(:models) ActiveRecord::Migration.create_table(:models) end class Model < ActiveRecord::Base; end RSpec.describe 'Transactions' do before do stub_const 'RollBackTransactions', Class.new stub_const 'NestedRoutine', Class.new NestedRoutine.class_eval do lev_routine def exec raise 'Rolled back' end end RollBackTransactions.class_eval do lev_routine uses_routine NestedRoutine def exec Model.create! run(:nested_routine) end end end context 'in nested routines' do it 'rolls back on exceptions' do expect { RollBackTransactions.call }.to raise_error(RuntimeError) expect(Model.count).to eq(0) end end end
Version data entries
14 entries across 14 versions & 1 rubygems