Sha256: 7a3faf98bd5be4a112c6e8221c914d983436d31280e1ba9133aa04073350fc73

Contents?: true

Size: 1.47 KB

Versions: 39

Compression:

Stored size: 1.47 KB

Contents

describe KnapsackPro do
  describe '.root' do
    subject { described_class.root }

    it { expect(subject).to match 'knapsack' }
  end

  describe '.logger' do
    let(:logger_wrapper) { double }

    subject { described_class.logger }

    before { described_class.reset_logger! }
    after { described_class.reset_logger! }

    context 'when default logger' do
      let(:logger) { instance_double(Logger) }

      before do
        expect(Logger).to receive(:new).with(STDOUT).and_return(logger)
        expect(logger).to receive(:level=).with(Logger::INFO)
        expect(KnapsackPro::LoggerWrapper).to receive(:new).with(logger).and_return(logger_wrapper)
      end

      it { should eql logger_wrapper }
    end

    context 'when custom logger' do
      let(:logger) { double('custom logger') }

      before do
        expect(KnapsackPro::LoggerWrapper).to receive(:new).with(logger).and_return(logger_wrapper)
        described_class.logger = logger
      end

      it { should eql logger_wrapper }
    end
  end

  describe '.tracker' do
    subject { described_class.tracker }

    it { should be_a KnapsackPro::Tracker }
    it { expect(subject.object_id).to eql described_class.tracker.object_id }
  end

  describe '.load_tasks' do
    let(:task_loader) { instance_double(KnapsackPro::TaskLoader) }

    it do
      expect(KnapsackPro::TaskLoader).to receive(:new).and_return(task_loader)
      expect(task_loader).to receive(:load_tasks)
      described_class.load_tasks
    end
  end
end

Version data entries

39 entries across 39 versions & 1 rubygems

Version Path
knapsack_pro-0.30.0 spec/knapsack_pro_spec.rb
knapsack_pro-0.29.0 spec/knapsack_pro_spec.rb
knapsack_pro-0.28.1 spec/knapsack_pro_spec.rb
knapsack_pro-0.28.0 spec/knapsack_pro_spec.rb
knapsack_pro-0.27.0 spec/knapsack_pro_spec.rb
knapsack_pro-0.26.0 spec/knapsack_pro_spec.rb
knapsack_pro-0.25.0 spec/knapsack_pro_spec.rb
knapsack_pro-0.24.0 spec/knapsack_pro_spec.rb
knapsack_pro-0.23.0 spec/knapsack_pro_spec.rb
knapsack_pro-0.22.0 spec/knapsack_pro_spec.rb
knapsack_pro-0.21.0 spec/knapsack_pro_spec.rb
knapsack_pro-0.20.0 spec/knapsack_pro_spec.rb
knapsack_pro-0.19.0 spec/knapsack_pro_spec.rb
knapsack_pro-0.18.0 spec/knapsack_pro_spec.rb
knapsack_pro-0.17.0 spec/knapsack_pro_spec.rb
knapsack_pro-0.16.0 spec/knapsack_pro_spec.rb
knapsack_pro-0.15.2 spec/knapsack_pro_spec.rb
knapsack_pro-0.15.1 spec/knapsack_pro_spec.rb
knapsack_pro-0.15.0 spec/knapsack_pro_spec.rb
knapsack_pro-0.14.0 spec/knapsack_pro_spec.rb