Merge develop to 770-add-emoji-tags
authorAlex S <alex.strizhakov@gmail.com>
Sat, 6 Apr 2019 13:34:00 +0000 (20:34 +0700)
committerAlex S <alex.strizhakov@gmail.com>
Sat, 6 Apr 2019 13:34:00 +0000 (20:34 +0700)
Merge conflict in test/web/mastodon_api/mastodon_api_controller_test.exs

1  2 
config/config.exs
lib/pleroma/web/common_api/common_api.ex
lib/pleroma/web/common_api/utils.ex
lib/pleroma/web/mastodon_api/mastodon_api_controller.ex
test/web/mastodon_api/mastodon_api_controller_test.exs

Simple merge
Simple merge
index 8be9ad98f36b2a0668dbb02bd729d433864ae2ed,438e9507d453d6420b011f7b9b59031d282a10b9..62e6c2a3a03583beb251a18fac4f0328dd681c97
@@@ -2292,19 -2341,70 +2341,86 @@@ defmodule Pleroma.Web.MastodonAPI.Masto
      assert acc_two == acc_three
    end
  
 +  describe "custom emoji" do
 +    test "with tags", %{conn: conn} do
 +      [emoji | _body] =
 +        conn
 +        |> get("/api/v1/custom_emojis")
 +        |> json_response(200)
 +
 +      assert Map.has_key?(emoji, "shortcode")
 +      assert Map.has_key?(emoji, "static_url")
 +      assert Map.has_key?(emoji, "tags")
 +      assert is_list(emoji["tags"])
 +      assert Map.has_key?(emoji, "url")
 +      assert Map.has_key?(emoji, "visible_in_picker")
 +    end
 +  end
++
+   describe "index/2 redirections" do
+     setup %{conn: conn} do
+       session_opts = [
+         store: :cookie,
+         key: "_test",
+         signing_salt: "cooldude"
+       ]
+       conn =
+         conn
+         |> Plug.Session.call(Plug.Session.init(session_opts))
+         |> fetch_session()
+       test_path = "/web/statuses/test"
+       %{conn: conn, path: test_path}
+     end
+     test "redirects not logged-in users to the login page", %{conn: conn, path: path} do
+       conn = get(conn, path)
+       assert conn.status == 302
+       assert redirected_to(conn) == "/web/login"
+     end
+     test "does not redirect logged in users to the login page", %{conn: conn, path: path} do
+       token = insert(:oauth_token)
+       conn =
+         conn
+         |> assign(:user, token.user)
+         |> put_session(:oauth_token, token.token)
+         |> get(path)
+       assert conn.status == 200
+     end
+     test "saves referer path to session", %{conn: conn, path: path} do
+       conn = get(conn, path)
+       return_to = Plug.Conn.get_session(conn, :return_to)
+       assert return_to == path
+     end
+     test "redirects to the saved path after log in", %{conn: conn, path: path} do
+       app = insert(:oauth_app, client_name: "Mastodon-Local", redirect_uris: ".")
+       auth = insert(:oauth_authorization, app: app)
+       conn =
+         conn
+         |> put_session(:return_to, path)
+         |> get("/web/login", %{code: auth.token})
+       assert conn.status == 302
+       assert redirected_to(conn) == path
+     end
+     test "redirects to the getting-started page when referer is not present", %{conn: conn} do
+       app = insert(:oauth_app, client_name: "Mastodon-Local", redirect_uris: ".")
+       auth = insert(:oauth_authorization, app: app)
+       conn = get(conn, "/web/login", %{code: auth.token})
+       assert conn.status == 302
+       assert redirected_to(conn) == "/web/getting-started"
+     end
+   end
  end