Sha256: 5e1c53be4ef04ccbd79541201394990b88f1ef6a2ae07769fb2ddff3fb0e90d2

Contents?: true

Size: 1.5 KB

Versions: 4

Compression:

Stored size: 1.5 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/option_interpreter'
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 :options_interpreter_with_empty_sources, class: Reek::CLI::OptionInterpreter do
    transient do
      options { Reek::CLI::Options.new [] }
    end

    initialize_with do
      Reek::CLI::OptionInterpreter.new(options)
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
reek-4.0.1 spec/factories/factories.rb
reek-4.0.0 spec/factories/factories.rb
reek-4.0.0.pre1 spec/factories/factories.rb
reek-3.11 spec/factories/factories.rb