1
0
mirror of https://github.com/danbee/chess synced 2025-03-04 08:39:06 +00:00
chess/test/features/registration_test.exs
2023-02-04 21:35:56 -06:00

55 lines
1.7 KiB
Elixir

defmodule Chess.Features.RegistrationTest do
use ChessWeb.FeatureCase
import Wallaby.Query
test "user can register", %{session: session} do
session
|> visit("/")
|> click(css(".header__user-nav a", text: "Register"))
|> fill_in(text_field("Name"), with: "Link")
|> fill_in(text_field("Email"), with: "link@example.com")
|> fill_in(text_field("Password"), with: "ilovezelda")
|> click(button("Register"))
assert session |> has_text?("Registered successfully")
assert session |> has_text?("link@example.com")
end
test "user cannot register without a name", %{session: session} do
session
|> visit("/")
|> click(css(".header__user-nav a", text: "Register"))
|> fill_in(text_field("Email"), with: "link@example.com")
|> fill_in(text_field("Password"), with: "ilovezelda")
|> click(button("Register"))
session
|> assert_has(css("[data-role='name-error']", text: "can't be blank"))
end
test "user cannot register without an email", %{session: session} do
session
|> visit("/")
|> click(css(".header__user-nav a", text: "Register"))
|> fill_in(text_field("Name"), with: "Link")
|> fill_in(text_field("Password"), with: "ilovezelda")
|> click(button("Register"))
session
|> assert_has(css("[data-role='email-error']", text: "can't be blank"))
end
test "user cannot register without a password", %{session: session} do
session
|> visit("/")
|> click(css(".header__user-nav a", text: "Register"))
|> fill_in(text_field("Name"), with: "Link")
|> fill_in(text_field("Email"), with: "link@example.com")
|> click(button("Register"))
session
|> assert_has(css("[data-role='password-error']", text: "can't be blank"))
end
end