TwitterAPI: Add tag timeline.
authorRoger Braun <roger@rogerbraun.net>
Sun, 17 Sep 2017 09:45:16 +0000 (11:45 +0200)
committerRoger Braun <roger@rogerbraun.net>
Sun, 17 Sep 2017 09:45:16 +0000 (11:45 +0200)
lib/pleroma/web/router.ex
test/web/twitter_api/twitter_api_controller_test.exs

index 04f4e213c93b0bebc9bd930077780c0cbaae7667..9eb27b87957e85396ce4d362a556b392cf3d9ced 100644 (file)
@@ -120,6 +120,7 @@ defmodule Pleroma.Web.Router do
     end
 
     get "/search", TwitterAPI.Controller, :search
+    get "/statusnet/tags/:tag", TwitterAPI.Controller, :public_and_external_timeline
     get "/externalprofile/show", TwitterAPI.Controller, :external_profile
   end
 
index 14c1d4df72118438a377495610a6443d57a822f9..14b9cf47a7878842246b8a2597abf3b80fd0918f 100644 (file)
@@ -490,4 +490,20 @@ defmodule Pleroma.Web.TwitterAPI.ControllerTest do
       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/2hu.json")
+
+      assert [status] = json_response(conn, 200)
+      assert status["id"] == activity.id
+    end
+  end
 end