akkoma/test/web/ostatus/user_representer_test.exs

39 lines
1.2 KiB
Elixir
Raw Normal View History

2018-12-23 20:11:29 +00:00
# Pleroma: A lightweight social networking server
# Copyright © 2017-2018 Pleroma Authors <https://pleroma.social/>
# SPDX-License-Identifier: AGPL-3.0-only
2017-04-17 12:12:36 +00:00
defmodule Pleroma.Web.OStatus.UserRepresenterTest do
use Pleroma.DataCase
alias Pleroma.Web.OStatus.UserRepresenter
import Pleroma.Factory
2017-04-18 16:41:51 +00:00
alias Pleroma.User
2017-04-17 12:12:36 +00:00
test "returns a user with id, uri, name and link" do
2018-11-28 23:25:43 +00:00
user = insert(:user, %{nickname: "レイン"})
2017-04-18 16:41:51 +00:00
tuple = UserRepresenter.to_simple_form(user)
2017-04-17 12:12:36 +00:00
2017-04-22 13:34:29 +00:00
res = :xmerl.export_simple_content(tuple, :xmerl_xml) |> to_string
2017-04-18 16:41:51 +00:00
expected = """
<id>#{user.ap_id}</id>
<activity:object>http://activitystrea.ms/schema/1.0/person</activity:object>
<uri>#{user.ap_id}</uri>
2017-04-22 13:11:13 +00:00
<poco:preferredUsername>#{user.nickname}</poco:preferredUsername>
<poco:displayName>#{user.name}</poco:displayName>
<poco:note>#{user.bio}</poco:note>
<summary>#{user.bio}</summary>
2017-04-18 16:41:51 +00:00
<name>#{user.nickname}</name>
<link rel="avatar" href="#{User.avatar_url(user)}" />
<link rel="header" href="#{User.banner_url(user)}" />
2018-02-24 12:06:53 +00:00
<ap_enabled>true</ap_enabled>
2017-04-18 16:41:51 +00:00
"""
assert clean(res) == clean(expected)
end
defp clean(string) do
String.replace(string, ~r/\s/, "")
2017-04-17 12:12:36 +00:00
end
end