1 defmodule Pleroma.Repo.Migrations.RenameInstanceChatTest do
4 import Pleroma.Tests.Helpers
7 setup do: clear_config([:instance])
8 setup do: clear_config([:chat])
9 setup_all do: require_migration("20200806175913_rename_instance_chat")
12 test "migrates chat settings to shout", %{migration: migration} do
13 insert(:config, group: :pleroma, key: :instance, value: [chat_limit: 6000])
14 insert(:config, group: :pleroma, key: :chat, value: [enabled: true])
16 assert migration.up() == :ok
18 assert ConfigDB.get_by_params(%{group: :pleroma, key: :chat}) == nil
19 assert ConfigDB.get_by_params(%{group: :pleroma, key: :instance}) == nil
21 assert ConfigDB.get_by_params(%{group: :pleroma, key: :shout}).value == [
27 test "does nothing when chat settings are not set", %{migration: migration} do
28 assert migration.up() == :noop
29 assert ConfigDB.get_by_params(%{group: :pleroma, key: :chat}) == nil
30 assert ConfigDB.get_by_params(%{group: :pleroma, key: :shout}) == nil
35 test "migrates shout settings back to instance and chat", %{migration: migration} do
36 insert(:config, group: :pleroma, key: :shout, value: [limit: 42, enabled: true])
38 assert migration.down() == :ok
40 assert ConfigDB.get_by_params(%{group: :pleroma, key: :chat}).value == [enabled: true]
41 assert ConfigDB.get_by_params(%{group: :pleroma, key: :instance}).value == [chat_limit: 42]
42 assert ConfigDB.get_by_params(%{group: :pleroma, key: :shout}) == nil
45 test "does nothing when shout settings are not set", %{migration: migration} do
46 assert migration.down() == :noop
47 assert ConfigDB.get_by_params(%{group: :pleroma, key: :chat}) == nil
48 assert ConfigDB.get_by_params(%{group: :pleroma, key: :instance}) == nil
49 assert ConfigDB.get_by_params(%{group: :pleroma, key: :shout}) == nil