diff options
| author | lain <lain@soykaf.club> | 2020-08-28 12:17:19 +0000 | 
|---|---|---|
| committer | lain <lain@soykaf.club> | 2020-08-28 12:17:19 +0000 | 
| commit | 73dd5bdb7dcdf804bdbabcf632671d4de5042ebc (patch) | |
| tree | efcb0b8e68f86d067de98a23f40a24c7dab79d2f /test/migrations/20200724133313_move_welcome_settings_test.exs | |
| parent | f891e2b2f1d1daa122b9856e4b660be394d31e34 (diff) | |
| parent | b141e35d641e733dffe7bd6a45a5bbcafe586c56 (diff) | |
| download | pleroma-73dd5bdb7dcdf804bdbabcf632671d4de5042ebc.tar.gz pleroma-73dd5bdb7dcdf804bdbabcf632671d4de5042ebc.zip  | |
Merge branch 'release/2.1.0' into 'stable'
Release/2.1.0
See merge request pleroma/pleroma!2927
Diffstat (limited to 'test/migrations/20200724133313_move_welcome_settings_test.exs')
| -rw-r--r-- | test/migrations/20200724133313_move_welcome_settings_test.exs | 140 | 
1 files changed, 140 insertions, 0 deletions
diff --git a/test/migrations/20200724133313_move_welcome_settings_test.exs b/test/migrations/20200724133313_move_welcome_settings_test.exs new file mode 100644 index 000000000..739f24547 --- /dev/null +++ b/test/migrations/20200724133313_move_welcome_settings_test.exs @@ -0,0 +1,140 @@ +defmodule Pleroma.Repo.Migrations.MoveWelcomeSettingsTest do +  use Pleroma.DataCase +  import Pleroma.Factory +  import Pleroma.Tests.Helpers +  alias Pleroma.ConfigDB + +  setup_all do: require_migration("20200724133313_move_welcome_settings") + +  describe "up/0" do +    test "converts welcome settings", %{migration: migration} do +      insert(:config, +        group: :pleroma, +        key: :instance, +        value: [ +          welcome_message: "Test message", +          welcome_user_nickname: "jimm", +          name: "Pleroma" +        ] +      ) + +      migration.up() +      instance_config = ConfigDB.get_by_params(%{group: :pleroma, key: :instance}) +      welcome_config = ConfigDB.get_by_params(%{group: :pleroma, key: :welcome}) + +      assert instance_config.value == [name: "Pleroma"] + +      assert welcome_config.value == [ +               direct_message: %{ +                 enabled: true, +                 message: "Test message", +                 sender_nickname: "jimm" +               }, +               email: %{ +                 enabled: false, +                 html: "Welcome to <%= instance_name %>", +                 sender: nil, +                 subject: "Welcome to <%= instance_name %>", +                 text: "Welcome to <%= instance_name %>" +               } +             ] +    end + +    test "does nothing when message empty", %{migration: migration} do +      insert(:config, +        group: :pleroma, +        key: :instance, +        value: [ +          welcome_message: "", +          welcome_user_nickname: "jimm", +          name: "Pleroma" +        ] +      ) + +      migration.up() +      instance_config = ConfigDB.get_by_params(%{group: :pleroma, key: :instance}) +      refute ConfigDB.get_by_params(%{group: :pleroma, key: :welcome}) +      assert instance_config.value == [name: "Pleroma"] +    end + +    test "does nothing when welcome_message not set", %{migration: migration} do +      insert(:config, +        group: :pleroma, +        key: :instance, +        value: [welcome_user_nickname: "jimm", name: "Pleroma"] +      ) + +      migration.up() +      instance_config = ConfigDB.get_by_params(%{group: :pleroma, key: :instance}) +      refute ConfigDB.get_by_params(%{group: :pleroma, key: :welcome}) +      assert instance_config.value == [name: "Pleroma"] +    end +  end + +  describe "down/0" do +    test "revert new settings to old when instance setting not exists", %{migration: migration} do +      insert(:config, +        group: :pleroma, +        key: :welcome, +        value: [ +          direct_message: %{ +            enabled: true, +            message: "Test message", +            sender_nickname: "jimm" +          }, +          email: %{ +            enabled: false, +            html: "Welcome to <%= instance_name %>", +            sender: nil, +            subject: "Welcome to <%= instance_name %>", +            text: "Welcome to <%= instance_name %>" +          } +        ] +      ) + +      migration.down() + +      refute ConfigDB.get_by_params(%{group: :pleroma, key: :welcome}) +      instance_config = ConfigDB.get_by_params(%{group: :pleroma, key: :instance}) + +      assert instance_config.value == [ +               welcome_user_nickname: "jimm", +               welcome_message: "Test message" +             ] +    end + +    test "revert new settings to old when instance setting exists", %{migration: migration} do +      insert(:config, group: :pleroma, key: :instance, value: [name: "Pleroma App"]) + +      insert(:config, +        group: :pleroma, +        key: :welcome, +        value: [ +          direct_message: %{ +            enabled: true, +            message: "Test message", +            sender_nickname: "jimm" +          }, +          email: %{ +            enabled: false, +            html: "Welcome to <%= instance_name %>", +            sender: nil, +            subject: "Welcome to <%= instance_name %>", +            text: "Welcome to <%= instance_name %>" +          } +        ] +      ) + +      migration.down() + +      refute ConfigDB.get_by_params(%{group: :pleroma, key: :welcome}) +      instance_config = ConfigDB.get_by_params(%{group: :pleroma, key: :instance}) + +      assert instance_config.value == [ +               name: "Pleroma App", +               welcome_user_nickname: "jimm", +               welcome_message: "Test message" +             ] +    end +  end +end  | 
