forked from AkkomaGang/akkoma
In general, tests that match these criteria can be made async: - Doesn't use real Cachex. - Doesn't write to the Config / Application Environment. - Uses Mock. Using Mox is fine. - Uses the streamer.
31 lines
1.1 KiB
Elixir
31 lines
1.1 KiB
Elixir
# Pleroma: A lightweight social networking server
|
|
# Copyright © 2017-2020 Pleroma Authors <https://pleroma.social/>
|
|
# SPDX-License-Identifier: AGPL-3.0-only
|
|
|
|
defmodule Pleroma.EctoType.ActivityPub.ObjectValidators.RecipientsTest do
|
|
alias Pleroma.EctoType.ActivityPub.ObjectValidators.Recipients
|
|
use Pleroma.DataCase, async: true
|
|
|
|
test "it asserts that all elements of the list are object ids" do
|
|
list = ["https://lain.com/users/lain", "invalid"]
|
|
|
|
assert :error == Recipients.cast(list)
|
|
end
|
|
|
|
test "it works with a list" do
|
|
list = ["https://lain.com/users/lain"]
|
|
assert {:ok, list} == Recipients.cast(list)
|
|
end
|
|
|
|
test "it works with a list with whole objects" do
|
|
list = ["https://lain.com/users/lain", %{"id" => "https://gensokyo.2hu/users/raymoo"}]
|
|
resulting_list = ["https://gensokyo.2hu/users/raymoo", "https://lain.com/users/lain"]
|
|
assert {:ok, resulting_list} == Recipients.cast(list)
|
|
end
|
|
|
|
test "it turns a single string into a list" do
|
|
recipient = "https://lain.com/users/lain"
|
|
|
|
assert {:ok, [recipient]} == Recipients.cast(recipient)
|
|
end
|
|
end
|