$ cat app/controllers/welcome_controller.rb
class WelcomeController < ApplicationController
include OpenidUtility
def complete
real_user = 1
redirect_to :controller => :items
end
end
$ cat lib/openid_utility.rb
module OpenidUtility
# Get the OpenID::Consumer object.
def consumer
# Create the OpenID store for storing associations and nonces
#store = ActiveRecordOpenIDStore.new
store_dir = Pathname.new(RAILS_ROOT).join('tmp').join('openid-store')
store = OpenID::Store::Filesystem.new(store_dir)
return OpenID::Consumer.new(session, store)
end
end
$ cat spec/controllers/welcome_spec.rb
require File.dirname(__FILE__) + '/../spec_helper'
describe WelcomeController do
it "should login with a valid openid credential" do
controller.should_receive(:real_user=)
get 'complete'
response.should redirect_to("http://test.host/items")
end
end
$ rake spec:controllers
(in /home/donp/src/ruby/rails/catmystuff)
F
1)
Spec::Mocks::MockExpectationError in 'WelcomeController should login with a valid openid credential'
Mock 'WelcomeController' expected :real_user= with (any args) once, but received it 0 times
/home/donp/src/ruby/rails/catmystuff/vendor/plugins/rspec_on_rails/lib/spec/rails/example/behaviour/controller_example_group.rb:211:in `should_receive'
Finished in 0.637452 seconds
1 example, 1 failure
rake aborted!
Command ruby -I"/home/donp/src/ruby/rails/catmystuff/vendor/plugins/rspec/lib" "/home/donp/src/ruby/rails/catmystuff/vendor/plugins/rspec/bin/spec" "spec/controllers/welcome_spec.rb" --options "/home/donp/src/ruby/rails/catmystuff/spec/spec.opts" failed