Update the tests for Links.

dev
KKlochko 8 months ago
parent 9b2f9aaa8c
commit 8d3d619e7c

@ -2,6 +2,11 @@ defmodule LinkShortener.LinksTest do
use LinkShortener.DataCase use LinkShortener.DataCase
alias LinkShortener.Links alias LinkShortener.Links
alias LinkShortener.Links.Link
alias LinkShortener.Factories.UserFactory
import LinkShortener.LinksFixtures
@create_attrs %{ @create_attrs %{
name: "some link name", name: "some link name",
@ -23,31 +28,40 @@ defmodule LinkShortener.LinksTest do
shorten: nil, shorten: nil,
} }
describe "links" do setup do
alias LinkShortener.Links.Link {:ok, user: UserFactory.create_user()}
end
import LinkShortener.LinksFixtures
describe "links" do
test "new_one/1 returns the changeset" do test "new_one/1 returns the changeset" do
assert %Ecto.Changeset{} = Links.new_one() assert %Ecto.Changeset{} = Links.new_one()
end end
test "create_one/1 with valid data creates a link" do test "create_one/1 with valid data creates a link", %{user: user} do
assert {:ok, %Link{} = link} = Links.create_one(@create_generated_attrs) assert {:ok, %Link{} = link} =
with_user(@create_generated_attrs, user)
|> Links.create_one()
assert link.name == "some link name" assert link.name == "some link name"
assert link.url == "https://gitlab.com/KKlochko/link_shortener" assert link.url == "https://gitlab.com/KKlochko/link_shortener"
assert String.length(link.shorten) == 10 assert String.length(link.shorten) == 10
end end
test "create_one/2 with valid data creates a link" do test "create_one/2 with valid data creates a link", %{user: user} do
assert {:ok, %Link{} = link} = Links.create_one(@create_generated_attrs, 5) assert {:ok, %Link{} = link} =
with_user(@create_generated_attrs, user)
|> Links.create_one(5)
assert link.name == "some link name" assert link.name == "some link name"
assert link.url == "https://gitlab.com/KKlochko/link_shortener" assert link.url == "https://gitlab.com/KKlochko/link_shortener"
assert String.length(link.shorten) == 5 assert String.length(link.shorten) == 5
end end
test "insert_one/1 with valid data creates a link" do test "insert_one/1 with valid data creates a link", %{user: user} do
assert {:ok, %Link{} = link} = Links.insert_one(@create_attrs) assert {:ok, %Link{} = link} =
with_user(@create_attrs, user)
|> Links.insert_one()
assert link.name == "some link name" assert link.name == "some link name"
assert link.url == "https://gitlab.com/KKlochko/link_shortener" assert link.url == "https://gitlab.com/KKlochko/link_shortener"
assert link.shorten == "git_repo" assert link.shorten == "git_repo"
@ -103,4 +117,9 @@ defmodule LinkShortener.LinksTest do
assert_raise Ecto.NoResultsError, fn -> Links.get_one!(link.id) end assert_raise Ecto.NoResultsError, fn -> Links.get_one!(link.id) end
end end
end end
defp with_user(attrs, user) do
attrs
|> Map.put(:user_id, user.id)
end
end end

Loading…
Cancel
Save