Sha256: 0c76b006ec6e3ea1a3978e006ca2fea5ef1d2654a18ae3f89822c4a608eef3e6

Contents?: true

Size: 965 Bytes

Versions: 5

Compression:

Stored size: 965 Bytes

Contents

require "spec_helper"

describe Stairs::InteractiveConfiguration do
  subject { described_class.new }

  describe "metadata" do
    it "has a title" do
      expect(described_class.step_title).not_to be_nil
    end

    it "has a description" do
      expect(described_class.step_description).not_to be_nil
    end
  end

  describe "#run!" do
    before do
      Stairs::EnvAdapters.stub recommended_adapter: Stairs::EnvAdapters::Rbenv
    end

    it "recommends an adapter" do
      output = follow_prompts("Y") { subject.run! }
      expect(output).to include "you're using rbenv"
    end

    it "sets the adapter" do
      follow_prompts("Y") { subject.run! }
      expect(Stairs.configuration.env_adapter).to be_a Stairs::EnvAdapters::Rbenv
    end

    it "allows for specifying your desired adapter" do
      follow_prompts("N", "dotenv") { subject.run! }
      expect(Stairs.configuration.env_adapter).to be_a Stairs::EnvAdapters::Dotenv
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
stairs-0.5.1 spec/lib/stairs/interactive_configuration_spec.rb
stairs-0.5.0 spec/lib/stairs/interactive_configuration_spec.rb
stairs-0.4.2 spec/lib/stairs/interactive_configuration_spec.rb
stairs-0.4.1 spec/lib/stairs/interactive_configuration_spec.rb
stairs-0.4.0 spec/lib/stairs/interactive_configuration_spec.rb