Я только что реализовал OmniAuth (используя Screencast http://asciicasts.com/episodes/235-omniauth-part-1) Райана Бейтса, и пишу тесты Rspec на функциональность, и столкнулся с проблемами при проверке действий аутентификации # create.как это проверить - в частности, как заглушить локальную переменную omniauth. Независимо от того, что я пытаюсь, я не могу заставить работать какие-либо тесты.
Принимая сокращенную версию действия, каквы проверяете, что новый пользователь вызывается, например
<code>
#cut down version of the authentifications controller code I am attempting to test
def create
omniauth = request.env["omniauth.auth"]
authentification = Authentification.find_by_provider_and_uid(omniauth['provider'], omniauth['uid'])
....
user = User.new
....
end
#example test
it "should create a new user" do
subject.stub_chain(:request,:env) {{"omniauth.auth" => {'provider' =>1, 'uid' => 2}}}
User.should_receive(:new)
post :create
end