Sha256: ebbe0f693a85720c3571d5586cc09922cf1296db01a2bf29f399ec7ac169dfbf

Contents?: true

Size: 1.34 KB

Versions: 17

Compression:

Stored size: 1.34 KB

Contents

require "spec_helper"
require "capistrano/scm"

module Capistrano
  class Configuration
    describe SCMResolver do
      include Capistrano::DSL

      let(:resolver) { SCMResolver.new }

      before do
        Rake::Task.define_task("deploy:check")
        Rake::Task.define_task("deploy:new_release_path")
        Rake::Task.define_task("deploy:set_current_revision")
        set :scm, SCMResolver::DEFAULT_GIT
      end

      after do
        Rake::Task.clear
        Capistrano::Configuration.reset!
      end

      context "default scm, no plugin installed" do
        it "emits a warning" do
          expect { resolver.resolve }.to output(/will not load the git scm/i).to_stderr
        end

        it "activates the git scm", capture_io: true do
          resolver.resolve
          expect(Rake::Task["git:wrapper"]).not_to be_nil
        end

        it "sets :scm to :git", capture_io: true do
          resolver.resolve
          expect(fetch(:scm)).to eq(:git)
        end
      end

      context "default scm, git plugin installed" do
        before do
          install_plugin Capistrano::SCM::Git
        end

        it "emits no warning" do
          expect { resolver.resolve }.not_to output.to_stderr
        end

        it "deletes :scm" do
          resolver.resolve
          expect(fetch(:scm)).to be_nil
        end
      end
    end
  end
end

Version data entries

17 entries across 17 versions & 2 rubygems

Version Path
capistrano-3.18.1 spec/lib/capistrano/configuration/scm_resolver_spec.rb
honeybadger-5.4.0 vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/spec/lib/capistrano/configuration/scm_resolver_spec.rb
honeybadger-5.3.0 vendor/bundle/ruby/3.2.0/gems/capistrano-3.18.0/spec/lib/capistrano/configuration/scm_resolver_spec.rb
capistrano-3.18.0 spec/lib/capistrano/configuration/scm_resolver_spec.rb
capistrano-3.17.3 spec/lib/capistrano/configuration/scm_resolver_spec.rb
capistrano-3.17.2 spec/lib/capistrano/configuration/scm_resolver_spec.rb
capistrano-3.17.1 spec/lib/capistrano/configuration/scm_resolver_spec.rb
capistrano-3.17.0 spec/lib/capistrano/configuration/scm_resolver_spec.rb
capistrano-3.16.0 spec/lib/capistrano/configuration/scm_resolver_spec.rb
capistrano-3.15.0 spec/lib/capistrano/configuration/scm_resolver_spec.rb
capistrano-3.14.1 spec/lib/capistrano/configuration/scm_resolver_spec.rb
capistrano-3.14.0 spec/lib/capistrano/configuration/scm_resolver_spec.rb
capistrano-3.13.0 spec/lib/capistrano/configuration/scm_resolver_spec.rb
capistrano-3.12.1 spec/lib/capistrano/configuration/scm_resolver_spec.rb
capistrano-3.12.0 spec/lib/capistrano/configuration/scm_resolver_spec.rb
capistrano-3.11.2 spec/lib/capistrano/configuration/scm_resolver_spec.rb
capistrano-3.11.1 spec/lib/capistrano/configuration/scm_resolver_spec.rb