Sha256: 6fb7bb3060c0224ff5c621988e1b571475e04d1d83a1e0b67546fd11b53a1ee3

Contents?: true

Size: 1.23 KB

Versions: 4

Compression:

Stored size: 1.23 KB

Contents

# frozen_string_literal: true

require 'spec_helper'

describe Anyway::Env do
  let(:env) { Anyway.env }

  it "loads simple key/values by module", :aggregate_failures do
    ENV['TESTO_KEY'] = 'a'
    ENV['MYTEST_KEY'] = 'b'
    expect(env.fetch('testo')['key']).to eq 'a'
    expect(env.fetch('my_test')['key']).to eq 'b'
  end

  it "loads hash values", :aggregate_failures do
    ENV['TESTO_DATA__ID'] = '1'
    ENV['TESTO_DATA__META__NAME'] = 'meta'
    ENV['TESTO_DATA__META__VAL'] = 'true'
    testo_config = env.fetch('testo')
    expect(testo_config['data']['id']).to eq 1
    expect(testo_config['data']['meta']['name']).to eq 'meta'
    expect(testo_config['data']['meta']['val']).to be_truthy
  end

  it "loads array values", :aggregate_failures do
    ENV['TESTO_DATA__IDS'] = '1,2, 3'
    ENV['TESTO_DATA__META__NAMES'] = 'meta, kotleta'
    ENV['TESTO_DATA__META__SIZE'] = '2'
    ENV['TESTO_DATA__TEXT'] = '"C\'mon, everybody"'
    testo_config = env.fetch('testo')
    expect(testo_config['data']['ids']).to include(1, 2, 3)
    expect(testo_config['data']['meta']['names']).to include('meta', 'kotleta')
    expect(testo_config['data']['meta']['size']).to eq 2
    expect(testo_config['data']['text']).to eq "C'mon, everybody"
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
anyway_config-1.1.0 spec/env_spec.rb
anyway_config-1.0.0 spec/env_spec.rb
anyway_config-1.0.0.rc1 spec/env_spec.rb
anyway_config-0.5.1.rc1 spec/env_spec.rb