logo

pleroma

My custom branche(s) on git.pleroma.social/pleroma/pleroma git clone https://hacktivis.me/git/pleroma.git

rename_instance_chat_test.exs (2243B)


  1. # Pleroma: A lightweight social networking server
  2. # Copyright © 2017-2022 Pleroma Authors <https://pleroma.social/>
  3. # SPDX-License-Identifier: AGPL-3.0-only
  4. defmodule Pleroma.Repo.Migrations.RenameInstanceChatTest do
  5. use Pleroma.DataCase
  6. import Pleroma.Factory
  7. import Pleroma.Tests.Helpers
  8. alias Pleroma.ConfigDB
  9. setup do: clear_config([:instance])
  10. setup do: clear_config([:chat])
  11. setup_all do: require_migration("20200806175913_rename_instance_chat")
  12. describe "up/0" do
  13. test "migrates chat settings to shout", %{migration: migration} do
  14. insert(:config, group: :pleroma, key: :instance, value: [chat_limit: 6000])
  15. insert(:config, group: :pleroma, key: :chat, value: [enabled: true])
  16. assert migration.up() == :ok
  17. assert ConfigDB.get_by_params(%{group: :pleroma, key: :chat}) == nil
  18. assert ConfigDB.get_by_params(%{group: :pleroma, key: :instance}) == nil
  19. assert ConfigDB.get_by_params(%{group: :pleroma, key: :shout}).value == [
  20. limit: 6000,
  21. enabled: true
  22. ]
  23. end
  24. test "does nothing when chat settings are not set", %{migration: migration} do
  25. assert migration.up() == :noop
  26. assert ConfigDB.get_by_params(%{group: :pleroma, key: :chat}) == nil
  27. assert ConfigDB.get_by_params(%{group: :pleroma, key: :shout}) == nil
  28. end
  29. end
  30. describe "down/0" do
  31. test "migrates shout settings back to instance and chat", %{migration: migration} do
  32. insert(:config, group: :pleroma, key: :shout, value: [limit: 42, enabled: true])
  33. assert migration.down() == :ok
  34. assert ConfigDB.get_by_params(%{group: :pleroma, key: :chat}).value == [enabled: true]
  35. assert ConfigDB.get_by_params(%{group: :pleroma, key: :instance}).value == [chat_limit: 42]
  36. assert ConfigDB.get_by_params(%{group: :pleroma, key: :shout}) == nil
  37. end
  38. test "does nothing when shout settings are not set", %{migration: migration} do
  39. assert migration.down() == :noop
  40. assert ConfigDB.get_by_params(%{group: :pleroma, key: :chat}) == nil
  41. assert ConfigDB.get_by_params(%{group: :pleroma, key: :instance}) == nil
  42. assert ConfigDB.get_by_params(%{group: :pleroma, key: :shout}) == nil
  43. end
  44. end
  45. end