RSpec: Stub chaînes avec des arguments?

Demandais juste si/comment les arguments peuvent être passés en rspec stub chaînes. Pour donner un exemple, supposons que j'ai l'action suivante:

def index
  @payments = Payment.order(:updated_at).where(:paid => true)
  @bad_payments = Payment.order(:some_other_field).where(:paid => false)
end

Dans mon contrôleur spec, j'aimerais être en mesure d'écraser les deux méthodes et de retourner des résultats différents. Si seulement le @payments terrain ont été dans l'action, je serais d'utiliser quelque chose comme

Payment.stub_chain(:order, :where) { return_this }

Mais bien sûr, qui va retourner la même valeur pour @bad_payments.

Donc, bref, comment dois-je inclure la :updated_at et :paid => true comme stub conditions?

InformationsquelleAutor PlankTon | 2011-11-03