Remote Timeline: add Streaming support
[akkoma] / test / plugs / frontend_static_test.exs
index d11d91d78ff8f1bf0e10a8516c6140fcdba46928..6f49230481e80763475e0909ff973cc2c57ba69f 100644 (file)
@@ -3,6 +3,7 @@
 # SPDX-License-Identifier: AGPL-3.0-only
 
 defmodule Pleroma.Web.FrontendStaticPlugTest do
+  alias Pleroma.Plugs.FrontendStatic
   use Pleroma.Web.ConnCase
 
   @dir "test/tmp/instance_static"
@@ -14,6 +15,18 @@ defmodule Pleroma.Web.FrontendStaticPlugTest do
 
   setup do: clear_config([:instance, :static_dir], @dir)
 
+  test "init will give a static plug config + the frontend type" do
+    opts =
+      [
+        at: "/admin",
+        frontend_type: :admin
+      ]
+      |> FrontendStatic.init()
+
+    assert opts[:at] == ["admin"]
+    assert opts[:frontend_type] == :admin
+  end
+
   test "overrides existing static files", %{conn: conn} do
     name = "pelmora"
     ref = "uguu"
@@ -27,4 +40,18 @@ defmodule Pleroma.Web.FrontendStaticPlugTest do
     index = get(conn, "/")
     assert html_response(index, 200) == "from frontend plug"
   end
+
+  test "overrides existing static files for the `pleroma/admin` path", %{conn: conn} do
+    name = "pelmora"
+    ref = "uguu"
+
+    clear_config([:frontends, :admin], %{"name" => name, "ref" => ref})
+    path = "#{@dir}/frontends/#{name}/#{ref}"
+
+    File.mkdir_p!(path)
+    File.write!("#{path}/index.html", "from frontend plug")
+
+    index = get(conn, "/pleroma/admin/")
+    assert html_response(index, 200) == "from frontend plug"
+  end
 end