Merge branch 'develop' of https://git.pleroma.social/pleroma/pleroma into feature...
[akkoma] / test / web / ostatus / user_representer_test.exs
index 02a4b5b141e6beb3e51559835c72efed7533dfc0..e41dfeb3d0f7f898653ceb3162b5d9010979dc9b 100644 (file)
@@ -3,15 +3,32 @@ defmodule Pleroma.Web.OStatus.UserRepresenterTest do
   alias Pleroma.Web.OStatus.UserRepresenter
 
   import Pleroma.Factory
+  alias Pleroma.User
 
   test "returns a user with id, uri, name and link" do
-    user = build(:user)
-    tuple = UserRepresenter.to_tuple(user)
-    {:author, author} = tuple
+    user = build(:user, nickname: "レイン")
+    tuple = UserRepresenter.to_simple_form(user)
 
-    [:id, :uri, :name, :link]
-    |> Enum.each(fn (tag) ->
-      assert Enum.find(author, fn(e) -> tag == elem(e, 0) end)
-    end)
+    res = :xmerl.export_simple_content(tuple, :xmerl_xml) |> to_string
+
+    expected = """
+    <id>#{user.ap_id}</id>
+    <activity:object>http://activitystrea.ms/schema/1.0/person</activity:object>
+    <uri>#{user.ap_id}</uri>
+    <poco:preferredUsername>#{user.nickname}</poco:preferredUsername>
+    <poco:displayName>#{user.name}</poco:displayName>
+    <poco:note>#{user.bio}</poco:note>
+    <summary>#{user.bio}</summary>
+    <name>#{user.nickname}</name>
+    <link rel="avatar" href="#{User.avatar_url(user)}" />
+    <link rel="header" href="#{User.banner_url(user)}" />
+    <ap_enabled>true</ap_enabled>
+    """
+
+    assert clean(res) == clean(expected)
+  end
+
+  defp clean(string) do
+    String.replace(string, ~r/\s/, "")
   end
 end