Sha256: 65c9b9affb27a9e8d67f12a13ba3a8891477e9f125f3a06b75e7143f03b969e4

Contents?: true

Size: 1.84 KB

Versions: 13

Compression:

Stored size: 1.84 KB

Contents

require "spec_helper"

describe RailsBestPractices do
  describe "emit method" do
    it "should gather the raw data" do
      MetricFu::Configuration.run {}
      practices = MetricFu::RailsBestPractices.new
      practices.should_receive(:`).with("mf-rails_best_practices --without-color .")
      practices.emit
    end
  end

  describe "analyze method" do
    before :each do
      output = <<-HERE.gsub(/^[^\S\n]*/, "")
      ./app/views/admin/testimonials/_form.html.erb:17 - replace instance variable with local variable
      ./app/controllers/admin/campaigns_controller.rb:24,45,68,85 - use before_filter for show,edit,update,destroy

      go to http://wiki.github.com/railsbp/rails_best_practices to see how to solve these errors.

      Found 2 errors.
      HERE
      MetricFu::Configuration.run {}
      practices = MetricFu::RailsBestPractices.new
      practices.instance_variable_set(:@output, output)
      @results = practices.analyze
    end

    it "should get the total" do
      @results[:total].should == ["Found 2 errors."]
    end

    it "should get the problems" do
      @results[:problems].size.should == 2
      @results[:problems].first.should == { :line => "17",
        :problem => "replace instance variable with local variable",
        :file => "app/views/admin/testimonials/_form.html.erb" }
      @results[:problems][1].should == { :line => "24,45,68,85",
        :problem => "use before_filter for show,edit,update,destroy",
        :file => "app/controllers/admin/campaigns_controller.rb" }
    end
  end

  describe "to_h method" do
    it "should put things into a hash" do
      MetricFu::Configuration.run {}
      practices = MetricFu::RailsBestPractices.new
      practices.instance_variable_set(:@rails_best_practices_results, "the_practices")
      practices.to_h[:rails_best_practices].should == "the_practices"
    end
  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
metric_fu-4.3.1 spec/metric_fu/metrics/rails_best_practices/rails_best_practices_spec.rb
metric_fu-4.3.0 spec/metric_fu/metrics/rails_best_practices/rails_best_practices_spec.rb
metric_fu-4.2.1 spec/metric_fu/metrics/rails_best_practices/rails_best_practices_spec.rb
metric_fu-4.2.0 spec/metric_fu/metrics/rails_best_practices/rails_best_practices_spec.rb
metric_fu-4.1.3 spec/metric_fu/metrics/rails_best_practices/rails_best_practices_spec.rb
metric_fu-4.1.2 spec/metric_fu/metrics/rails_best_practices/rails_best_practices_spec.rb
metric_fu-4.1.1 spec/metric_fu/metrics/rails_best_practices/rails_best_practices_spec.rb
metric_fu-4.1.0 spec/metric_fu/metrics/rails_best_practices/rails_best_practices_spec.rb
metric_fu-4.0.0 spec/metric_fu/metrics/rails_best_practices/rails_best_practices_spec.rb
metric_fu-3.0.1 spec/metric_fu/metrics/rails_best_practices/rails_best_practices_spec.rb
metric_fu-3.0.0 spec/metric_fu/metrics/rails_best_practices/rails_best_practices_spec.rb
metric_fu-2.1.4.pre5 spec/metric_fu/metrics/rails_best_practices/rails_best_practices_spec.rb
metric_fu-2.1.4.pre4 spec/metric_fu/metrics/rails_best_practices/rails_best_practices_spec.rb