Why do I need to manually checkout the connection when using a dynamic repo in tests?

If that’s the case, then the documentation is wrong and should be updated.

However, looking at the code, it seems that it calls the checkout function with :ok = checkout(repo, opts):

  def start_owner!(repo, opts \\ []) do
    parent = self()

    {:ok, pid} =
      Agent.start(fn ->
        {shared, opts} = Keyword.pop(opts, :shared, false)
        :ok = checkout(repo, opts)

        if shared do
          :ok = mode(repo, {:shared, self()})
        else
          :ok = allow(repo, self(), parent)
        end
      end)

    pid
  end

That’s what I’m doing in my setup, so I’m a bit confused.