forked from AkkomaGang/akkoma
Merge branch 'restore-tests' into 'develop'
Restore tests for `change_password` and `delete_account` See merge request pleroma/pleroma!1658
This commit is contained in:
commit
220afadc55
1 changed files with 105 additions and 0 deletions
|
@ -775,4 +775,109 @@ test "with credentials, valid password and valid email", %{
|
||||||
assert json_response(conn, 200) == %{"status" => "success"}
|
assert json_response(conn, 200) == %{"status" => "success"}
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
describe "POST /api/pleroma/change_password" do
|
||||||
|
setup [:valid_user]
|
||||||
|
|
||||||
|
test "without credentials", %{conn: conn} do
|
||||||
|
conn = post(conn, "/api/pleroma/change_password")
|
||||||
|
assert json_response(conn, 403) == %{"error" => "Invalid credentials."}
|
||||||
|
end
|
||||||
|
|
||||||
|
test "with credentials and invalid password", %{conn: conn, user: current_user} do
|
||||||
|
conn =
|
||||||
|
conn
|
||||||
|
|> with_credentials(current_user.nickname, "test")
|
||||||
|
|> post("/api/pleroma/change_password", %{
|
||||||
|
"password" => "hi",
|
||||||
|
"new_password" => "newpass",
|
||||||
|
"new_password_confirmation" => "newpass"
|
||||||
|
})
|
||||||
|
|
||||||
|
assert json_response(conn, 200) == %{"error" => "Invalid password."}
|
||||||
|
end
|
||||||
|
|
||||||
|
test "with credentials, valid password and new password and confirmation not matching", %{
|
||||||
|
conn: conn,
|
||||||
|
user: current_user
|
||||||
|
} do
|
||||||
|
conn =
|
||||||
|
conn
|
||||||
|
|> with_credentials(current_user.nickname, "test")
|
||||||
|
|> post("/api/pleroma/change_password", %{
|
||||||
|
"password" => "test",
|
||||||
|
"new_password" => "newpass",
|
||||||
|
"new_password_confirmation" => "notnewpass"
|
||||||
|
})
|
||||||
|
|
||||||
|
assert json_response(conn, 200) == %{
|
||||||
|
"error" => "New password does not match confirmation."
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
|
test "with credentials, valid password and invalid new password", %{
|
||||||
|
conn: conn,
|
||||||
|
user: current_user
|
||||||
|
} do
|
||||||
|
conn =
|
||||||
|
conn
|
||||||
|
|> with_credentials(current_user.nickname, "test")
|
||||||
|
|> post("/api/pleroma/change_password", %{
|
||||||
|
"password" => "test",
|
||||||
|
"new_password" => "",
|
||||||
|
"new_password_confirmation" => ""
|
||||||
|
})
|
||||||
|
|
||||||
|
assert json_response(conn, 200) == %{
|
||||||
|
"error" => "New password can't be blank."
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
|
test "with credentials, valid password and matching new password and confirmation", %{
|
||||||
|
conn: conn,
|
||||||
|
user: current_user
|
||||||
|
} do
|
||||||
|
conn =
|
||||||
|
conn
|
||||||
|
|> with_credentials(current_user.nickname, "test")
|
||||||
|
|> post("/api/pleroma/change_password", %{
|
||||||
|
"password" => "test",
|
||||||
|
"new_password" => "newpass",
|
||||||
|
"new_password_confirmation" => "newpass"
|
||||||
|
})
|
||||||
|
|
||||||
|
assert json_response(conn, 200) == %{"status" => "success"}
|
||||||
|
fetched_user = User.get_cached_by_id(current_user.id)
|
||||||
|
assert Comeonin.Pbkdf2.checkpw("newpass", fetched_user.password_hash) == true
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
describe "POST /api/pleroma/delete_account" do
|
||||||
|
setup [:valid_user]
|
||||||
|
|
||||||
|
test "without credentials", %{conn: conn} do
|
||||||
|
conn = post(conn, "/api/pleroma/delete_account")
|
||||||
|
assert json_response(conn, 403) == %{"error" => "Invalid credentials."}
|
||||||
|
end
|
||||||
|
|
||||||
|
test "with credentials and invalid password", %{conn: conn, user: current_user} do
|
||||||
|
conn =
|
||||||
|
conn
|
||||||
|
|> with_credentials(current_user.nickname, "test")
|
||||||
|
|> post("/api/pleroma/delete_account", %{"password" => "hi"})
|
||||||
|
|
||||||
|
assert json_response(conn, 200) == %{"error" => "Invalid password."}
|
||||||
|
end
|
||||||
|
|
||||||
|
test "with credentials and valid password", %{conn: conn, user: current_user} do
|
||||||
|
conn =
|
||||||
|
conn
|
||||||
|
|> with_credentials(current_user.nickname, "test")
|
||||||
|
|> post("/api/pleroma/delete_account", %{"password" => "test"})
|
||||||
|
|
||||||
|
assert json_response(conn, 200) == %{"status" => "success"}
|
||||||
|
# Wait a second for the started task to end
|
||||||
|
:timer.sleep(1000)
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in a new issue