alias Pleroma.{Repo, Activity, User, Object}
alias Pleroma.Web.ActivityPub.ActivityPub
alias Pleroma.Web.TwitterAPI.UserView
+ alias Pleroma.Web.CommonAPI
import Pleroma.Factory
request_path = "/api/statuses/retweet/#{note_activity.id}.json"
- user = Repo.get_by(User, ap_id: note_activity.data["actor"])
- response = conn
- |> with_credentials(user.nickname, "test")
- |> post(request_path)
- assert json_response(response, 400) == %{"error" => "You cannot repeat your own notice.",
- "request" => request_path}
-
response = conn
|> with_credentials(current_user.nickname, "test")
|> post(request_path)
end
end
+ describe "POST /api/account/update_profile.json" do
+ test "it updates a user's profile" do
+ user = insert(:user)
+
+ conn = conn
+ |> assign(:user, user)
+ |> post("/api/account/update_profile.json", %{"name" => "new name", "description" => "new description"})
+
+ user = Repo.get!(User, user.id)
+ assert user.name == "new name"
+ assert user.bio == "new description"
+
+ assert json_response(conn, 200) == UserView.render("user.json", %{user: user, for: user})
+ end
+ end
+
defp valid_user(_context) do
user = insert(:user)
[user: user]
header_content = "Basic " <> Base.encode64("#{username}:#{password}")
put_req_header(conn, "authorization", header_content)
end
+
+ describe "GET /api/search.json" do
+ test "it returns search results", %{conn: conn} do
+ user = insert(:user)
+ user_two = insert(:user, %{nickname: "shp@shitposter.club"})
+
+ {:ok, activity} = CommonAPI.post(user, %{"status" => "This is about 2hu"})
+ {:ok, _} = CommonAPI.post(user_two, %{"status" => "This isn't"})
+
+ conn = conn
+ |> get("/api/search.json", %{"q" => "2hu", "page" => "1", "rpp" => "1"})
+
+ assert [status] = json_response(conn, 200)
+ assert status["id"] == activity.id
+ end
+ end
+
+ describe "GET /api/statusnet/tags/timeline/:tag.json" do
+ test "it returns the tags timeline" do
+ user = insert(:user)
+ user_two = insert(:user, %{nickname: "shp@shitposter.club"})
+
+ {:ok, activity} = CommonAPI.post(user, %{"status" => "This is about #2hu"})
+ {:ok, _} = CommonAPI.post(user_two, %{"status" => "This isn't"})
+
+ conn = conn
+ |> get("/api/statusnet/tags/timeline/2hu.json")
+
+ assert [status] = json_response(conn, 200)
+ assert status["id"] == activity.id
+ end
+ end
end