summaryrefslogtreecommitdiff
path: root/test/web
diff options
context:
space:
mode:
authorRoger Braun <roger@rogerbraun.net>2017-05-02 17:13:41 +0200
committerRoger Braun <roger@rogerbraun.net>2017-05-02 17:13:41 +0200
commit102455bf296165a88578a04f0ded259c32349d7f (patch)
tree63c5d2894fa893093a5324dc3ff19f1f962c297d /test/web
parent945b4b55e651341ae9452c9799f432ec2de11787 (diff)
downloadpleroma-102455bf296165a88578a04f0ded259c32349d7f.tar.gz
pleroma-102455bf296165a88578a04f0ded259c32349d7f.zip
Add avatar updating from incoming messages.
Diffstat (limited to 'test/web')
-rw-r--r--test/web/ostatus/ostatus_test.exs20
1 files changed, 20 insertions, 0 deletions
diff --git a/test/web/ostatus/ostatus_test.exs b/test/web/ostatus/ostatus_test.exs
index 3951dbc9c..1674edbd5 100644
--- a/test/web/ostatus/ostatus_test.exs
+++ b/test/web/ostatus/ostatus_test.exs
@@ -1,6 +1,7 @@
defmodule Pleroma.Web.OStatusTest do
use Pleroma.DataCase
alias Pleroma.Web.OStatus
+ alias Pleroma.Web.XML
test "don't insert create notes twice" do
incoming = File.read!("test/fixtures/incoming_note_activity.xml")
@@ -71,6 +72,25 @@ defmodule Pleroma.Web.OStatusTest do
assert user == user_again
end
+
+ test "find_make_or_update_user takes an author element and returns an updated user" do
+ # TODO make test local
+ uri = "https://social.heldscal.la/user/23211"
+
+ {:ok, user} = OStatus.find_or_make_user(uri)
+ change = Ecto.Changeset.change(user, %{avatar: nil})
+
+ {:ok, user} = Repo.update(change)
+ refute user.avatar
+
+ doc = XML.parse_document(File.read!("test/fixtures/23211.atom"))
+ [author] = :xmerl_xpath.string('//author[1]', doc)
+ {:ok, user} = OStatus.find_make_or_update_user(author)
+ assert user.avatar["type"] == "Image"
+
+ {:ok, user_again} = OStatus.find_make_or_update_user(author)
+ assert user_again == user
+ end
end
describe "gathering user info from a user id" do