Rails - создание и отправка пропущенного повара ie в тестовом контроллере - PullRequest
0 голосов
/ 14 апреля 2020

У меня есть простой контроллер 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
...