Sha256: 3524afc1ce62e9928d4c7f910c2dbd4280fd2fff049d4e7edb5a5ccc67e9a261

Contents?: true

Size: 1.57 KB

Versions: 34

Compression:

Stored size: 1.57 KB

Contents

# frozen_string_literal: true
require 'spec_helper'

module Onotole
  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', "#{app_name.dasherize.upcase}_SECRET_KEY_BASE")
        )
        expect(app_builder).to(
          have_configured_var('production', "#{app_name.dasherize.upcase}_SECRET_KEY_BASE")
        )
      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

34 entries across 34 versions & 1 rubygems

Version Path
onotole-2.0.2 spec/adapters/heroku_spec.rb
onotole-2.0.1 spec/adapters/heroku_spec.rb
onotole-2.0.0 spec/adapters/heroku_spec.rb
onotole-1.2.11 spec/adapters/heroku_spec.rb
onotole-1.2.10 spec/adapters/heroku_spec.rb
onotole-1.2.9 spec/adapters/heroku_spec.rb
onotole-1.2.8 spec/adapters/heroku_spec.rb
onotole-1.2.7 spec/adapters/heroku_spec.rb
onotole-1.2.6 spec/adapters/heroku_spec.rb
onotole-1.2.5 spec/adapters/heroku_spec.rb
onotole-1.2.4 spec/adapters/heroku_spec.rb
onotole-1.2.3 spec/adapters/heroku_spec.rb
onotole-1.2.2 spec/adapters/heroku_spec.rb
onotole-1.2.1 spec/adapters/heroku_spec.rb
onotole-1.1.21 spec/adapters/heroku_spec.rb
onotole-1.1.20 spec/adapters/heroku_spec.rb
onotole-1.1.19 spec/adapters/heroku_spec.rb
onotole-1.1.18 spec/adapters/heroku_spec.rb
onotole-1.1.17 spec/adapters/heroku_spec.rb
onotole-1.1.16 spec/adapters/heroku_spec.rb