Sekarang Rails hadir dengan file kredensial/rahasia, sepertinya saya tidak bisa mematikan/mengganti rahasia dengan RSpec.

# credentials.yml.enc
my_token: 111

Dengan variabel lingkungan yang biasa kami lakukan

allow(ENV).to receive(:[]).with('my_token').and_return('')

Jadi saya berharap dapat menerapkan logika yang sama seperti

allow(Rails.application.credentials).to receive(:my_token).and_return('')

Tapi itu tidak mengesampingkan rahasia Rails. Ada ide? Terima kasih

1
olimart 14 Maret 2019, 16:44

1 menjawab

Jawaban Terbaik

Harus lurus ke depan seperti yang dijelaskan di sini https://github.com/rspec /rspec-rails/issues/2099#issuecomment-472965256

describe 'Credentials' do
  it 'stubs credentials' do
    allow(Rails.application.credentials).to receive(:my_token).and_return('123')
    expect(Rails.application.credentials.my_token).to eq('123')
  end
end
4
olimart 15 Maret 2019, 13:24