Merge branch 'develop' into oembed_provider
This commit is contained in:
commit
90b00701ff
59 changed files with 1692 additions and 214 deletions
|
|
@ -2,6 +2,7 @@ defmodule Pleroma.Web.CommonAPI.Test do
|
|||
use Pleroma.DataCase
|
||||
alias Pleroma.Web.CommonAPI
|
||||
alias Pleroma.User
|
||||
alias Pleroma.Activity
|
||||
|
||||
import Pleroma.Factory
|
||||
|
||||
|
|
@ -53,4 +54,42 @@ defmodule Pleroma.Web.CommonAPI.Test do
|
|||
assert content == "<p><b>2hu</b></p>alert('xss')"
|
||||
end
|
||||
end
|
||||
|
||||
describe "reactions" do
|
||||
test "repeating a status" do
|
||||
user = insert(:user)
|
||||
other_user = insert(:user)
|
||||
|
||||
{:ok, activity} = CommonAPI.post(other_user, %{"status" => "cofe"})
|
||||
|
||||
{:ok, %Activity{}, _} = CommonAPI.repeat(activity.id, user)
|
||||
end
|
||||
|
||||
test "favoriting a status" do
|
||||
user = insert(:user)
|
||||
other_user = insert(:user)
|
||||
|
||||
{:ok, activity} = CommonAPI.post(other_user, %{"status" => "cofe"})
|
||||
|
||||
{:ok, %Activity{}, _} = CommonAPI.favorite(activity.id, user)
|
||||
end
|
||||
|
||||
test "retweeting a status twice returns an error" do
|
||||
user = insert(:user)
|
||||
other_user = insert(:user)
|
||||
|
||||
{:ok, activity} = CommonAPI.post(other_user, %{"status" => "cofe"})
|
||||
{:ok, %Activity{}, _object} = CommonAPI.repeat(activity.id, user)
|
||||
{:error, _} = CommonAPI.repeat(activity.id, user)
|
||||
end
|
||||
|
||||
test "favoriting a status twice returns an error" do
|
||||
user = insert(:user)
|
||||
other_user = insert(:user)
|
||||
|
||||
{:ok, activity} = CommonAPI.post(other_user, %{"status" => "cofe"})
|
||||
{:ok, %Activity{}, _object} = CommonAPI.favorite(activity.id, user)
|
||||
{:error, _} = CommonAPI.favorite(activity.id, user)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
|||
|
|
@ -9,6 +9,7 @@ defmodule Pleroma.Web.TwitterAPI.ControllerTest do
|
|||
alias Pleroma.Web.CommonAPI
|
||||
alias Pleroma.Web.TwitterAPI.TwitterAPI
|
||||
alias Comeonin.Pbkdf2
|
||||
alias Ecto.Changeset
|
||||
|
||||
import Pleroma.Factory
|
||||
|
||||
|
|
@ -270,7 +271,7 @@ defmodule Pleroma.Web.TwitterAPI.ControllerTest do
|
|||
since_id = List.last(activities).id
|
||||
|
||||
current_user =
|
||||
Ecto.Changeset.change(current_user, following: [User.ap_followers(user)])
|
||||
Changeset.change(current_user, following: [User.ap_followers(user)])
|
||||
|> Repo.update!()
|
||||
|
||||
conn =
|
||||
|
|
@ -832,6 +833,46 @@ defmodule Pleroma.Web.TwitterAPI.ControllerTest do
|
|||
end
|
||||
end
|
||||
|
||||
describe "POST /api/account/password_reset, with valid parameters" do
|
||||
setup %{conn: conn} do
|
||||
user = insert(:user)
|
||||
conn = post(conn, "/api/account/password_reset?email=#{user.email}")
|
||||
%{conn: conn, user: user}
|
||||
end
|
||||
|
||||
test "it returns 204", %{conn: conn} do
|
||||
assert json_response(conn, :no_content)
|
||||
end
|
||||
|
||||
test "it creates a PasswordResetToken record for user", %{user: user} do
|
||||
token_record = Repo.get_by(Pleroma.PasswordResetToken, user_id: user.id)
|
||||
assert token_record
|
||||
end
|
||||
|
||||
test "it sends an email to user", %{user: user} do
|
||||
token_record = Repo.get_by(Pleroma.PasswordResetToken, user_id: user.id)
|
||||
|
||||
Swoosh.TestAssertions.assert_email_sent(
|
||||
Pleroma.UserEmail.password_reset_email(user, token_record.token)
|
||||
)
|
||||
end
|
||||
end
|
||||
|
||||
describe "POST /api/account/password_reset, with invalid parameters" do
|
||||
setup [:valid_user]
|
||||
|
||||
test "it returns 500 when user is not found", %{conn: conn, user: user} do
|
||||
conn = post(conn, "/api/account/password_reset?email=nonexisting_#{user.email}")
|
||||
assert json_response(conn, :internal_server_error)
|
||||
end
|
||||
|
||||
test "it returns 500 when user is not local", %{conn: conn, user: user} do
|
||||
{:ok, user} = Repo.update(Changeset.change(user, local: false))
|
||||
conn = post(conn, "/api/account/password_reset?email=#{user.email}")
|
||||
assert json_response(conn, :internal_server_error)
|
||||
end
|
||||
end
|
||||
|
||||
describe "GET /api/externalprofile/show" do
|
||||
test "it returns the user", %{conn: conn} do
|
||||
user = insert(:user)
|
||||
|
|
|
|||
|
|
@ -112,6 +112,7 @@ defmodule Pleroma.Web.TwitterAPI.ActivityViewTest do
|
|||
{:ok, like, _object} = CommonAPI.favorite(activity.id, other_user)
|
||||
|
||||
result = ActivityView.render("activity.json", activity: like)
|
||||
activity = Pleroma.Activity.get_by_ap_id(activity.data["id"])
|
||||
|
||||
expected = %{
|
||||
"activity_type" => "like",
|
||||
|
|
@ -121,6 +122,7 @@ defmodule Pleroma.Web.TwitterAPI.ActivityViewTest do
|
|||
"in_reply_to_status_id" => activity.id,
|
||||
"is_local" => true,
|
||||
"is_post_verb" => false,
|
||||
"favorited_status" => ActivityView.render("activity.json", activity: activity),
|
||||
"statusnet_html" => "shp favorited a status.",
|
||||
"text" => "shp favorited a status.",
|
||||
"uri" => "tag:#{like.data["id"]}:objectType=Favourite",
|
||||
|
|
@ -148,6 +150,7 @@ defmodule Pleroma.Web.TwitterAPI.ActivityViewTest do
|
|||
"in_reply_to_status_id" => nil,
|
||||
"is_local" => true,
|
||||
"is_post_verb" => false,
|
||||
"favorited_status" => nil,
|
||||
"statusnet_html" => "shp favorited a status.",
|
||||
"text" => "shp favorited a status.",
|
||||
"uri" => "tag:#{like.data["id"]}:objectType=Favourite",
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue