Sha256: afaa96964ae0300de25eae5fab24c0ff00398e3b87bb6a33c1d2181def6b8d7a

Contents?: true

Size: 1.13 KB

Versions: 8

Compression:

Stored size: 1.13 KB

Contents

# frozen_string_literal: true

require 'eac_ruby_utils/common_concern'

RSpec.describe ::EacRubyUtils::CommonConcern do
  let(:instance) do
    described_class.new do
      self.valor = 'changed'
    end
  end

  let(:stub_module) do
    ::Module.new do
      module ClassMethods # rubocop:disable RSpec/LeakyConstantDeclaration
        def my_class_method
          'class'
        end
      end

      module InstanceMethods # rubocop:disable RSpec/LeakyConstantDeclaration
        def my_instance_method
          'instance'
        end
      end
    end
  end

  let(:stub_class) do
    ::Class.new do
      class << self
        attr_accessor :valor
      end

      def method1
        'from_stub_module'
      end
    end
  end

  let(:stub_class_instance) { stub_class.new }

  before do
    instance.setup(stub_module)
  end

  context 'when included' do
    before do
      stub_class.include stub_module
    end

    it { expect(stub_class_instance.my_instance_method).to eq('instance') }
    it { expect(stub_class_instance.class.my_class_method).to eq('class') }
    it { expect(stub_class_instance.class.valor).to eq('changed') }
  end
end

Version data entries

8 entries across 8 versions & 2 rubygems

Version Path
ehbrs-tools-0.16.5 vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/common_concern_spec.rb
avm-tools-0.84.0 vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/common_concern_spec.rb
avm-tools-0.83.0 vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/common_concern_spec.rb
ehbrs-tools-0.16.4 vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/common_concern_spec.rb
avm-tools-0.82.1 vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/common_concern_spec.rb
avm-tools-0.82.0 vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/common_concern_spec.rb
avm-tools-0.81.0 vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/common_concern_spec.rb
ehbrs-tools-0.16.3 vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/common_concern_spec.rb