Я работал с последней версией facebooker (1.0.58):
# test_helper.rb
require 'facebooker/mock/session'
require 'facebooker/mock/service'
Facebooker::MockService.fixture_path = File.join(RAILS_ROOT, 'test', 'fixtures', 'facebook')
Очевидно, что вам придется создать каталог в Facebook или поместить его куда угодно. Внутри вы должны добавить папку для каждого метода facebook и XML-файл для различных типов ответов, которые вы хотите проверить. Я должен был добавить facebook.users.getInfo
и facebook.users.hasAppPermission
. Самое простое - просто добавить файл с именем default.xml
с примером кода из вики Facebook для этих действий.
# Controller test
test "facebook action" do
get :index, {:fb_sig_added => true}, :facebook_session => Facebooker::MockSession.create
assert_response :success
end
Насколько я могу судить, параметр fb_sig_added необходим, потому что внутренняя логика facebooker проверяет параметры непосредственно перед проверкой сессии на этом. Что мне кажется немного странным, но, может быть, для этого есть причина.