У меня есть простой контроллер rails, который требует аутентификации, предоставляемой через подписанного повара ie с именем auth
.
Я не могу понять, как построить значение подписанного ключа повара ie изнутри тест. Обычно значение INSERT_SIGNED_COOKIE_HERE
будет примерно таким: auth=eyJfcmFpbHMiOnsibWVzc...
.
В моем sessions_controller.rb
, который устанавливает повара ie, это значение волшебным образом создается с помощью cookies.signed[:auth] = user.id
Мой тест в настоящее время похож на следующий фрагмент:
class RecipesControllerTest < ActionDispatch::IntegrationTest
test "should create recipe" do
assert_difference("Recipe.count") do
post app_recipes_url, params: {
recipe: { name: "Spaghetti", instructions: "Here are some instructions", servings: 1 },
},
headers: {
Cookie: INSERT_SIGNED_COOKIE_HERE,
}
end
assert_redirected_to app_recipe_path(Recipe.last)
end
end