mitgliederverwaltung/test/accounts/empty_member_creation_test.exs

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