Sha256: 64abcf0b4a99b6bf2d8dde1c6196982b7c3b339ef0f777d082a2df6ea49a9387

Contents?: true

Size: 1.12 KB

Versions: 10

Compression:

Stored size: 1.12 KB

Contents

require "spec_helper"

describe Stairs::EnvAdapters::Dotenv do
  subject { described_class.new }

  describe ".present?" do
    context "when rvm is installed" do
      before { stub_const "Dotenv", double("dotenv") }

      it "returns true" do
        expect(described_class.present?).to be_true
      end
    end

    context "when rvm is not installed" do
      before { Object.send(:remove_const, :Dotenv) if defined? ::Dotenv }

      it "returns true" do
        expect(described_class.present?).to be_false
      end
    end
  end

  describe "#set" do
    it "delegates to the well tested FileMutation util" do
      name = "VAR_NAME"
      value = "the_value"

      Stairs::Util::FileMutation.should_receive(:replace_or_append).with(
        Regexp.new("^#{name}=(.*)$"),
        "#{name}=#{value}",
        ".env",
      )

      subject.set(name, value)
    end
  end

  describe "#unset" do
    it "delegates to the well tested FileMutation util" do
      Stairs::Util::FileMutation.should_receive(:remove).with(
        Regexp.new("^SOMETHING=(.*)\n"),
        ".env",
      )
      subject.unset "SOMETHING"
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
stairs-0.9.0 spec/lib/stairs/env_adapters/dotenv_spec.rb
stairs-0.8.0 spec/lib/stairs/env_adapters/dotenv_spec.rb
stairs-0.7.1 spec/lib/stairs/env_adapters/dotenv_spec.rb
stairs-0.7.0 spec/lib/stairs/env_adapters/dotenv_spec.rb
stairs-0.6.1 spec/lib/stairs/env_adapters/dotenv_spec.rb
stairs-0.6.0 spec/lib/stairs/env_adapters/dotenv_spec.rb
stairs-0.5.1 spec/lib/stairs/env_adapters/dotenv_spec.rb
stairs-0.5.0 spec/lib/stairs/env_adapters/dotenv_spec.rb
stairs-0.4.2 spec/lib/stairs/env_adapters/dotenv_spec.rb
stairs-0.4.1 spec/lib/stairs/env_adapters/dotenv_spec.rb