@request
is a controller test variable. It's not what you want here. In fact, in capybara specs you don't need to specify the devise mapping and you cant use sign_in
.
Capybara fires up a browser, you must tell it to go to your login page and sign in through the same steps that you would do in a browser.
Try this: (you may need to change some input and button names)
let(:user) { FactoryGirl.create(:user) }
before(:each) do
page.visit new_user_session_path
# note: use the email/password input names below if yours are different
page.fill_in "user[email]", :with => user.email
page.fill_in "user[password]", :with => user.password
page.click_button "Sign in"
end