Sha256: db288e20ce3c4aaf281ca99fb6477889d078eef1299edb75db9b83b132ab4dbb

Contents?: true

Size: 1.78 KB

Versions: 56

Compression:

Stored size: 1.78 KB

Contents

# frozen_string_literal: true

require 'avm/git/launcher/base'
require 'avm/tools/runner'
require 'tmpdir'
require 'fileutils'

::RSpec.describe ::Avm::Tools::Runner::Source::Issue::Complete, git: true do
  let(:remote_name) { 'origin' }
  let(:issue_ref) { 'issue_123' }
  let(:remote_repos) { stubbed_git_local_repo(true) }
  let(:local_repos) { stubbed_git_local_repo }
  let(:eac_local_repos) { ::Avm::Git::Launcher::Base.new(local_repos.root_path.to_path) }

  context 'when branch is pushed' do
    before do
      eac_local_repos.assert_remote_url(remote_name, remote_repos.root_path.to_path)
      local_repos.command('checkout', '-b', issue_ref).execute!
      local_repos.file('myfile1.txt').touch
      local_repos.file(::Avm::Sources::Base::Configuration::CONFIGURATION_FILENAMES.first).touch
      local_repos.command('add', '.').execute!
      local_repos.command('commit', '-m', 'myfile1.txt').execute!
      local_repos.command('push', 'origin', issue_ref).execute!
    end

    it 'remote repos has a issue branch' do
      expect(eac_local_repos.remote_hashs(remote_name)).to include("refs/heads/#{issue_ref}")
    end

    it 'remote repos does not have a issue tag' do
      expect(eac_local_repos.remote_hashs(remote_name)).not_to include("refs/tags/#{issue_ref}")
    end

    context 'when "git issue complete" is called' do
      before do
        ::Avm::Tools::Runner.run(argv: ['source', '-C', eac_local_repos] +
            %w[issue complete --yes])
      end

      it 'remote repos does not have a issue branch' do
        expect(eac_local_repos.remote_hashs(remote_name)).not_to include("refs/heads/#{issue_ref}")
      end

      it 'remote repos has a issue tag' do
        expect(eac_local_repos.remote_hashs(remote_name)).to include("refs/tags/#{issue_ref}")
      end
    end
  end
end

Version data entries

56 entries across 56 versions & 1 rubygems

Version Path
eac_tools-0.85.1 sub/avm-tools/spec/lib/avm/tools/runner/source/issue/complete_spec.rb
eac_tools-0.85.0 sub/avm-tools/spec/lib/avm/tools/runner/source/issue/complete_spec.rb
eac_tools-0.84.2 sub/avm-tools/spec/lib/avm/tools/runner/source/issue/complete_spec.rb
eac_tools-0.84.1 sub/avm-tools/spec/lib/avm/tools/runner/source/issue/complete_spec.rb
eac_tools-0.84.0 sub/avm-tools/spec/lib/avm/tools/runner/source/issue/complete_spec.rb
eac_tools-0.83.0 sub/avm-tools/spec/lib/avm/tools/runner/source/issue/complete_spec.rb
eac_tools-0.82.0 sub/avm-tools/spec/lib/avm/tools/runner/source/issue/complete_spec.rb
eac_tools-0.81.0 sub/avm-tools/spec/lib/avm/tools/runner/source/issue/complete_spec.rb
eac_tools-0.80.0 sub/avm-tools/spec/lib/avm/tools/runner/source/issue/complete_spec.rb
eac_tools-0.79.0 sub/avm-tools/spec/lib/avm/tools/runner/source/issue/complete_spec.rb
eac_tools-0.78.0 sub/avm-tools/spec/lib/avm/tools/runner/source/issue/complete_spec.rb
eac_tools-0.77.1 sub/avm-tools/spec/lib/avm/tools/runner/source/issue/complete_spec.rb
eac_tools-0.77.0 sub/avm-tools/spec/lib/avm/tools/runner/source/issue/complete_spec.rb
eac_tools-0.76.1 sub/avm-tools/spec/lib/avm/tools/runner/source/issue/complete_spec.rb
eac_tools-0.76.0 sub/avm-tools/spec/lib/avm/tools/runner/source/issue/complete_spec.rb
eac_tools-0.75.2 sub/avm-tools/spec/lib/avm/tools/runner/source/issue/complete_spec.rb
eac_tools-0.75.1 sub/avm-tools/spec/lib/avm/tools/runner/source/issue/complete_spec.rb
eac_tools-0.75.0 sub/avm-tools/spec/lib/avm/tools/runner/source/issue/complete_spec.rb
eac_tools-0.74.1 sub/avm-tools/spec/lib/avm/tools/runner/source/issue/complete_spec.rb
eac_tools-0.74.0 sub/avm-tools/spec/lib/avm/tools/runner/source/issue/complete_spec.rb