aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/mix/tasks/pleroma/frontend_test.exs25
-rw-r--r--test/pleroma/frontend_test.exs26
2 files changed, 51 insertions, 0 deletions
diff --git a/test/mix/tasks/pleroma/frontend_test.exs b/test/mix/tasks/pleroma/frontend_test.exs
index aa4b25ebb..db6a8a4dd 100644
--- a/test/mix/tasks/pleroma/frontend_test.exs
+++ b/test/mix/tasks/pleroma/frontend_test.exs
@@ -82,4 +82,29 @@ defmodule Mix.Tasks.Pleroma.FrontendTest do
assert File.exists?(Path.join([@dir, "frontends", "unknown", "baka", "test.txt"]))
end
+
+ describe "enable" do
+ setup do
+ clear_config(:configurable_from_database, true)
+ end
+
+ test "enabling a primary frontend" do
+ capture_io(fn -> Frontend.run(["enable", "soapbox-fe"]) end)
+
+ primary = Pleroma.Config.get([:frontends, :primary])
+ assert primary["name"] == "soapbox-fe"
+ end
+
+ test "enabling an admin frontend" do
+ capture_io(fn -> Frontend.run(["enable", "soapbox-fe", "--admin"]) end)
+
+ primary = Pleroma.Config.get([:frontends, :admin])
+ assert primary["name"] == "soapbox-fe"
+ end
+
+ test "raise if configurable_from_database is disabled" do
+ clear_config(:configurable_from_database, false)
+ assert_raise(RuntimeError, fn -> Frontend.run(["enable", "soapbox-fe"]) end)
+ end
+ end
end
diff --git a/test/pleroma/frontend_test.exs b/test/pleroma/frontend_test.exs
index 634487844..3cd30d121 100644
--- a/test/pleroma/frontend_test.exs
+++ b/test/pleroma/frontend_test.exs
@@ -133,4 +133,30 @@ defmodule Pleroma.FrontendTest do
assert Frontend.get_named_frontend("pleroma") == frontend
end
+
+ describe "enable/2" do
+ setup do
+ clear_config(:configurable_from_database, true)
+ end
+
+ test "enables a primary frontend" do
+ frontend = %Frontend{name: "soapbox", ref: "v1.2.3"}
+ map = Frontend.to_map(frontend)
+
+ clear_config([:frontends, :available], %{"soapbox" => map})
+ Frontend.enable(frontend, :primary)
+
+ assert Pleroma.Config.get([:frontends, :primary]) == map
+ end
+
+ test "enables an admin frontend" do
+ frontend = %Frontend{name: "admin-fe", ref: "develop"}
+ map = Frontend.to_map(frontend)
+
+ clear_config([:frontends, :available], %{"admin-fe" => map})
+ Frontend.enable(frontend, :admin)
+
+ assert Pleroma.Config.get([:frontends, :admin]) == map
+ end
+ end
end