fix(test): use commercial fixtures in logic_search_tests.
Personal is never discoverable; assert exclusion explicitly. Refs EventHub/EventHubBack#73
This commit is contained in:
@@ -32,7 +32,8 @@ logic_search_test_() ->
|
||||
{"Access control in search", fun test_access_control/0},
|
||||
{"Empty search results", fun test_empty_search/0},
|
||||
{"Discovery tops without filters", fun test_discovery_returns_tops/0},
|
||||
{"Query switches to filtered search", fun test_discovery_with_q_uses_filter/0}
|
||||
{"Query switches to filtered search", fun test_discovery_with_q_uses_filter/0},
|
||||
{"Personal excluded from search", fun test_personal_excluded_from_search/0}
|
||||
]}.
|
||||
|
||||
%% Вспомогательные функции
|
||||
@@ -86,7 +87,7 @@ calendars_from({ok, Total, #{<<"calendars">> := Calendars}}) ->
|
||||
%% Тесты
|
||||
test_search_events_by_text() ->
|
||||
OwnerId = create_test_user(user),
|
||||
CalendarId = create_test_calendar(OwnerId, personal, []),
|
||||
CalendarId = create_test_calendar(OwnerId, commercial, []),
|
||||
|
||||
StartTime = eh_test_support:future_start(),
|
||||
create_test_event(CalendarId, <<"Python Workshop">>, <<"Learn Python">>, StartTime, [], undefined),
|
||||
@@ -103,7 +104,7 @@ test_search_events_by_text() ->
|
||||
|
||||
test_search_events_by_tags() ->
|
||||
OwnerId = create_test_user(user),
|
||||
CalendarId = create_test_calendar(OwnerId, personal, []),
|
||||
CalendarId = create_test_calendar(OwnerId, commercial, []),
|
||||
|
||||
StartTime = eh_test_support:future_start(),
|
||||
create_test_event(CalendarId, <<"Event 1">>, <<"">>, StartTime, [<<"python">>, <<"workshop">>], undefined),
|
||||
@@ -121,7 +122,7 @@ test_search_events_by_tags() ->
|
||||
|
||||
test_search_events_by_date() ->
|
||||
OwnerId = create_test_user(user),
|
||||
CalendarId = create_test_calendar(OwnerId, personal, []),
|
||||
CalendarId = create_test_calendar(OwnerId, commercial, []),
|
||||
|
||||
Base = eh_test_support:future_start(),
|
||||
create_test_event(CalendarId, <<"Near Event">>, <<"">>, Base, [], undefined),
|
||||
@@ -134,7 +135,7 @@ test_search_events_by_date() ->
|
||||
|
||||
test_search_events_by_location() ->
|
||||
OwnerId = create_test_user(user),
|
||||
CalendarId = create_test_calendar(OwnerId, personal, []),
|
||||
CalendarId = create_test_calendar(OwnerId, commercial, []),
|
||||
|
||||
StartTime = eh_test_support:future_start(),
|
||||
MoscowLoc = #location{address = <<"Moscow">>, lat = 55.7558, lon = 37.6173},
|
||||
@@ -153,7 +154,7 @@ test_search_events_by_location() ->
|
||||
|
||||
test_combined_search() ->
|
||||
OwnerId = create_test_user(user),
|
||||
CalendarId = create_test_calendar(OwnerId, personal, []),
|
||||
CalendarId = create_test_calendar(OwnerId, commercial, []),
|
||||
|
||||
Base = eh_test_support:future_start(),
|
||||
create_test_event(CalendarId, <<"Python Workshop">>, <<"Learn Python">>, Base,
|
||||
@@ -167,8 +168,10 @@ test_combined_search() ->
|
||||
|
||||
test_search_calendars() ->
|
||||
OwnerId = create_test_user(user),
|
||||
create_test_calendar(OwnerId, personal, [<<"tech">>, <<"programming">>]),
|
||||
create_test_calendar(OwnerId, commercial, [<<"tech">>, <<"programming">>]),
|
||||
create_test_calendar(OwnerId, commercial, [<<"yoga">>, <<"wellness">>]),
|
||||
%% personal never discoverable
|
||||
create_test_calendar(OwnerId, personal, [<<"tech">>, <<"private">>]),
|
||||
|
||||
{Total, _} = calendars_from(logic_search:search(<<"calendar">>, undefined, OwnerId, #{tags => <<"tech">>})),
|
||||
?assertEqual(1, Total),
|
||||
@@ -186,7 +189,7 @@ test_search_calendars_image_url() ->
|
||||
|
||||
test_search_all() ->
|
||||
OwnerId = create_test_user(user),
|
||||
CalendarId = create_test_calendar(OwnerId, personal, []),
|
||||
CalendarId = create_test_calendar(OwnerId, commercial, []),
|
||||
StartTime = eh_test_support:future_start(),
|
||||
create_test_event(CalendarId, <<"Test Event">>, <<"">>, StartTime, [], undefined),
|
||||
|
||||
@@ -197,7 +200,7 @@ test_search_all() ->
|
||||
|
||||
test_pagination() ->
|
||||
OwnerId = create_test_user(user),
|
||||
CalendarId = create_test_calendar(OwnerId, personal, []),
|
||||
CalendarId = create_test_calendar(OwnerId, commercial, []),
|
||||
StartTime = eh_test_support:future_start(),
|
||||
|
||||
lists:foreach(fun(I) ->
|
||||
@@ -217,7 +220,7 @@ test_pagination() ->
|
||||
|
||||
test_sorting() ->
|
||||
OwnerId = create_test_user(user),
|
||||
CalendarId = create_test_calendar(OwnerId, personal, []),
|
||||
CalendarId = create_test_calendar(OwnerId, commercial, []),
|
||||
|
||||
Base = eh_test_support:future_start(),
|
||||
create_test_event(CalendarId, <<"Early">>, <<"">>, Base, [], undefined),
|
||||
@@ -275,7 +278,7 @@ test_discovery_returns_tops() ->
|
||||
|
||||
test_discovery_with_q_uses_filter() ->
|
||||
OwnerId = create_test_user(user),
|
||||
CalendarId = create_test_calendar(OwnerId, personal, []),
|
||||
CalendarId = create_test_calendar(OwnerId, commercial, []),
|
||||
StartTime = eh_test_support:future_start(),
|
||||
LowId = create_test_event(CalendarId, <<"Alpha">>, <<"">>, StartTime, [], undefined),
|
||||
HighId = create_test_event(CalendarId, <<"Beta">>, <<"">>, StartTime, [], undefined),
|
||||
@@ -287,3 +290,13 @@ test_discovery_with_q_uses_filter() ->
|
||||
{Total, Results} = events_from(logic_search:search(<<"event">>, <<"Alpha">>, OwnerId, #{})),
|
||||
?assertEqual(1, Total),
|
||||
?assertMatch([#{title := <<"Alpha">>}], Results).
|
||||
|
||||
test_personal_excluded_from_search() ->
|
||||
OwnerId = create_test_user(user),
|
||||
PersonalId = create_test_calendar(OwnerId, personal, [<<"mine">>]),
|
||||
StartTime = eh_test_support:future_start(),
|
||||
create_test_event(PersonalId, <<"Secret Personal">>, <<"">>, StartTime, [], undefined),
|
||||
{TotalE, _} = events_from(logic_search:search(<<"event">>, <<"Secret">>, OwnerId, #{})),
|
||||
?assertEqual(0, TotalE),
|
||||
{TotalC, _} = calendars_from(logic_search:search(<<"calendar">>, undefined, OwnerId, #{tags => <<"mine">>})),
|
||||
?assertEqual(0, TotalC).
|
||||
|
||||
Reference in New Issue
Block a user