118 lines
3.5 KiB
Elixir
118 lines
3.5 KiB
Elixir
defmodule NullaWeb.MediaAttachmentControllerTest do
|
|
use NullaWeb.ConnCase
|
|
|
|
import Nulla.NotesFixtures
|
|
import Nulla.MediaAttachmentsFixtures
|
|
|
|
alias Nulla.MediaAttachments.MediaAttachment
|
|
|
|
@create_attrs %{
|
|
name: "some name",
|
|
type: "some type",
|
|
width: 42,
|
|
url: "some url",
|
|
mediaType: "some mediaType",
|
|
height: 42
|
|
}
|
|
@update_attrs %{
|
|
name: "some updated name",
|
|
type: "some updated type",
|
|
width: 43,
|
|
url: "some updated url",
|
|
mediaType: "some updated mediaType",
|
|
height: 43
|
|
}
|
|
@invalid_attrs %{name: nil, type: nil, width: nil, url: nil, mediaType: nil, height: nil}
|
|
|
|
setup %{conn: conn} do
|
|
{:ok, conn: put_req_header(conn, "accept", "application/json")}
|
|
end
|
|
|
|
describe "index" do
|
|
test "lists all media_attachments", %{conn: conn} do
|
|
conn = get(conn, ~p"/api/media_attachments")
|
|
assert json_response(conn, 200)["data"] == []
|
|
end
|
|
end
|
|
|
|
describe "create media_attachment" do
|
|
test "renders media_attachment when data is valid", %{conn: conn} do
|
|
note = note_fixture()
|
|
|
|
create_attrs = Map.merge(@create_attrs, %{note_id: note.id})
|
|
|
|
conn = post(conn, ~p"/api/media_attachments", media_attachment: create_attrs)
|
|
assert %{"id" => id} = json_response(conn, 201)["data"]
|
|
|
|
conn = get(conn, ~p"/api/media_attachments/#{id}")
|
|
|
|
assert %{
|
|
"id" => ^id,
|
|
"height" => 42,
|
|
"mediaType" => "some mediaType",
|
|
"name" => "some name",
|
|
"type" => "some type",
|
|
"url" => "some url",
|
|
"width" => 42
|
|
} = json_response(conn, 200)["data"]
|
|
end
|
|
|
|
test "renders errors when data is invalid", %{conn: conn} do
|
|
conn = post(conn, ~p"/api/media_attachments", media_attachment: @invalid_attrs)
|
|
assert json_response(conn, 422)["errors"] != %{}
|
|
end
|
|
end
|
|
|
|
describe "update media_attachment" do
|
|
setup [:create_media_attachment]
|
|
|
|
test "renders media_attachment when data is valid", %{
|
|
conn: conn,
|
|
media_attachment: %MediaAttachment{id: id} = media_attachment
|
|
} do
|
|
conn =
|
|
put(conn, ~p"/api/media_attachments/#{media_attachment}", media_attachment: @update_attrs)
|
|
|
|
assert %{"id" => ^id} = json_response(conn, 200)["data"]
|
|
|
|
conn = get(conn, ~p"/api/media_attachments/#{id}")
|
|
|
|
assert %{
|
|
"id" => ^id,
|
|
"height" => 43,
|
|
"mediaType" => "some updated mediaType",
|
|
"name" => "some updated name",
|
|
"type" => "some updated type",
|
|
"url" => "some updated url",
|
|
"width" => 43
|
|
} = json_response(conn, 200)["data"]
|
|
end
|
|
|
|
test "renders errors when data is invalid", %{conn: conn, media_attachment: media_attachment} do
|
|
conn =
|
|
put(conn, ~p"/api/media_attachments/#{media_attachment}",
|
|
media_attachment: @invalid_attrs
|
|
)
|
|
|
|
assert json_response(conn, 422)["errors"] != %{}
|
|
end
|
|
end
|
|
|
|
describe "delete media_attachment" do
|
|
setup [:create_media_attachment]
|
|
|
|
test "deletes chosen media_attachment", %{conn: conn, media_attachment: media_attachment} do
|
|
conn = delete(conn, ~p"/api/media_attachments/#{media_attachment}")
|
|
assert response(conn, 204)
|
|
|
|
assert_error_sent 404, fn ->
|
|
get(conn, ~p"/api/media_attachments/#{media_attachment}")
|
|
end
|
|
end
|
|
end
|
|
|
|
defp create_media_attachment(_) do
|
|
media_attachment = media_attachment_fixture()
|
|
%{media_attachment: media_attachment}
|
|
end
|
|
end
|