Je tente de générer une macro simple pour une application Rails qui utilise Devise pour l'authentification. Fondamentalement, je veux m'assurer que lorsqu'un utilisateur accède à une page nécessitant une authentification, il est redirigé vers la page de connexion. Donc, quelque chose comme ceci:Perfection d'une macro RSpec pour les contrôleurs
it_requires_authentication_for :index, :new, :create, :update
Les résultats souhaités ici devraient être évidents. Mon problème est cependant que je ne peux pas penser à la meilleure façon de cartographier chaque action à sa méthode appropriée http (: obtenez,: après etc ...)
J'ai commencé avec ceci:
def it_should_require_authentication_for(*actions)
actions.each do |action|
it "should require authentication for #{action}" do
get action.to_sym
response.should redirect_to(new_user_session_path)
end
end
end
Qui bien sûr ne fait que le get. Quelqu'un peut-il me dire comment je pourrais fournir cette macro pour toutes les actions? Je suppose que j'ai besoin de tester en quelque sorte si l'action route correctement pour une méthode particulière, mais je ne suis pas vraiment sûr.
Toute aide est grandement appréciée.