J'essaye de tester mes vues avec RSpec. Le point de vue particulier qui me cause inquiète, ce change son apparence en fonction d'un paramètre url:RSpec View testing: Comment modifier les params?
link_to "sort>name", model_path(:sort_by => 'name')
qui se traduit par http://mydomain/model?sort_by=name
Mon point de vue utilise ce paramètre comme ça:
<% if params[:sort_by] == 'name' %>
<div>Sorted by Name</div>
<% end %>
Le RSpec ressemble ceci:
it "should tell the user the attribute for sorting order" do
#Problem: assign params[:sort_for] = 'name'
render "/groups/index.html.erb"
response.should have_tag("div", "Sorted by Name")
end
Je voudrais tester ma vue (sans contrôleur) dans RSpec mais je ne peux pas obtenir ce paramètre er dans ma variable params
. J'ai essayé assign
dans toutes les saveurs différentes:
assign[:params] = {:sort_by => 'name'}
assign[:params][:sort_by] = 'name'
- ...
sans succès jusqu'à présent. Chaque idée est appréciée.
Pas ce que je m'attendais, mais il a résolu mon problème et amélioré mon application. Merci! – sebastiangeiger