Здравейте, попаднах на този проблем, тествам помощника си и той трябва да зададе променлив екземпляр, но при тест, когато използвам assigns, той винаги връща нула
Ето моят помощник:
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
Може ли някой да ми каже какво правя грешно? Благодаря ти :)