# encoding: utf-8 describe Hexx::RSpec do let(:coverage_settings) { described_class::Metrics::SimpleCov } let(:rake_tasks) { Rake::Task.tasks.map(&:name) } describe ".install_tasks" do before { described_class.install_tasks } it "installs Gem tasks" do expect(rake_tasks).to include("build", "install", "release") end it "installs RSpec tasks" do expect(rake_tasks).to include("spec") end it "installs described_class tasks" do expect(rake_tasks).to include(*%w( test:coverage test:coverage:display test:coverage:run test )) end end # display .insall_tasks describe ".load_metrics_for" do subject { described_class.load_metrics_for(double) } context "when ENV[USE_SIMPLECOV] is set" do before { ENV["USE_SIMPLECOV"] = "true" } it "initializes and runs a coverage settings" do expect(coverage_settings).to receive(:run) subject end end context "when ENV[USE_SIMPLECOV] isn't set" do before { ENV["USE_SIMPLECOV"] = nil } it "doesn't run settings" do expect(coverage_settings).not_to receive(:run) subject end end end # display .load_metrics_for end # display Hexx::RSpec