Add a E2E test to create new link without a random shorten.

dev
KKlochko 8 months ago
parent 9e22e1bfde
commit 38e1e03b26

@ -0,0 +1,54 @@
defmodule LinkShortenerWeb.Features.LinkLiveTest do
use ExUnit.Case
use Wallaby.Feature
import LinkShortener.LinksFixtures
import LinkShortener.AccountsFixtures
alias LinkShortener.Factories.UserFactory
alias LinkShortener.Factories.LinkFactory
alias LinkShortener.Links
alias LinkShortener.Links.Link
@create_attrs %{name: "some name", shorten: "some shorten", url: "some url"}
@update_attrs %{name: "some updated name", shorten: "some updated shorten", url: "some updated url"}
@invalid_attrs %{name: nil, shorten: nil, url: nil}
setup %{session: session} do
user_attrs = UserFactory.user_attrs_factory()
user = user_fixture(user_attrs)
link = LinkFactory.create_link(%{user_id: user.id})
%{session: log_in_user(session, user_attrs),
user: user,
user_attrs: user_attrs,
link: link}
end
describe "Index" do
test "saves new link without a random shorten", %{session: session} do
new_link = LinkFactory.link_attrs_factory()
session
|> visit("/links")
|> click(Query.button("New Link"))
|> click(Query.checkbox("Random shorten"))
|> fill_in(Query.text_field("Name"), with: new_link.name)
|> fill_in(Query.text_field("Url"), with: new_link.url)
|> fill_in(Query.text_field("Shorten"), with: new_link.shorten)
|> click(Query.button("Save Link"))
|> assert_has(Query.xpath("//*[@id='flash-info']", text: "Link created successfully"))
assert Links.get_one_by_shorten(new_link.shorten)
end
end
def log_in_user(session, user) do
session
|> visit("/users/log_in/")
|> fill_in(Query.text_field("Email"), with: user.email)
|> fill_in(Query.text_field("Password"), with: user.password)
|> click(Query.button("Log in"))
end
end
Loading…
Cancel
Save