diff options
author | Sergey Suprunenko <suprunenko.s@gmail.com> | 2020-10-06 20:58:32 +0200 |
---|---|---|
committer | Sergey Suprunenko <suprunenko.s@gmail.com> | 2020-11-29 18:10:57 +0100 |
commit | 1bbbc15925d3cb3a967993a8bd85a1316050af61 (patch) | |
tree | a7e9afe3d387b05f71aa6c237a150c09a487b666 /test | |
parent | 019c211353b70764ae2e70f2f486c9790b460a61 (diff) | |
download | pleroma-feature/1902-attachment-filename.tar.gz |
Allow updating the media filenamefeature/1902-attachment-filename
Diffstat (limited to 'test')
-rw-r--r-- | test/pleroma/web/mastodon_api/controllers/media_controller_test.exs | 60 |
1 files changed, 54 insertions, 6 deletions
diff --git a/test/pleroma/web/mastodon_api/controllers/media_controller_test.exs b/test/pleroma/web/mastodon_api/controllers/media_controller_test.exs index c471c0366..d99bf3694 100644 --- a/test/pleroma/web/mastodon_api/controllers/media_controller_test.exs +++ b/test/pleroma/web/mastodon_api/controllers/media_controller_test.exs @@ -99,7 +99,7 @@ defmodule Pleroma.Web.MastodonAPI.MediaControllerTest do end end - describe "Update media description" do + describe "Update media" do setup do: oauth_access(["write:media"]) setup %{user: actor} do @@ -113,21 +113,69 @@ defmodule Pleroma.Web.MastodonAPI.MediaControllerTest do ActivityPub.upload( file, actor: User.ap_id(actor), - description: "test-m" + description: "test-m", + filename: "test_image.jpg" ) [object: object] end - test "/api/v1/media/:id good request", %{conn: conn, object: object} do + test "/api/v1/media/:id update description", %{conn: conn, object: object} do + new_description = "test-media" + media = conn |> put_req_header("content-type", "multipart/form-data") - |> put("/api/v1/media/#{object.id}", %{"description" => "test-media"}) + |> put("/api/v1/media/#{object.id}", %{"description" => new_description}) |> json_response_and_validate_schema(:ok) - assert media["description"] == "test-media" - assert refresh_record(object).data["name"] == "test-media" + assert media["description"] == new_description + assert refresh_record(object).data["name"] == new_description + end + + test "/api/v1/media/:id update filename", %{conn: conn, object: object} do + new_filename = "media.jpg" + + media = + conn + |> put_req_header("content-type", "multipart/form-data") + |> put("/api/v1/media/#{object.id}", %{"filename" => new_filename}) + |> json_response_and_validate_schema(:ok) + + assert media["pleroma"]["filename"] == new_filename + assert refresh_record(object).data["filename"] == new_filename + end + + test "/api/v1/media/:id update description and filename", %{conn: conn, object: object} do + new_description = "test-media" + new_filename = "media.jpg" + + media = + conn + |> put_req_header("content-type", "multipart/form-data") + |> put("/api/v1/media/#{object.id}", %{ + "description" => new_description, + "filename" => new_filename, + "foo" => "bar" + }) + |> json_response_and_validate_schema(:ok) + + assert media["description"] == new_description + assert media["pleroma"]["filename"] == new_filename + assert refresh_record(object).data["name"] == new_description + assert refresh_record(object).data["filename"] == new_filename + end + + test "/api/v1/media/:id filename with a wrong extension", %{conn: conn, object: object} do + new_filename = "media.exe" + + response = + conn + |> put_req_header("content-type", "multipart/form-data") + |> put("/api/v1/media/#{object.id}", %{"filename" => new_filename}) + |> json_response(400) + + assert response["error"] == "invalid_filename_extension" end end |