Sha256: 69c73fef59a5693b42664b303bfcc473393b42e8be80d13317a1e8732d3fb426

Contents?: true

Size: 1.42 KB

Versions: 1

Compression:

Stored size: 1.42 KB

Contents

require_relative '../../lib/reek/smells'
require_relative '../../lib/reek/smells/smell_detector'
require_relative '../../lib/reek/smells/smell_warning'
require_relative '../../lib/reek/cli/options'

FactoryGirl.define do
  factory :context, class: Reek::Context::CodeContext do
    skip_create

    initialize_with do
      new(nil, nil)
    end
  end

  factory :method_context, class: Reek::Context::MethodContext do
    skip_create
    transient do
      source 'def foo; end'
    end

    initialize_with do
      new(nil, Reek::Source::SourceCode.from(source).syntax_tree)
    end
  end

  factory :smell_detector, class: Reek::Smells::SmellDetector do
    skip_create
    transient do
      smell_type 'FeatureEnvy'
    end

    initialize_with do
      ::Reek::Smells.const_get(smell_type).new
    end
  end

  factory :smell_warning, class: Reek::Smells::SmellWarning do
    skip_create
    smell_detector
    context 'self'
    source 'dummy_file'
    lines [42]
    message 'smell warning message'
    parameters { {} }

    initialize_with do
      new(smell_detector,
          source: source,
          context: context,
          lines: lines,
          message: message,
          parameters: parameters)
    end
  end

  factory :code_comment, class: Reek::CodeComment do
    comment ''
    line 1
    source 'string'
    initialize_with do
      new comment: comment,
          line: line,
          source: source
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
reek-4.4.2 spec/factories/factories.rb