diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/mix/tasks/pleroma/frontend_test.exs | 25 | ||||
-rw-r--r-- | test/pleroma/frontend_test.exs | 26 |
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 |