52 lines
1.7 KiB
Elixir
52 lines
1.7 KiB
Elixir
defmodule Mv.Accounts.EmptyMemberCreationTest do
|
|
use Mv.DataCase, async: true
|
|
alias Mv.Accounts
|
|
alias Mv.Membership
|
|
|
|
describe "Empty Member Creation" do
|
|
test "can create completely empty member" do
|
|
{:ok, member} = Membership.create_member(%{})
|
|
|
|
assert member.id
|
|
assert member.first_name == nil
|
|
assert member.last_name == nil
|
|
assert member.member_email == nil
|
|
assert member.birth_date == nil
|
|
assert member.paid == nil
|
|
assert member.phone_number == nil
|
|
assert member.join_date == nil
|
|
assert member.exit_date == nil
|
|
assert member.notes == nil
|
|
assert member.city == nil
|
|
assert member.street == nil
|
|
assert member.house_number == nil
|
|
assert member.postal_code == nil
|
|
end
|
|
|
|
test "user creation creates empty member automatically" do
|
|
{:ok, user} = Accounts.create_user(%{email: "test@example.com"})
|
|
|
|
# Reload user to get the member_id
|
|
user = Ash.reload!(user, domain: Mv.Accounts)
|
|
assert user.member_id
|
|
|
|
# Get the created member
|
|
member = Ash.get!(Mv.Membership.Member, user.member_id, domain: Mv.Membership)
|
|
|
|
# Member should be mostly empty except for email
|
|
assert member.member_email == "test@example.com"
|
|
assert member.first_name == nil
|
|
assert member.last_name == nil
|
|
assert member.birth_date == nil
|
|
assert member.paid == nil
|
|
assert member.phone_number == nil
|
|
assert member.join_date == nil
|
|
assert member.exit_date == nil
|
|
assert member.notes == nil
|
|
assert member.city == nil
|
|
assert member.street == nil
|
|
assert member.house_number == nil
|
|
assert member.postal_code == nil
|
|
end
|
|
end
|
|
end
|