spec/capistrano/env/config_spec.rb in capistrano-env-0.3.3 vs spec/capistrano/env/config_spec.rb in capistrano-env-1.0.0

- old
+ new

@@ -1,64 +1,61 @@ require 'gem_helper' require 'capistrano/env/config' -describe Capistrano::Env::Config do - let(:config) { described_class.new } - describe '#formatter' do - it { expect(config.formatter).to eq :dotenv } +RSpec.describe Capistrano::Env::Config do + describe 'new with block' do + before do + ENV['CAPENV_TEST_A'] = 'a' + end + let(:proc) { ->(env) { env.add(/CAPENV_TEST/) } } + subject { described_class.new(&proc).envs } + it { is_expected.to eq('CAPENV_TEST_A' => 'a') } end - describe '#formatter class' do - it { expect(config.formatter_class).to eq Capistrano::Env::Formatter::DotenvFormatter } - end + let(:config) { described_class.new } + subject { config } - describe '#capenv_file' do - it { expect(config.capenv_file).to eq '.env' } - end + its(:filename) { is_expected.to eq '.env' } - describe '#capenv_content' do - it do - require 'capistrano/env/formatter/dotenv_formatter' - allow(config).to receive(:envs).and_return('a' => 'b') - expect(Capistrano::Env::Formatter::DotenvFormatter).to receive(:format).with('a' => 'b').and_return 'hello' - expect(config.capenv_content).to eq 'hello' - end - end - describe '#add' do before do ENV['CAPENV_TEST_A'] = 'a' ENV['CAPENV_TEST_B'] = '1,2,3' ENV['CAPENV_TEST'] = '$' ENV['VAPENV_XYZ_A'] = 'X' end + subject { config.envs } context 'with regex' do before do config.add(/^CAPENV_TEST_/) end - it { expect(config.envs).to eq('CAPENV_TEST_A' => 'a', 'CAPENV_TEST_B' => '1,2,3') } + it { is_expected.to eq('CAPENV_TEST_A' => 'a', 'CAPENV_TEST_B' => '1,2,3') } end + context 'with string' do before do config.add 'CAPENV_TEST' end - it { expect(config.envs).to eq('CAPENV_TEST' => '$') } + it { is_expected.to eq('CAPENV_TEST' => '$') } end + describe 'overridable' do before do config.add(/^CAPENV_TEST_/) config.add 'CAPENV_TEST_B', 'UNKO' end - it { expect(config.envs).to eq('CAPENV_TEST_A' => 'a', 'CAPENV_TEST_B' => 'UNKO') } + it { is_expected.to eq('CAPENV_TEST_A' => 'a', 'CAPENV_TEST_B' => 'UNKO') } end + describe 'fix key with block' do before do config.add(/^CAPENV_TEST_/) config.add(/^CAPENV_TEST_/) do |key| key.gsub(/CAPENV_/, '') end end - it { expect(config.envs).to eq('CAPENV_TEST_A' => 'a', 'CAPENV_TEST_B' => '1,2,3', 'TEST_A' => 'a', 'TEST_B' => '1,2,3') } + + it { is_expected.to eq('CAPENV_TEST_A' => 'a', 'CAPENV_TEST_B' => '1,2,3', 'TEST_A' => 'a', 'TEST_B' => '1,2,3') } end end end