Deviseをセットアップして、これを使用してコントローラーの仕様を記述できるようにします。次に、ユーザーが自分のアカウントを削除できないようにDeviseを設定します。
ここで、コントローラーがDeviseユーザーの破棄アクションを呼び出せないようにするための仕様を作成します。これを書くにはどうすればよいですか?
私のコントローラーでは、Deviseの部分は次のようになります
devise_for :users, skip: :registrations do
resource :registration,
only: [:new, :create, :edit, :update],
path: 'users',
path_names: { new: 'sign_up' },
controller: 'devise/registrations',
as: :user_registration do
get :cancel
end
end
私の仕様では、次のことを実行しようとしていますが、機能しません。私はそれを正しく書いているかどうかさえわかりません。アクセスしようとしているページが間違っていると思います。
describe UsersController do
login_user # from devise controller helper
it "does not allow deleting of user" do
get :users, :method => :delete
# assert here user was not deleted
end
end