feat: relate user and member

This commit is contained in:
Moritz 2025-08-05 17:17:28 +02:00
parent b7f0060358
commit d4c7af558d
Signed by: moritz
GPG key ID: 1020A035E5DD0824
8 changed files with 167 additions and 12 deletions

View file

@ -8,7 +8,7 @@ defmodule Mv.Membership.MemberTest do
last_name: "Doe",
birth_date: ~D[1990-01-01],
paid: true,
email: "john@example.com",
member_email: "john@example.com",
phone_number: "+49123456789",
join_date: ~D[2020-01-01],
exit_date: nil,
@ -31,16 +31,15 @@ defmodule Mv.Membership.MemberTest do
assert error_message(errors, :last_name) =~ "must be present"
end
test "Email is required" do
attrs = Map.put(@valid_attrs, :email, "")
assert {:error, %Ash.Error.Invalid{errors: errors}} = Membership.create_member(attrs)
assert error_message(errors, :email) =~ "must be present"
test "Email is optional" do
attrs = Map.delete(@valid_attrs, :member_email)
assert {:ok, _member} = Membership.create_member(attrs)
end
test "Email must be valid" do
attrs = Map.put(@valid_attrs, :email, "test@")
test "Email must be valid if provided" do
attrs = Map.put(@valid_attrs, :member_email, "test@")
assert {:error, %Ash.Error.Invalid{errors: errors}} = Membership.create_member(attrs)
assert error_message(errors, :email) =~ "is not a valid email"
assert error_message(errors, :member_email) =~ "is not a valid email"
end
test "Birth date is optional but must not be in the future" do