Essayer de se moquer du «nouveau» à travers une association
-
05-07-2019 - |
Question
Ceci est dans mon contrôleur
@business = @current_user.businesses.new(params[:business])
@businesses
est un tableau d'objets professionnels
et je ne sais pas comment me moquer de cette cascade d'appels.
La solution
Voici une façon de le faire. La partie «entreprises» est un proxy d’association. Alors moquez-vous généralement comme ça:
business = Business.new
businesses_proxy = mock('business association proxy', :new => business)
@current_user.should_receive(:businesses).and_return(businesses_proxy)
ou plus explicite
business = Business.new
businesses_proxy = mock('business association proxy')
businesses_proxy.should_recieve(:new).and_return(business)
@current_user.should_receive(:businesses).and_return(businesses_proxy)
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow