Контроллер:
class SessionsController < ApplicationController
layout 'login'
def create
user = login(params[:username], params[:password])
if user
redirect_back_or_to root_url
else
flash.now.alert = "Username or password was invalid"
render :new
end
end
end
Тест:
require 'spec_helper'
describe SessionsController do
describe "POST create" do
before(:each) { Fabricate(:school) }
it "Should log me in" do
post(:create, {'password' => 'Secret', 'username' => 'director'})
response.should redirect_to('/')
end
end
end
Fabricate(:school)
имеет обратный вызов, который генерирует первого пользователя. Я хочу реорганизовать этот код, чтобы он вообще не использовал вызовы базы данных. Я хочу заблокировать входящий вызов, чтобы он вернул истину.
Как я мог заглушить метод login
? Это происходит от Волшебства.
https://github.com/NoamB/sorcery/blob/master/lib/sorcery/controller.rb#L31