21fdee1abc95128f988266239fd63e689aa3ae04
[anni] / test / pleroma / repo / migrations / fix_legacy_tags_test.exs
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
5 defmodule Pleroma.Repo.Migrations.FixLegacyTagsTest do
6   alias Pleroma.User
7   use Pleroma.DataCase, async: true
8   import Pleroma.Factory
9   import Pleroma.Tests.Helpers
10
11   setup_all do: require_migration("20200802170532_fix_legacy_tags")
12
13   test "change/0 converts legacy user tags into correct values", %{migration: migration} do
14     user = insert(:user, tags: ["force_nsfw", "force_unlisted", "verified"])
15     user2 = insert(:user)
16
17     assert :ok == migration.change()
18
19     fixed_user = User.get_by_id(user.id)
20     fixed_user2 = User.get_by_id(user2.id)
21
22     assert fixed_user.tags == ["mrf_tag:media-force-nsfw", "mrf_tag:force-unlisted", "verified"]
23     assert fixed_user2.tags == []
24
25     # user2 should not have been updated
26     assert fixed_user2.updated_at == fixed_user2.inserted_at
27   end
28 end