Commit 5dac3727 authored by lain's avatar lain
Browse files

Add registration to the TwAPI controller.

parent b1edd94b
......@@ -26,6 +26,7 @@ def user_fetcher(username) do
get "/statuses/show/:id", TwitterAPI.Controller, :fetch_status
get "/statusnet/conversation/:id", TwitterAPI.Controller, :fetch_conversation
get "/statusnet/config", TwitterAPI.Controller, :config
post "/account/register", TwitterAPI.Controller, :register
end
scope "/api", Pleroma.Web do
......
......@@ -131,6 +131,17 @@ def retweet(%{assigns: %{user: user}} = conn, %{"id" => id}) do
|> json_reply(200, response)
end
def register(conn, params) do
with {:ok, user} <- TwitterAPI.register_user(params) do
conn
|> json_reply(200, Poison.encode!(user))
else
{:error, errors} ->
conn
|> json_reply(400, Poison.encode!(errors))
end
end
defp json_reply(conn, status, json) do
conn
|> put_resp_content_type("application/json")
......
......@@ -216,6 +216,44 @@ test "with credentials", %{conn: conn, user: current_user} do
end
end
describe "POST /api/account/register" do
test "it creates a new user", %{conn: conn} do
data = %{
"nickname" => "lain",
"email" => "lain@wired.jp",
"fullname" => "lain iwakura",
"bio" => "close the world.",
"password" => "bear",
"confirm" => "bear"
}
conn = conn
|> post("/api/account/register", data)
user = json_response(conn, 200)
fetched_user = Repo.get_by(User, nickname: "lain")
assert user == UserRepresenter.to_map(fetched_user)
end
test "it returns errors on a problem", %{conn: conn} do
data = %{
"email" => "lain@wired.jp",
"fullname" => "lain iwakura",
"bio" => "close the world.",
"password" => "bear",
"confirm" => "bear"
}
conn = conn
|> post("/api/account/register", data)
errors = json_response(conn, 400)
assert is_binary(errors["error"])
end
end
defp valid_user(_context) do
{ :ok, user } = UserBuilder.insert(%{nickname: "lambda", ap_id: "lambda"})
[user: user]
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment