Sha256: 43dfe5a77ef543d823094bfb2093b052eb5d05feb229755958a3beae3853bc4d

Contents?: true

Size: 1.25 KB

Versions: 46

Compression:

Stored size: 1.25 KB

Contents

require 'spec_helper'
require 'gitx/cli/base_command'

describe Gitx::Cli::BaseCommand do
  let(:args) { [] }
  let(:options) { {} }
  let(:config) do
    {
      pretend: true
    }
  end
  let(:cli) { described_class.new(args, options, config) }
  let(:repo) { cli.send(:repo) }

  describe 'without custom .gitx.yml config file' do
    before do
      expect(repo).to receive(:workdir).and_return(temp_dir)
    end
    it 'provides default options' do
      expect(cli.send(:config).config).to eq ::YAML.load_file(File.join(__dir__, '../../../lib/gitx/defaults.yml'))
    end
  end

  describe 'with custom .gitx.yml config file' do
    let(:config) do
      {
        'aggregate_branches' => %w( foo bar ),
        'reserved_branches' => %w( baz qux ),
        'taggable_branches' => %w( quux corge )
      }
    end
    before do
      expect(repo).to receive(:workdir).and_return(temp_dir)
      File.open(File.join(temp_dir, '.gitx.yml'), 'w') do |f|
        f.puts config.to_yaml
      end
    end
    it 'overrides default options' do
      expect(cli.send(:config).aggregate_branches).to eq(%w( foo bar ))
      expect(cli.send(:config).reserved_branches).to eq(%w( baz qux ))
      expect(cli.send(:config).taggable_branches).to eq(%w( quux corge ))
    end
  end
end

Version data entries

46 entries across 46 versions & 1 rubygems

Version Path
gitx-2.16.0.pre.ci.85.1 spec/gitx/cli/base_command_spec.rb
gitx-2.16.0.pre spec/gitx/cli/base_command_spec.rb
gitx-2.16.0.pre.ci.81.1 spec/gitx/cli/base_command_spec.rb
gitx-2.15.0 spec/gitx/cli/base_command_spec.rb
gitx-2.15.0.ci.75.1 spec/gitx/cli/base_command_spec.rb
gitx-2.14.2.ci.70.1 spec/gitx/cli/base_command_spec.rb