feat: create default personal calendar on email verification. Refs EventHub/EventHubBack#49

This commit is contained in:
2026-07-20 11:17:31 +03:00
parent 2440c50330
commit 7c1fe1940d
4 changed files with 80 additions and 6 deletions
+18 -2
View File
@@ -30,7 +30,8 @@ logic_calendar_test_() ->
{"List calendars test", fun test_list_calendars/0},
{"Update calendar test", fun test_update_calendar/0},
{"Delete calendar test", fun test_delete_calendar/0},
{"Access control test", fun test_access_control/0}
{"Access control test", fun test_access_control/0},
{"Ensure default calendar test", fun test_ensure_default_calendar/0}
]}.
create_test_user() ->
@@ -41,6 +42,7 @@ create_test_user() ->
password_hash = <<"hash">>,
role = user,
status = active,
nickname = <<>>,
created_at = calendar:universal_time(),
updated_at = calendar:universal_time()
},
@@ -121,4 +123,18 @@ test_access_control() ->
{ok, Frozen} = core_calendar:update(CommercialCalendar#calendar.id, [{status, frozen}]),
?assertNot(logic_calendar:can_access(OtherId, Frozen)),
?assertNot(logic_calendar:can_access(OwnerId, Frozen)).
?assertNot(logic_calendar:can_access(OwnerId, Frozen)).
test_ensure_default_calendar() ->
UserId = create_test_user(),
ok = logic_calendar:ensure_default_calendar(UserId),
{ok, Calendars} = logic_calendar:list_calendars(UserId),
?assertEqual(1, length(Calendars)),
Cal = hd(Calendars),
?assertEqual(personal, Cal#calendar.type),
?assertEqual(<<>>, Cal#calendar.short_name),
?assertEqual(active, Cal#calendar.status),
?assert(byte_size(Cal#calendar.title) > 0),
ok = logic_calendar:ensure_default_calendar(UserId),
{ok, Calendars2} = logic_calendar:list_calendars(UserId),
?assertEqual(1, length(Calendars2)).