Tratando de burlarse de "nuevo" a través de una asociación
-
05-07-2019 - |
Pregunta
Esto está en mi controlador
@business = @current_user.businesses.new(params[:business])
@businesses
es una matriz de objetos business
y no estoy seguro de cómo burlarse de esta cascada de llamadas.
Solución
Aquí hay una forma de hacerlo. La parte de 'negocios' es un proxy de asociación. Por lo general, se burlan de esta manera:
business = Business.new
businesses_proxy = mock('business association proxy', :new => business)
@current_user.should_receive(:businesses).and_return(businesses_proxy)
o más explícito
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)
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow