Добра.
На борту - rails 3.2, rspec 2, factorygirl, capybara и devise.
Имеется банальнейший тест:
spec/acceptance/sign_in_spec.rb
require 'spec_helper'
feature 'Sign in', %q{ As an admin I want to sign in } do
background do
visit '/'
click_link "Войти"
end
scenario "Successful Sign In" do
FactoryGirl.create(:user)
fill_in 'Email', with: 'john@nhoj.nk'
fill_in 'Password', with: 'p@ss'
click_on 'Sign In'
current_path.should == user_root_path
end
end # feature 'Sign in'
spec/factories/users.rb
require "factory_girl"
FactoryGirl.define do
factory :user do
name 'Testing'
email 'name@domain.org'
password 'password'
end
end
config/routes.rb
CityStop::Application.routes.draw do
devise_for :users
root :to => "home#index"
match 'points' => 'home#index', as: :user_root
end
Однако засада, rake spec ругается на несовпадение путей:
Failures:
|| 1) Sign in As an admin I want to sign in Successful Sign In
|| Failure/Error: current_path.should == user_root_path
|| expected: "/points"
|| got: "/users/sign_in" (using ==)
Господа, я перелопатил весь SO и не смог понять, что же является причиной. Есть ли какие идеи на этот счёт?