diff options
| author | Haelwenn <contact+git.pleroma.social@hacktivis.me> | 2020-07-08 03:25:30 +0000 | 
|---|---|---|
| committer | Haelwenn <contact+git.pleroma.social@hacktivis.me> | 2020-07-08 03:25:30 +0000 | 
| commit | a8447c3803b9d618f8c1d1910698c8cca6e908e4 (patch) | |
| tree | 131a5dca1ff1779389515078fa09ce01ab87c12e /test | |
| parent | db13acf24261a3f3cb1a747a722df1f86a768955 (diff) | |
| parent | 92e6801c179080e833575226fdf291d9393286c5 (diff) | |
| download | pleroma-a8447c3803b9d618f8c1d1910698c8cca6e908e4.tar.gz pleroma-a8447c3803b9d618f8c1d1910698c8cca6e908e4.zip | |
Merge branch '1918-avatar-background-header-reset-2' into 'develop'
Resolve "Better support for resetting avatar/header/background"
Closes #1918
See merge request pleroma/pleroma!2729
Diffstat (limited to 'test')
| -rw-r--r-- | test/web/mastodon_api/controllers/account_controller/update_credentials_test.exs | 38 | ||||
| -rw-r--r-- | test/web/pleroma_api/controllers/account_controller_test.exs | 99 | 
2 files changed, 31 insertions, 106 deletions
| diff --git a/test/web/mastodon_api/controllers/account_controller/update_credentials_test.exs b/test/web/mastodon_api/controllers/account_controller/update_credentials_test.exs index f67d294ba..b55bb76a7 100644 --- a/test/web/mastodon_api/controllers/account_controller/update_credentials_test.exs +++ b/test/web/mastodon_api/controllers/account_controller/update_credentials_test.exs @@ -216,10 +216,21 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIController.UpdateCredentialsTest do          filename: "an_image.jpg"        } -      conn = patch(conn, "/api/v1/accounts/update_credentials", %{"avatar" => new_avatar}) +      assert user.avatar == %{} -      assert user_response = json_response_and_validate_schema(conn, 200) +      res = patch(conn, "/api/v1/accounts/update_credentials", %{"avatar" => new_avatar}) + +      assert user_response = json_response_and_validate_schema(res, 200)        assert user_response["avatar"] != User.avatar_url(user) + +      user = User.get_by_id(user.id) +      refute user.avatar == %{} + +      # Also resets it +      _res = patch(conn, "/api/v1/accounts/update_credentials", %{"avatar" => ""}) + +      user = User.get_by_id(user.id) +      assert user.avatar == nil      end      test "updates the user's banner", %{user: user, conn: conn} do @@ -229,26 +240,39 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIController.UpdateCredentialsTest do          filename: "an_image.jpg"        } -      conn = patch(conn, "/api/v1/accounts/update_credentials", %{"header" => new_header}) +      res = patch(conn, "/api/v1/accounts/update_credentials", %{"header" => new_header}) -      assert user_response = json_response_and_validate_schema(conn, 200) +      assert user_response = json_response_and_validate_schema(res, 200)        assert user_response["header"] != User.banner_url(user) + +      # Also resets it +      _res = patch(conn, "/api/v1/accounts/update_credentials", %{"header" => ""}) + +      user = User.get_by_id(user.id) +      assert user.banner == nil      end -    test "updates the user's background", %{conn: conn} do +    test "updates the user's background", %{conn: conn, user: user} do        new_header = %Plug.Upload{          content_type: "image/jpg",          path: Path.absname("test/fixtures/image.jpg"),          filename: "an_image.jpg"        } -      conn = +      res =          patch(conn, "/api/v1/accounts/update_credentials", %{            "pleroma_background_image" => new_header          }) -      assert user_response = json_response_and_validate_schema(conn, 200) +      assert user_response = json_response_and_validate_schema(res, 200)        assert user_response["pleroma"]["background_image"] +      # +      # Also resets it +      _res = +        patch(conn, "/api/v1/accounts/update_credentials", %{"pleroma_background_image" => ""}) + +      user = User.get_by_id(user.id) +      assert user.background == nil      end      test "requires 'write:accounts' permission" do diff --git a/test/web/pleroma_api/controllers/account_controller_test.exs b/test/web/pleroma_api/controllers/account_controller_test.exs index 103997c31..07909d48b 100644 --- a/test/web/pleroma_api/controllers/account_controller_test.exs +++ b/test/web/pleroma_api/controllers/account_controller_test.exs @@ -13,8 +13,6 @@ defmodule Pleroma.Web.PleromaAPI.AccountControllerTest do    import Pleroma.Factory    import Swoosh.TestAssertions -  @image "data:image/gif;base64,R0lGODlhEAAQAMQAAORHHOVSKudfOulrSOp3WOyDZu6QdvCchPGolfO0o/XBs/fNwfjZ0frl3/zy7////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAkAABAALAAAAAAQABAAAAVVICSOZGlCQAosJ6mu7fiyZeKqNKToQGDsM8hBADgUXoGAiqhSvp5QAnQKGIgUhwFUYLCVDFCrKUE1lBavAViFIDlTImbKC5Gm2hB0SlBCBMQiB0UjIQA7" -    describe "POST /api/v1/pleroma/accounts/confirmation_resend" do      setup do        {:ok, user} = @@ -68,103 +66,6 @@ defmodule Pleroma.Web.PleromaAPI.AccountControllerTest do      end    end -  describe "PATCH /api/v1/pleroma/accounts/update_avatar" do -    setup do: oauth_access(["write:accounts"]) - -    test "user avatar can be set", %{user: user, conn: conn} do -      avatar_image = File.read!("test/fixtures/avatar_data_uri") - -      conn = -        conn -        |> put_req_header("content-type", "multipart/form-data") -        |> patch("/api/v1/pleroma/accounts/update_avatar", %{img: avatar_image}) - -      user = refresh_record(user) - -      assert %{ -               "name" => _, -               "type" => _, -               "url" => [ -                 %{ -                   "href" => _, -                   "mediaType" => _, -                   "type" => _ -                 } -               ] -             } = user.avatar - -      assert %{"url" => _} = json_response_and_validate_schema(conn, 200) -    end - -    test "user avatar can be reset", %{user: user, conn: conn} do -      conn = -        conn -        |> put_req_header("content-type", "multipart/form-data") -        |> patch("/api/v1/pleroma/accounts/update_avatar", %{img: ""}) - -      user = User.get_cached_by_id(user.id) - -      assert user.avatar == nil - -      assert %{"url" => nil} = json_response_and_validate_schema(conn, 200) -    end -  end - -  describe "PATCH /api/v1/pleroma/accounts/update_banner" do -    setup do: oauth_access(["write:accounts"]) - -    test "can set profile banner", %{user: user, conn: conn} do -      conn = -        conn -        |> put_req_header("content-type", "multipart/form-data") -        |> patch("/api/v1/pleroma/accounts/update_banner", %{"banner" => @image}) - -      user = refresh_record(user) -      assert user.banner["type"] == "Image" - -      assert %{"url" => _} = json_response_and_validate_schema(conn, 200) -    end - -    test "can reset profile banner", %{user: user, conn: conn} do -      conn = -        conn -        |> put_req_header("content-type", "multipart/form-data") -        |> patch("/api/v1/pleroma/accounts/update_banner", %{"banner" => ""}) - -      user = refresh_record(user) -      assert user.banner == %{} - -      assert %{"url" => nil} = json_response_and_validate_schema(conn, 200) -    end -  end - -  describe "PATCH /api/v1/pleroma/accounts/update_background" do -    setup do: oauth_access(["write:accounts"]) - -    test "background image can be set", %{user: user, conn: conn} do -      conn = -        conn -        |> put_req_header("content-type", "multipart/form-data") -        |> patch("/api/v1/pleroma/accounts/update_background", %{"img" => @image}) - -      user = refresh_record(user) -      assert user.background["type"] == "Image" -      # assert %{"url" => _} = json_response(conn, 200) -      assert %{"url" => _} = json_response_and_validate_schema(conn, 200) -    end - -    test "background image can be reset", %{user: user, conn: conn} do -      conn = -        conn -        |> put_req_header("content-type", "multipart/form-data") -        |> patch("/api/v1/pleroma/accounts/update_background", %{"img" => ""}) - -      user = refresh_record(user) -      assert user.background == %{} -      assert %{"url" => nil} = json_response_and_validate_schema(conn, 200) -    end -  end -    describe "getting favorites timeline of specified user" do      setup do        [current_user, user] = insert_pair(:user, hide_favorites: false) | 
