defmodule LivebookWeb.FileSelectComponentTest do use LivebookWeb.ConnCase, async: true import Phoenix.LiveViewTest import Livebook.TestHelpers alias Livebook.FileSystem alias LivebookWeb.FileSelectComponent test "when the path has a trailing slash, lists that directory" do file = FileSystem.File.local(notebooks_path() <> "/") assert render_component(FileSelectComponent, attrs(file: file)) =~ "basic.livemd" assert render_component(FileSelectComponent, attrs(file: file)) =~ ".." end test "when the path has no trailing slash, lists the parent directory" do file = FileSystem.File.local(notebooks_path()) assert render_component(FileSelectComponent, attrs(file: file)) =~ "notebooks" end test "does not show parent directory when in root" do file = FileSystem.File.local(p("/")) refute render_component(FileSelectComponent, attrs(file: file)) =~ ".." end defp attrs(attrs) do Keyword.merge( [ id: 1, file: FileSystem.File.local(p("/")), extnames: [".livemd"], running_files: [] ], attrs ) end defp notebooks_path() do Path.expand("../../support/notebooks", __DIR__) end end