这是我的requests/profiles_pages_spec.rb
:
require 'spec_helper'
describe "ProfilePages" do
subject { page }
describe "edit" do
let(:user) { FactoryGirl.create(:user) }
let(:profile) { FactoryGirl.create(:profile, user: user) }
before do
login user
visit edit_profile_path(profile)
end
it { should have_selector('h2', text: 'Заполните информацию о себе') }
describe "change information" do
let(:new_city) { "Ulan-Bator" }
let(:new_phone) { 1232442 }
let(:new_gamelevel) { "M2" }
let(:new_aboutme) { "nfsfsdfds" }
let(:submit) { "Сохранить" }
before do
fill_in "Город", with: new_city
fill_in "Телефон", with: new_phone
select new_gamelevel, from: "Уровень игры"
fill_in "О себе", with: new_aboutme
click_button submit
end
specify { profile.reload.city.should == new_city }
specify { profile.reload.phone.should == new_phone }
specify { profile.reload.gamelevel.should == new_gamelevel }
specify { profile.reload.aboutme.should == new_aboutme }
end
describe "submitting to the update action" do
before { put profile_path(profile) }
current_path.should == user_path(user)
end
end
end
我有错误:
spec / requests / profile_pages_spec.rb:40:在块(3个级别)中:未定义的局部变量或方法`current_path'用于#(NameError)
为什么我不能使用这种方法?
我使用宝石'capybara','1.1.2'和 gem'rspec-rails','2.11.0'
答案 0 :(得分:0)
你不是在阻止它。
describe "submitting to the update action" do
before { put profile_path(profile) }
it "redirects to show path" do
current_path.should == user_path(user)
end
end