ruby - Testing conditions set by around_action in Rails -
in rails app current locale ist set in applicationcontroller through around_action callback. cleaner solution using before_action leave request specific locale hanging around.
class applicationcontroller < actioncontroller::base around_action :with_locale def with_locale i18n.with_locale(find_current_locale) { yield } end end since current locale reset after request finished not easy access request specific locale in test. before_filter next test pass:
it 'sets locale request' :action, locale: locale i18n.locale.should == locale end i cannot think of way implement test work around_filter without injecting additional logic controller. there simpler way rspec?
how checking if i18n.with_locale has been called proper parameters.
it 'sets locale request' allow(i18n).to receive(:with_locale) :action, locale: locale expect(i18n).to have_received(:with_locale).with(locale) end ruby-on-rails ruby testing rspec minitest
No comments:
Post a Comment