hii
I am initial level of rspec.I am getting a error nil class.
My Controller code is as follows
class UsersController < ApplicationController
before_filter :have_hard_drive?
# filter check for authorized user to access current server
before_filter :authorized_user_to_server?
# Will check that the cpanel id is belongs to current server or not
before_filter :is_cpanel_belongs_to_current_server?
def automatic_partitions
@prev_values = Cpanel.find(:all,:conditions => [“harddrive_id = ?
and server_id
=?”,HARDDRIVE_SLOTS[params[:harddrive_id].to_i],params[:server_id]])
@prev_values.each do |value|
value.destroy
end
@ignored_harddisk = IgnoredHarddrive.find(:first,:conditions =>
[“server_id = ? and harddrive_id =
?”,params[:server_id],HARDDRIVE_SLOTS[params[:harddrive_id].to_i]])
if @ignored_harddisk
@ignored_harddisk.destroy
end
end
end
and My Spec code is
require ‘spec_helper’
describe CpanelsController do
describe “role_as_superadmin” do
before(:each) do
user=User.authenticate(‘superadmin’,‘carmatec’)
user.is_superadmin
session[:user_id]=user.id
controller.stub(:have_hard_drive?)
controller.stub(:is_cpanel_belongs_to_current_server?)
controller.stub(:authorized_user_to_server?)
end
it "should_test_automatic_partions" do
@prev_values=mock_model(Cpanel)
Cpanel.should_receive(:find).and_return(@prev_values)
@ignored_harddisk=mock_model(IgnoredHarddrive)
IgnoredHarddrive.should_receive(:find).and_return(@ignored_harddisk)
get :automatic_partitions,{:harddrive_id=>'sda',:server_id=>1938}
assigns[:prev_values].should==''
end
end
and I am getting an error
Spec::Mocks::MockExpectationError in ‘CpanelsController
should_test_automatic_partions’
<Cpanel(id: integer, server_id: integer, mount_point: string,
file_system: string, size: string, grow: string, bad_sector: string,
raid_level: string, raid_device: string, harddrive_id: string) (class)>
expected :find with (any args) once, but received it 0 times
please anyone post the solution