Hi,
for using rspec with the SearchLogic plugin we found the following solutions to
mock/stub
the necessary objects/methods:
Views:
# create search logic values
@search = mock("search")
@search.stub!(:page_count).and_return(2)
assigns[:search] = @search
@plannings_count = 20
assigns[:plannings_count] = @item_categories_count
# stub the search form, otherwise the following error:
# undefined method `spec_mocks_mock_path' for #<ActionView::Base:0x6ac1470>
template.stub(:remote_form_for).and_return(true)
# stub search logic helpers, otherwise the following errors:
# @search object could not be inferred, please specify:
# :search_obj => @search or :params_scope => :search_obj_name
template.stub(:remote_per_page_select).and_return(true)
template.stub(:remote_page_links).and_return(true)
Controllers:
# scopes
# @search = Planning.with_associations.not_deleted.new_search(params[:search])
Planning.stub!(:with_associations).and_return(@search)
@search.stub!(:not_deleted).and_return(@search)
@search.stub!(:new_search).and_return(@search)
Andrea
*Von:* "Andrea Jahn" <[email protected]>
*Gesendet:* 25.03.09 15:50:06
*An:* [email protected]
*Betreff:* [rspec-users] spec for view with Searchlogic
Hi,
I'm using the Searchlogic plugin. Since I have added the search form in the
index template,
the view spec doesn't work anymore.
Controller
---------
def index
@search = PlPlanning.new_search(params[:search])
@search.order_by = :id
@pl_plannings, @count = @search.all, @search.count
end
view
-----
<!-- search form -->
<div id='search_form_area' class="search_form" style="display:none" >
<% remote_form_for [:planning, @search] do |f| %>
<fieldset>
<legend>Search <%= PlPlanning::DISPLAY_NAME.pluralize %></legend>
  ; <% f.fields_for @search.conditions do |pl_plannings| %>
<%= pl_plannings.label :id, PlPlanning::DISPLAY_NAME + " Id:", :class =>
"search_label" %>
<%= pl_plannings.text_field :id %>
<br />
<%= f.submit "Search" %>
<% end %>
</fieldset>
<% end %>
</div>
spec
----
class Searchlogic::Cache::PlPlanningSearch; end
...
before(:each) do
@pl_plannings = []
assigns[:pl_plannings] = @pl_plannings
@search = Searchlogic::Cache::PlPlanningSearch.new ???
assigns[:search] = @search
& nbsp; render "/planning/pl_plannings/index"
end
...
=> Error in the line containing the remote_form_for call
undefined method `planning_searchlogic_cache_pl_planning_search_path' for
#<ActionView::Base:0x6b6bf38>
Has anybody experience with Searchlogic + rspec ? Can I stub search_paths ?
Thanks
Andrea
Verschicken Sie SMS direkt vom Postfach aus - in alle deutschen und viele
ausländische Netze zum gleichen Preis!
https://produkte.web.de/webde_sms/sms
_______________________________________________rspec-users mailing
[email protected]http://rubyforge.org/mailman/listinfo/rspec-users
GRATIS für alle WEB.DE-Nutzer: Die maxdome Movie-FLAT!
Jetzt freischalten unter *http://movieflat.web.de* [http://movieflat.web.de]
_______________________________________________
rspec-users mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/rspec-users