私はRubyとRailsの初心者ですから、Michael HartlのRailsチュートリアルを勉強中です。私は第9章、エクササイズ#9で立ち往生しています。これは私が管理者がログインしているときCURRENT_USERへのリンクを「削除」を追加し、ブラウザでテストするときに動作するようですRubyチュートリアルCh9演習#9 - 管理者が自分自身を削除することを許可しない
def destroy
user = User.find(params[:id])
if (current_user == user) && (current_user.admin?)
flash[:error] = "Can not delete own admin account!"
else
user.destroy
flash[:success] = "User destroyed."
end
redirect_to users_path
end
しかし、運動は言う:私はDEFにユーザーコントローラーのコードを破壊を更新しました。最初にテストを書く - 私はやったが、うまくいかない。ここで私はテストのために持っているものです。
describe "as admin user" do
let(:user_admin) { FactoryGirl.create(:admin) }
before { sign_in user_admin }
describe "submitting a DELETE request to destroy own admin account" do
before { delete user_path(user_admin) }
it { should have_selector('div.alert.alert-error', text: 'delete own admin') }
end
end
はたぶん私がテストしてい何をテストすべきではありません。ユーザーコントローラーのdef destroyコードの変更をどのようにテストしますか?
私はあなたが第9章エクササイズ10を意味している可能性が信じている - 少なくともそれはそれは、今日のようにライブバージョンのように表示されるものです。 – eblume