0
내가 고안 사용하고
에 대한 인증 된 사용자를 확인하고 특정 컨트롤러 액션 내가 고안의 문서를 통해 검토 한 결과 authenticate_user!
행동
에 의해 보호됩니다 내 사양에서 확인 할, 정말 간단하고 분명 내가 거기에 뭔가 느낌이 방법을 고안해내는 방법을 모르겠다.
this SO post을 기반으로 확인하려면 사양을 만들었지 만 작동하지 않는 것 같습니다. 내가 사양을 실행하면
, 내가 얻을 :
Failure/Error: expect(controller).to receive(:authenticate_user!)
(#<LibrariesController:0x000001035639f8>).authenticate_user!(*(any args))
expected: 1 time with any arguments
received: 0 times with any arguments
libraries_controller_spec.rb
require 'rails_helper'
RSpec.describe LibrariesController, type: :controller do
let(:valid_attributes) {
skip("Add a hash of attributes valid for your model")
}
let(:invalid_attributes) {
skip("Add a hash of attributes invalid for your model")
}
let(:valid_session) { {} }
describe "GET #index" do
it "should be authenticated" do
get :index, {}
expect(controller).to receive(:authenticate_user!)
end
end
end
그리고 컨트롤러 자체 :
libraries_controller.rb
class LibrariesController < ApplicationController
before_action :set_library, only: [:show, :edit, :update, :destroy]
before_action :authenticate_user!
# GET /libraries
# GET /libraries.json
def index
@libraries = Library.all
end
private
# Use callbacks to share common setup or constraints between actions.
def set_library
@library = Library.find(params[:id])
end
end