Skip to content

Instantly share code, notes, and snippets.

@deepj
Created January 6, 2012 07:19
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save deepj/1569491 to your computer and use it in GitHub Desktop.
Save deepj/1569491 to your computer and use it in GitHub Desktop.
require 'test_helper'
module ::TestModule
def self.extended(base)
add_properties_to base
end
def self.included(base)
add_properties_to base
end
def self.add_properties_to(base)
base.class_eval do
before_create :set_payment_id
end
end
end
class ModuleTest < ActiveSupport::TestCase
setup do
klass = Class.new do
extend ActiveModel::Callbacks
define_model_callbacks :create, :before
attr_reader :payment_id
def create
run_callbacks :create
end
private
def set_payment_id
@payment_id = 1
end
end
@object = klass.new
@object.extend TestModule
end
test 'payment id is set to 1' do
@object.create
assert_equal 1, @object.payment_id
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment