test "A user with emoji in username", %{user: user} do
expected =
- "<img height='32px' width='32px' alt='karjalanpiirakka' title='karjalanpiirakka' src='/file.png' /> man"
+ "<img height=\"32px\" width=\"32px\" alt=\"karjalanpiirakka\" title=\"karjalanpiirakka\" src=\"/file.png\" /> man"
user = %{
user
"background_image" => nil,
"is_local" => true,
"locked" => false,
- "default_scope" => "public"
+ "default_scope" => "public",
+ "no_rich_text" => false,
+ "fields" => []
}
assert represented == UserView.render("show.json", %{user: user})
"background_image" => nil,
"is_local" => true,
"locked" => false,
- "default_scope" => "public"
+ "default_scope" => "public",
+ "no_rich_text" => false,
+ "fields" => []
}
assert represented == UserView.render("show.json", %{user: user, for: follower})
"background_image" => nil,
"is_local" => true,
"locked" => false,
- "default_scope" => "public"
+ "default_scope" => "public",
+ "no_rich_text" => false,
+ "fields" => []
}
assert represented == UserView.render("show.json", %{user: follower, for: user})
"background_image" => nil,
"is_local" => true,
"locked" => false,
- "default_scope" => "public"
+ "default_scope" => "public",
+ "no_rich_text" => false,
+ "fields" => []
}
blocker = Repo.get(User, blocker.id)
assert represented == UserView.render("show.json", %{user: user, for: blocker})
end
+
+ test "a user with mastodon fields" do
+ fields = [
+ %{
+ "name" => "Pronouns",
+ "value" => "she/her"
+ },
+ %{
+ "name" => "Website",
+ "value" => "https://example.org/"
+ }
+ ]
+
+ user =
+ insert(:user, %{
+ info: %{
+ "source_data" => %{
+ "attachment" =>
+ Enum.map(fields, fn field -> Map.put(field, "type", "PropertyValue") end)
+ }
+ }
+ })
+
+ userview = UserView.render("show.json", %{user: user})
+ assert userview["fields"] == fields
+ end
end