Having trouble specing an ajax request

Do I need to spec an AR. If yes, what is the best way to spec this.
here is the code -

def index
@deals = Deal.paginate(:all, :conditions =>
prepare_search_conditions, :order
=> ‘created_at DESC’, :page => params[:page]
)
if request.xhr?
render :update do |page|
page.replace_html “table”, :partial => “/deals/front/listing”
end
end

I am new to Rspec. Is this the right way?

it “should list all deals” do
controller.stub!(:prepare_search_conditions).and_return(true)
Deal.should_receive(:paginate).with(:all, {:conditions=>true,
:order=>“created_at DESC”,
:page=>nil}).and_return(@deals)
get :list
controller.expect_render(:partial => ‘/deals/cms/list’)
end

Thanks,
Namrata.

Sorry I pasted the wrong spec.
Here is correct one -

it “should show deals listing” do
controller.stub!(:prepare_search_conditions).and_return(true)
Deal.should_receive(:paginate).and_return(@deals)

get :index
controller.expect_render(:partial => '/deals/front/listing')

end

Thanks,
Namrata.

Namrata T. wrote:

Thanks,
Namrata.

Try setting your headers before your get request… Like so:

@request.env[“HTTP_ACCEPT”] = “application/javascript”

-Ben

Hi Namrata,

I recently ran into the same problem as well. The trick was to do
something like:
response.should have_rjs(some_arguments)
The ‘some_arguments’ threw me off for a while but I believe you
need :chained_replace_html.
I wrote a little piece on it here:
http://www.rubytutorials.net/2008/02/29/small-rspec-revelations-rjs/
Hope you find it helpful.

With kind regards,
Harm