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

Loading…
Cancel
Save