Hey, This isn't doing much to test the *behavior* of the object. Why do you want to encrypt the password? Probably so you can authenticate, right? I would probably start off with
describe "authenticate" do it "finds the user with the given credentials" do u = User.create!(:login => "pat", :password => "password") User.authenticate("pat", "password").should == u end end That might be a bit much to chew at first though. So you can write some interim tests that you then throw away. For example, you might do describe User, "when saved" do it "should create a salt" do u = User.create(:login => "pat", :password => "password") u.salt.should_not be_blank end it "should create a hashed pass" do u = User.create(:login => "pat", :password => "password") u.hashed_pass.should_not be_blank end end Once you have those passing, you can move to the User.authenticate spec. Once *that* passes, you can throw away the salt/hashed_pass specs, because they're no longer useful. They're testing implementation at this point, and were just a tool to get you where you wanted to go in small steps. Pat On Fri, Jun 20, 2008 at 8:15 AM, Yi Wen <[EMAIL PROTECTED]> wrote: > user.should_receive(:encrypt_password).with(your_password) > user.save > > Is this what you want? > > On Fri, Jun 20, 2008 at 10:12 AM, Csongor Bartus <[EMAIL PROTECTED]> wrote: >> hi all, >> >> i'm learning rspec and i can't figure out how to test if a callback is >> executed in a model. >> >> my model code is: >> >> class User < ActiveRecord::Base >> before_save :encrypt_password >> >> ... >> >> def encrypt(password) >> self.class.encrypt(password, salt) >> end >> >> >> thanks a lot, >> cs. >> -- >> Posted via http://www.ruby-forum.com/. >> _______________________________________________ >> rspec-users mailing list >> rspec-users@rubyforge.org >> http://rubyforge.org/mailman/listinfo/rspec-users >> > _______________________________________________ > rspec-users mailing list > rspec-users@rubyforge.org > http://rubyforge.org/mailman/listinfo/rspec-users > _______________________________________________ rspec-users mailing list rspec-users@rubyforge.org http://rubyforge.org/mailman/listinfo/rspec-users