Sha256: 2ffae07dda91b71a70e893b96d354087861258110f47d49d37c8473f5bab71da
Contents?: true
Size: 1.51 KB
Versions: 2
Compression:
Stored size: 1.51 KB
Contents
require 'spec_helper' describe SchemaMonkey do it "doesn't register same client's middleware twice" do base = Module.new.tap { |e| e.module_eval(<<-END) } module Middleware module Group module Stack ENV = [:result] end end end END mod = Module.new.tap { |e| e.module_eval(<<-END) } module Middleware module Group module Stack def after(env) env.result += 1 end end end end END SchemaMonkey.register(base) expect( SchemaMonkey::Middleware::Group::Stack.start(result: 0) {}.result ).to eq 0 SchemaMonkey.register(mod) expect( SchemaMonkey::Middleware::Group::Stack.start(result: 0) {}.result ).to eq 1 SchemaMonkey.register(mod) expect( SchemaMonkey::Middleware::Group::Stack.start(result: 0) {}.result ).to eq 1 end it "doesn't register same client's ActiveRecord extensions twice" do mod = Module.new.tap{ |e| e.module_eval(<<-END) } module ActiveRecord module Base def monkey_test (super rescue 0) + 1 end end end END ActiveRecord::Migration.suppress_messages do ActiveRecord::Migration.create_table "dummy", force: :cascade end record = Class.new(ActiveRecord::Base).tap{ |kls| kls.table_name = "dummy" }.new SchemaMonkey.register mod expect( record.monkey_test ).to eq 1 SchemaMonkey.register mod expect( record.monkey_test ).to eq 1 end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
schema_monkey-3.0.1 | spec/schema_monkey_spec.rb |
schema_monkey-3.0.0 | spec/schema_monkey_spec.rb |