Как заглушить секрет Rails в RSpec? - PullRequest
0 голосов
/ 14 марта 2019

Теперь, когда в Rails есть учетные данные / секретный файл, я не могу заглушить / переопределить секрет с помощью RSpec.

# credentials.yml.enc
my_token: 111

С переменной окружения мы привыкли делать

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

Так что я ожидал, что смогу применить ту же логику, что и

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

Но это не отменяет секрет Rails.Любая идея?Спасибо

1 Ответ

1 голос
/ 15 марта 2019

Должно быть прямым, как описано здесь 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
...