Sha256: 8f896a0f48173f17335b52a854568a9aa176985c9b0e52f3bfb9ff39a3346b51

Contents?: true

Size: 865 Bytes

Versions: 1

Compression:

Stored size: 865 Bytes

Contents

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

module FixtureReplacement
  describe "extending an object" do
    it "should not create the create_* method in every instance of the class" do
      mod = Module.new do
        extend FixtureReplacement::ClassMethods

        attributes_for :user do |x|
          x.first_name = "Scott"
        end
      end

      o1 = Object.new
      o1.extend mod

      Object.new.should_not respond_to(:create_user)
    end
  end

  describe "including an object" do
    it "should include methods into instances of the class" do
      mod = Module.new do
        extend FixtureReplacement::ClassMethods

        attributes_for :user do |x|
          x.first_name = "Scott"
        end
      end

      klass = Class.new { include mod }
      obj = klass.new

      obj.should respond_to(:create_user)
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
fixture_replacement-3.0.1 spec/fixture_replacement/integration/extend_spec.rb