logo

pleroma

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

move_welcome_settings_test.exs (4465B)


  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.MoveWelcomeSettingsTest do
  5. use Pleroma.DataCase, async: true
  6. import Pleroma.Factory
  7. import Pleroma.Tests.Helpers
  8. alias Pleroma.ConfigDB
  9. setup_all do: require_migration("20200724133313_move_welcome_settings")
  10. describe "up/0" do
  11. test "converts welcome settings", %{migration: migration} do
  12. insert(:config,
  13. group: :pleroma,
  14. key: :instance,
  15. value: [
  16. welcome_message: "Test message",
  17. welcome_user_nickname: "jimm",
  18. name: "Pleroma"
  19. ]
  20. )
  21. migration.up()
  22. instance_config = ConfigDB.get_by_params(%{group: :pleroma, key: :instance})
  23. welcome_config = ConfigDB.get_by_params(%{group: :pleroma, key: :welcome})
  24. assert instance_config.value == [name: "Pleroma"]
  25. assert welcome_config.value == [
  26. direct_message: %{
  27. enabled: true,
  28. message: "Test message",
  29. sender_nickname: "jimm"
  30. },
  31. email: %{
  32. enabled: false,
  33. html: "Welcome to <%= instance_name %>",
  34. sender: nil,
  35. subject: "Welcome to <%= instance_name %>",
  36. text: "Welcome to <%= instance_name %>"
  37. }
  38. ]
  39. end
  40. test "does nothing when message empty", %{migration: migration} do
  41. insert(:config,
  42. group: :pleroma,
  43. key: :instance,
  44. value: [
  45. welcome_message: "",
  46. welcome_user_nickname: "jimm",
  47. name: "Pleroma"
  48. ]
  49. )
  50. migration.up()
  51. instance_config = ConfigDB.get_by_params(%{group: :pleroma, key: :instance})
  52. refute ConfigDB.get_by_params(%{group: :pleroma, key: :welcome})
  53. assert instance_config.value == [name: "Pleroma"]
  54. end
  55. test "does nothing when welcome_message not set", %{migration: migration} do
  56. insert(:config,
  57. group: :pleroma,
  58. key: :instance,
  59. value: [welcome_user_nickname: "jimm", name: "Pleroma"]
  60. )
  61. migration.up()
  62. instance_config = ConfigDB.get_by_params(%{group: :pleroma, key: :instance})
  63. refute ConfigDB.get_by_params(%{group: :pleroma, key: :welcome})
  64. assert instance_config.value == [name: "Pleroma"]
  65. end
  66. end
  67. describe "down/0" do
  68. test "revert new settings to old when instance setting not exists", %{migration: migration} do
  69. insert(:config,
  70. group: :pleroma,
  71. key: :welcome,
  72. value: [
  73. direct_message: %{
  74. enabled: true,
  75. message: "Test message",
  76. sender_nickname: "jimm"
  77. },
  78. email: %{
  79. enabled: false,
  80. html: "Welcome to <%= instance_name %>",
  81. sender: nil,
  82. subject: "Welcome to <%= instance_name %>",
  83. text: "Welcome to <%= instance_name %>"
  84. }
  85. ]
  86. )
  87. migration.down()
  88. refute ConfigDB.get_by_params(%{group: :pleroma, key: :welcome})
  89. instance_config = ConfigDB.get_by_params(%{group: :pleroma, key: :instance})
  90. assert instance_config.value == [
  91. welcome_user_nickname: "jimm",
  92. welcome_message: "Test message"
  93. ]
  94. end
  95. test "revert new settings to old when instance setting exists", %{migration: migration} do
  96. insert(:config, group: :pleroma, key: :instance, value: [name: "Pleroma App"])
  97. insert(:config,
  98. group: :pleroma,
  99. key: :welcome,
  100. value: [
  101. direct_message: %{
  102. enabled: true,
  103. message: "Test message",
  104. sender_nickname: "jimm"
  105. },
  106. email: %{
  107. enabled: false,
  108. html: "Welcome to <%= instance_name %>",
  109. sender: nil,
  110. subject: "Welcome to <%= instance_name %>",
  111. text: "Welcome to <%= instance_name %>"
  112. }
  113. ]
  114. )
  115. migration.down()
  116. refute ConfigDB.get_by_params(%{group: :pleroma, key: :welcome})
  117. instance_config = ConfigDB.get_by_params(%{group: :pleroma, key: :instance})
  118. assert instance_config.value == [
  119. name: "Pleroma App",
  120. welcome_user_nickname: "jimm",
  121. welcome_message: "Test message"
  122. ]
  123. end
  124. end
  125. end