Как использовать Omniauth + капибара для тестирования FB Connect? - PullRequest
2 голосов
/ 30 августа 2011

У меня есть приложение rails 3 + разработка с использованием капибары для интеграционных тестов.Сейчас у меня работают тесты по подписке и подписке, но у меня нет тестов для FB Connect.

Как добавить тесты Omniauth, чтобы обеспечить работу регистрации и входа?У кого-нибудь есть пример или современный учебник, который показывает, как это делается?Все, что я мог найти, это фрагменты информации.

Спасибо

1 Ответ

4 голосов
/ 31 августа 2011

У меня нет полного примера.Я добавил следующее в свой test.rb (вы можете добавить его в инициализатор и добавить его, если среда является тестовой).

  OmniAuth.config.test_mode = true

  FACEBOOK_INFO = {
    "id"=> "220439",
    "email" => "bret@facebook.com",
  }

  OmniAuth.config.mock_auth[:facebook] = {
    "uid" => '12345',
    "provider" => 'facebook',
    "user_info" => {"name" => "Bret Taylor", "nickname" => 'btaylor'},
    "credentials" => {"token" => 'plataformatec'},
    "extra" => {"user_hash" => FACEBOOK_INFO}
  }

Это симулирует вызов omniauth.Итак, в вашем тесте, когда вы имитируете нажатие на кнопку facebook, вы получите ответ от OmniAuth.config.mock_auth [: facebook].

...