diff options
Diffstat (limited to 'test/web')
| -rw-r--r-- | test/web/admin_api/controllers/admin_api_controller_test.exs | 10 | ||||
| -rw-r--r-- | test/web/admin_api/controllers/config_controller_test.exs | 69 | 
2 files changed, 74 insertions, 5 deletions
| diff --git a/test/web/admin_api/controllers/admin_api_controller_test.exs b/test/web/admin_api/controllers/admin_api_controller_test.exs index 7f0f02605..eca9272e0 100644 --- a/test/web/admin_api/controllers/admin_api_controller_test.exs +++ b/test/web/admin_api/controllers/admin_api_controller_test.exs @@ -439,7 +439,7 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIControllerTest do        user1: user1,        user2: user2      } do -      assert json_response(conn, :no_content) +      assert empty_json_response(conn)        assert User.get_cached_by_id(user1.id).tags == ["x", "foo", "bar"]        assert User.get_cached_by_id(user2.id).tags == ["y", "foo", "bar"] @@ -457,7 +457,7 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIControllerTest do      end      test "it does not modify tags of not specified users", %{conn: conn, user3: user3} do -      assert json_response(conn, :no_content) +      assert empty_json_response(conn)        assert User.get_cached_by_id(user3.id).tags == ["unchanged"]      end    end @@ -485,7 +485,7 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIControllerTest do        user1: user1,        user2: user2      } do -      assert json_response(conn, :no_content) +      assert empty_json_response(conn)        assert User.get_cached_by_id(user1.id).tags == []        assert User.get_cached_by_id(user2.id).tags == ["y"] @@ -503,7 +503,7 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIControllerTest do      end      test "it does not modify tags of not specified users", %{conn: conn, user3: user3} do -      assert json_response(conn, :no_content) +      assert empty_json_response(conn)        assert User.get_cached_by_id(user3.id).tags == ["unchanged"]      end    end @@ -1777,7 +1777,7 @@ defmodule Pleroma.Web.AdminAPI.AdminAPIControllerTest do        conn =          patch(conn, "/api/pleroma/admin/users/force_password_reset", %{nicknames: [user.nickname]}) -      assert json_response(conn, 204) == "" +      assert empty_json_response(conn) == ""        ObanHelpers.perform_all() diff --git a/test/web/admin_api/controllers/config_controller_test.exs b/test/web/admin_api/controllers/config_controller_test.exs index 61bc9fd39..4e897455f 100644 --- a/test/web/admin_api/controllers/config_controller_test.exs +++ b/test/web/admin_api/controllers/config_controller_test.exs @@ -1342,6 +1342,75 @@ defmodule Pleroma.Web.AdminAPI.ConfigControllerTest do                 args: ["auto-orient", "strip", {"implode", "1"}, {"resize", "3840x1080>"}]               ]      end + +    test "enables the welcome messages", %{conn: conn} do +      clear_config([:welcome]) + +      params = %{ +        "group" => ":pleroma", +        "key" => ":welcome", +        "value" => [ +          %{ +            "tuple" => [ +              ":direct_message", +              [ +                %{"tuple" => [":enabled", true]}, +                %{"tuple" => [":message", "Welcome to Pleroma!"]}, +                %{"tuple" => [":sender_nickname", "pleroma"]} +              ] +            ] +          }, +          %{ +            "tuple" => [ +              ":chat_message", +              [ +                %{"tuple" => [":enabled", true]}, +                %{"tuple" => [":message", "Welcome to Pleroma!"]}, +                %{"tuple" => [":sender_nickname", "pleroma"]} +              ] +            ] +          }, +          %{ +            "tuple" => [ +              ":email", +              [ +                %{"tuple" => [":enabled", true]}, +                %{"tuple" => [":sender", %{"tuple" => ["pleroma@dev.dev", "Pleroma"]}]}, +                %{"tuple" => [":subject", "Welcome to <%= instance_name %>!"]}, +                %{"tuple" => [":html", "Welcome to <%= instance_name %>!"]}, +                %{"tuple" => [":text", "Welcome to <%= instance_name %>!"]} +              ] +            ] +          } +        ] +      } + +      refute Pleroma.User.WelcomeEmail.enabled?() +      refute Pleroma.User.WelcomeMessage.enabled?() +      refute Pleroma.User.WelcomeChatMessage.enabled?() + +      res = +        assert conn +               |> put_req_header("content-type", "application/json") +               |> post("/api/pleroma/admin/config", %{"configs" => [params]}) +               |> json_response_and_validate_schema(200) + +      assert Pleroma.User.WelcomeEmail.enabled?() +      assert Pleroma.User.WelcomeMessage.enabled?() +      assert Pleroma.User.WelcomeChatMessage.enabled?() + +      assert res == %{ +               "configs" => [ +                 %{ +                   "db" => [":direct_message", ":chat_message", ":email"], +                   "group" => ":pleroma", +                   "key" => ":welcome", +                   "value" => params["value"] +                 } +               ], +               "need_reboot" => false +             } +    end    end    describe "GET /api/pleroma/admin/config/descriptions" do | 
