test "it adds emoji in the object" do
user = insert(:user)
- {:ok, activity} = CommonAPI.post(user, %{"status" => ":moominmamma:"})
+ {:ok, activity} = CommonAPI.post(user, %{"status" => ":firefox:"})
- assert activity.data["object"]["emoji"]["moominmamma"]
+ assert Object.normalize(activity).data["emoji"]["firefox"]
end
test "it adds emoji when updating profiles" do
- user = insert(:user, %{name: ":karjalanpiirakka:"})
+ user = insert(:user, %{name: ":firefox:"})
CommonAPI.update(user)
user = User.get_cached_by_ap_id(user.ap_id)
- [karjalanpiirakka] = user.info.source_data["tag"]
+ [firefox] = user.info.source_data["tag"]
- assert karjalanpiirakka["name"] == ":karjalanpiirakka:"
+ assert firefox["name"] == ":firefox:"
end
describe "posting" do
assert object.data["content"] == "<p><b>2hu</b></p>alert('xss')"
end
+
+ test "it does not allow replies to direct messages that are not direct messages themselves" do
+ user = insert(:user)
+
+ {:ok, activity} = CommonAPI.post(user, %{"status" => "suya..", "visibility" => "direct"})
+
+ assert {:ok, _} =
+ CommonAPI.post(user, %{
+ "status" => "suya..",
+ "visibility" => "direct",
+ "in_reply_to_status_id" => activity.id
+ })
+
+ Enum.each(["public", "private", "unlisted"], fn visibility ->
+ assert {:error, {:private_to_public, _}} =
+ CommonAPI.post(user, %{
+ "status" => "suya..",
+ "visibility" => visibility,
+ "in_reply_to_status_id" => activity.id
+ })
+ end)
+ end
end
describe "reactions" do