@@ -10,11 +10,16 @@ namespace SgfDevs.Dev.EventSync;
1010
1111public class PresenterMemberMatcher
1212{
13- private readonly IMemberService _memberService ;
13+ private readonly Func < string , IReadOnlyList < Guid > > _findMembersByDisplayName ;
1414
1515 public PresenterMemberMatcher ( IMemberService memberService )
1616 {
17- _memberService = memberService ;
17+ _findMembersByDisplayName = searchTerm => FindMembersByDisplayName ( memberService , searchTerm ) ;
18+ }
19+
20+ internal PresenterMemberMatcher ( Func < string , IReadOnlyList < Guid > > findMembersByDisplayName )
21+ {
22+ _findMembersByDisplayName = findMembersByDisplayName ;
1823 }
1924
2025 public IReadOnlyList < ImportedPresenterPlan > MatchPresenters ( IReadOnlyList < ImportedPresenterPlan > presenters )
@@ -32,12 +37,12 @@ private ImportedPresenterPlan MatchPresenter(ImportedPresenterPlan presenter)
3237 : presenter ;
3338 }
3439
35- internal static Guid ? GetMatchedMemberKey ( IReadOnlyList < Guid > memberKeys )
40+ private static Guid ? GetMatchedMemberKey ( IReadOnlyList < Guid > memberKeys )
3641 {
3742 return memberKeys . Count == 1 ? memberKeys [ 0 ] : null ;
3843 }
3944
40- internal static IReadOnlyList < string > BuildSearchTerms ( string ? name )
45+ private static IReadOnlyList < string > BuildSearchTerms ( string ? name )
4146 {
4247 var normalizedName = NormalizeName ( name ) ;
4348 if ( string . IsNullOrWhiteSpace ( normalizedName ) )
@@ -68,7 +73,7 @@ internal static IReadOnlyList<string> BuildSearchTerms(string? name)
6873 return GetMatchedMemberKey ( memberKeys ) ;
6974 }
7075
71- internal static string NormalizeName ( string ? name )
76+ private static string NormalizeName ( string ? name )
7277 {
7378 if ( string . IsNullOrWhiteSpace ( name ) )
7479 {
@@ -81,13 +86,15 @@ internal static string NormalizeName(string? name)
8186 . ToLowerInvariant ( ) ;
8287 }
8388
84- private IReadOnlyList < Guid > FindMembersByDisplayName ( string searchTerm )
89+ private IReadOnlyList < Guid > FindMembersByDisplayName ( string searchTerm ) => _findMembersByDisplayName ( searchTerm ) ;
90+
91+ private static IReadOnlyList < Guid > FindMembersByDisplayName ( IMemberService memberService , string searchTerm )
8592 {
8693 const int pageIndex = 0 ;
8794 const int pageSize = 10 ;
8895 long totalRecords ;
8996
90- return _memberService
97+ return memberService
9198 . FindMembersByDisplayName ( searchTerm , pageIndex , pageSize , out totalRecords , StringPropertyMatchType . Exact )
9299 . Select ( member => member . Key )
93100 . ToList ( ) ;
0 commit comments