1 # Pleroma: A lightweight social networking server
2 # Copyright © 2017-2021 Pleroma Authors <https://pleroma.social/>
3 # SPDX-License-Identifier: AGPL-3.0-only
5 defmodule Pleroma.User.ImportTest do
6 alias Pleroma.Tests.ObanHelpers
10 use Oban.Testing, repo: Pleroma.Repo
12 import Pleroma.Factory
15 Tesla.Mock.mock_global(fn env -> apply(HttpRequestMock, :request, [env]) end)
19 describe "follow_import" do
20 test "it imports user followings from list" do
21 [user1, user2, user3] = insert_list(3, :user)
28 {:ok, job} = User.Import.follow_import(user1, identifiers)
30 assert {:ok, result} = ObanHelpers.perform(job)
31 assert is_list(result)
32 assert result == [refresh_record(user2), refresh_record(user3)]
33 assert User.following?(user1, user2)
34 assert User.following?(user1, user3)
38 describe "blocks_import" do
39 test "it imports user blocks from list" do
40 [user1, user2, user3] = insert_list(3, :user)
47 {:ok, job} = User.Import.blocks_import(user1, identifiers)
49 assert {:ok, result} = ObanHelpers.perform(job)
50 assert is_list(result)
51 assert result == [user2, user3]
52 assert User.blocks?(user1, user2)
53 assert User.blocks?(user1, user3)
57 describe "mutes_import" do
58 test "it imports user mutes from list" do
59 [user1, user2, user3] = insert_list(3, :user)
66 {:ok, job} = User.Import.mutes_import(user1, identifiers)
68 assert {:ok, result} = ObanHelpers.perform(job)
69 assert is_list(result)
70 assert result == [user2, user3]
71 assert User.mutes?(user1, user2)
72 assert User.mutes?(user1, user3)