Привет, я столкнулся с этой проблемой, я тестирую свой помощник, и он должен установить экземпляр, который можно использовать, но в тесте, когда я использую, он всегда возвращает ноль.
Вот мой помощник:
def popup_campaign
return "" if cookies["hide_popup_campaign"] == "1"
popup = PopupCampaign.current(current_locale)
@popup_campaign = popup.exists? && popup.first.active ? popup.first : false
puts @popup_campaign # just cheking
render :partial => 'layouts/shared/popup_campaign'
end
а вот тест
it "should return valid instance" do
popup.save(:validate => false)
helper.request.cookies["hide_popup_campaign"] = "0"
helper.stub(:current_locale).and_return("lv")
helper.popup_campaign
expect(assigns(:popup_campaign)).to be_present
end
и журнал консоли:
PublicHelper
popup_campaign
#<PopupCampaign:0x0000010bb64cc8>
should return valid instance (FAILED - 1)
отказ:
1) PublicHelper popup_campaign should return valid instance
Failure/Error: expect(assigns(:popup_campaign)).to be_present
expected present? to return true, got false
Может ли кто-нибудь сказать мне, что я делаю неправильно? благодарю вас :)