assert clean(res) == clean(expected)
end
+ test "an unfollow activity" do
+ follower = insert(:user)
+ followed = insert(:user)
+ {:ok, _activity} = ActivityPub.follow(follower, followed)
+ {:ok, activity} = ActivityPub.unfollow(follower, followed)
+
+ # TODO: Are these the correct dates?
+ updated_at = activity.updated_at
+ |> NaiveDateTime.to_iso8601
+ inserted_at = activity.inserted_at
+ |> NaiveDateTime.to_iso8601
+
+ tuple = ActivityRepresenter.to_simple_form(activity, follower)
+
+ refute is_nil(tuple)
+
+ res = :xmerl.export_simple_content(tuple, :xmerl_xml) |> IO.iodata_to_binary
+
+ expected = """
+ <activity:object-type>http://activitystrea.ms/schema/1.0/activity</activity:object-type>
+ <activity:verb>http://activitystrea.ms/schema/1.0/unfollow</activity:verb>
+ <id>#{activity.data["id"]}</id>
+ <title>#{follower.nickname} stopped following #{followed.ap_id}</title>
+ <content type="html"> #{follower.nickname} stopped following #{followed.ap_id}</content>
+ <published>#{inserted_at}</published>
+ <updated>#{updated_at}</updated>
+ <activity:object>
+ <activity:object-type>http://activitystrea.ms/schema/1.0/person</activity:object-type>
+ <id>#{followed.ap_id}</id>
+ <uri>#{followed.ap_id}</uri>
+ </activity:object>
+ <link rel="self" type="application/atom+xml" href="#{activity.data["id"]}"/>
+ <link rel="mentioned" ostatus:object-type="http://activitystrea.ms/schema/1.0/person" href="#{followed.ap_id}"/>
+ """
+
+ assert clean(res) == clean(expected)
+ end
+
test "an unknown activity" do
tuple = ActivityRepresenter.to_simple_form(%Activity{}, nil)
assert is_nil(tuple)