Sha256: 7ab3eca9362521bcf95af08ba5abae4235ce89bbd9b7c9299b897c689d31653c

Contents?: true

Size: 1.55 KB

Versions: 6

Compression:

Stored size: 1.55 KB

Contents

require "spec_helper"

module Slining
  module Adapters
    RSpec.describe Heroku do
      it "sets the heroku remotes" do
        setup_file = "bin/setup"
        app_builder = double(app_name: app_name)
        allow(app_builder).to receive(:append_file)

        Heroku.new(app_builder).set_heroku_remotes

        expect(app_builder).to have_received(:append_file).
          with(setup_file, /heroku join --app #{app_name.dasherize}-production/)
        expect(app_builder).to have_received(:append_file).
          with(setup_file, /heroku join --app #{app_name.dasherize}-staging/)
      end

      it "sets up the heroku specific gems" do
        app_builder = double(app_name: app_name)
        allow(app_builder).to receive(:inject_into_file)

        Heroku.new(app_builder).set_up_heroku_specific_gems

        expect(app_builder).to have_received(:inject_into_file).
          with("Gemfile", /rails_stdout_logging/, anything)
      end

      it "sets the heroku rails secrets" do
        app_builder = double(app_name: app_name)
        allow(app_builder).to receive(:run)

        Heroku.new(app_builder).set_heroku_rails_secrets

        expect(app_builder).to(
          have_configured_var("staging", "SECRET_KEY_BASE"),
        )
        expect(app_builder).to(
          have_configured_var("production", "SECRET_KEY_BASE"),
        )
      end

      def app_name
        SliningTestHelpers::APP_NAME
      end

      def have_configured_var(remote_name, var)
        have_received(:run).with(/config:add #{var}=.+ --remote #{remote_name}/)
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
slining-1.7.0 spec/adapters/heroku_spec.rb
slining-1.6.0 spec/adapters/heroku_spec.rb
slining-1.5.0 spec/adapters/heroku_spec.rb
slining-1.4.0 spec/adapters/heroku_spec.rb
slining-1.3.0 spec/adapters/heroku_spec.rb
slining-1.2.0 spec/adapters/heroku_spec.rb