Я новичок в MiniTest. Большинство тестов легко понять, поскольку это код Ruby, а также читаемость в стиле Rspec. Однако у меня проблемы с аутентификацией. Как и в любом приложении, большинство контроллеров скрыты за какой-то аутентификацией, наиболее распространенным из которых является authenticate_user
, чтобы гарантировать, что пользователь выполнил вход.MiniTest Authentication
Как я могу проверить session
-> пользователь вошел в систему? Я использую аутентификацию с нуля, а не разрабатываю.
У меня есть это в качестве ссылки: https://github.com/chriskottom/minitest_cookbook_source/blob/master/minishop/test/support/session_helpers.rb
Но не совсем уверен, как это осуществить.
Давайте использовать это в качестве примера контроллера:
class ProductsController < ApplicationController
before_action :authenticate_user
def index
@products = Product.all
end
def show
@product = Product.find(params[:id])
end
end
Как бы мой тест взгляд в этих основных случаях?
test "it should GET products index" do
# insert code to check authenticate_user
get :index
assert_response :success
end
test "it should GET products show" do
# insert code to check authenticate_user
get :show
assert_response :success
end
#refactor so logged in only has to be defined once across controllers.
Что относительно индексных страниц? – miler350
Я не вижу никакой разницы 'get (: index, {}, {'user_id' => 5})' – Oleg