mirror of
https://github.com/danbee/chess
synced 2025-03-04 08:39:06 +00:00
55 lines
1.7 KiB
Elixir
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
|