@@ -22,16 +22,16 @@ public class CachingApiAssetsPoolTests
2222 // Concrete implementation for testing the abstract class
2323 private class TestableCachingApiAssetsPool : CachingApiAssetsPool
2424 {
25- public Func < Task < IEnumerable < AssetResponseDto > > > LoadAssetsFunc { get ; set ; }
25+ public Func < Task < IList < AssetResponseDto > > > LoadAssetsFunc { get ; set ; }
2626
2727 public TestableCachingApiAssetsPool ( IApiCache apiCache , ImmichApi immichApi , IAccountSettings accountSettings )
28- : base ( apiCache , immichApi , accountSettings )
28+ : base ( apiCache , accountSettings )
2929 {
3030 }
3131
32- protected override Task < IEnumerable < AssetResponseDto > > LoadAssets ( CancellationToken ct = default )
32+ protected override Task < IList < AssetResponseDto > > LoadAssets ( CancellationToken ct = default )
3333 {
34- return LoadAssetsFunc != null ? LoadAssetsFunc ( ) : Task . FromResult ( Enumerable . Empty < AssetResponseDto > ( ) ) ;
34+ return LoadAssetsFunc != null ? LoadAssetsFunc ( ) : Task . FromResult < IList < AssetResponseDto > > ( new List < AssetResponseDto > ( ) ) ;
3535 }
3636 }
3737
@@ -47,9 +47,9 @@ public void Setup()
4747 // Default setup for ApiCache to execute the factory function
4848 _mockApiCache . Setup ( c => c . GetOrAddAsync (
4949 It . IsAny < string > ( ) ,
50- It . IsAny < Func < Task < IEnumerable < AssetResponseDto > > > > ( )
50+ It . IsAny < Func < Task < IList < AssetResponseDto > > > > ( )
5151 ) )
52- . Returns < string , Func < Task < IEnumerable < AssetResponseDto > > > > ( async ( key , factory ) => await factory ( ) ) ;
52+ . Returns < string , Func < Task < IList < AssetResponseDto > > > > ( async ( key , factory ) => await factory ( ) ) ;
5353
5454 // Default account settings
5555 _mockAccountSettings . SetupGet ( s => s . ShowArchived ) . Returns ( true ) ;
@@ -76,7 +76,7 @@ public async Task GetAssetCount_ReturnsCorrectCount_AfterFiltering()
7676 {
7777 // Arrange
7878 var assets = CreateSampleAssets ( ) ;
79- _testPool . LoadAssetsFunc = ( ) => Task . FromResult < IEnumerable < AssetResponseDto > > ( assets ) ;
79+ _testPool . LoadAssetsFunc = ( ) => Task . FromResult < IList < AssetResponseDto > > ( assets ) ;
8080 _mockAccountSettings . SetupGet ( s => s . ShowArchived ) . Returns ( false ) ; // Filter out archived
8181
8282 // Act
@@ -92,7 +92,7 @@ public async Task GetAssets_ReturnsRequestedNumberOfAssets()
9292 {
9393 // Arrange
9494 var assets = CreateSampleAssets ( ) ; // Total 5 assets, 4 images if ShowArchived = true
95- _testPool . LoadAssetsFunc = ( ) => Task . FromResult < IEnumerable < AssetResponseDto > > ( assets ) ;
95+ _testPool . LoadAssetsFunc = ( ) => Task . FromResult < IList < AssetResponseDto > > ( assets ) ;
9696 _mockAccountSettings . SetupGet ( s => s . ShowArchived ) . Returns ( true ) ; // Asset "3" included
9797
9898 // Act
@@ -109,7 +109,7 @@ public async Task GetAssets_ReturnsAllAvailableIfLessThanRequested()
109109 {
110110 // Arrange
111111 var assets = CreateSampleAssets ( ) . Where ( a => a . Type == AssetTypeEnum . IMAGE && ! a . IsArchived ) . ToList ( ) ; // 3 assets
112- _testPool . LoadAssetsFunc = ( ) => Task . FromResult < IEnumerable < AssetResponseDto > > ( assets ) ;
112+ _testPool . LoadAssetsFunc = ( ) => Task . FromResult < IList < AssetResponseDto > > ( assets ) ;
113113 _mockAccountSettings . SetupGet ( s => s . ShowArchived ) . Returns ( false ) ;
114114
115115 // Act
@@ -129,16 +129,16 @@ public async Task AllAssets_UsesCache_LoadAssetsCalledOnce()
129129 _testPool . LoadAssetsFunc = ( ) =>
130130 {
131131 loadAssetsCallCount ++ ;
132- return Task . FromResult < IEnumerable < AssetResponseDto > > ( assets ) ;
132+ return Task . FromResult < IList < AssetResponseDto > > ( assets ) ;
133133 } ;
134134
135135 // Setup cache to really cache after the first call
136- IEnumerable < AssetResponseDto > cachedValue = null ;
136+ IList < AssetResponseDto > cachedValue = null ;
137137 _mockApiCache . Setup ( c => c . GetOrAddAsync (
138138 It . IsAny < string > ( ) ,
139- It . IsAny < Func < Task < IEnumerable < AssetResponseDto > > > > ( )
139+ It . IsAny < Func < Task < IList < AssetResponseDto > > > > ( )
140140 ) )
141- . Returns < string , Func < Task < IEnumerable < AssetResponseDto > > > > ( async ( key , factory ) =>
141+ . Returns < string , Func < Task < IList < AssetResponseDto > > > > ( async ( key , factory ) =>
142142 {
143143 if ( cachedValue == null )
144144 {
@@ -162,7 +162,7 @@ public async Task ApplyAccountFilters_FiltersArchived()
162162 {
163163 // Arrange
164164 var assets = CreateSampleAssets ( ) ; // Asset "3" is archived
165- _testPool . LoadAssetsFunc = ( ) => Task . FromResult < IEnumerable < AssetResponseDto > > ( assets ) ;
165+ _testPool . LoadAssetsFunc = ( ) => Task . FromResult < IList < AssetResponseDto > > ( assets ) ;
166166 _mockAccountSettings . SetupGet ( s => s . ShowArchived ) . Returns ( false ) ;
167167
168168 // Act
@@ -178,7 +178,7 @@ public async Task ApplyAccountFilters_FiltersImagesUntilDate()
178178 {
179179 // Arrange
180180 var assets = CreateSampleAssets ( ) ;
181- _testPool . LoadAssetsFunc = ( ) => Task . FromResult < IEnumerable < AssetResponseDto > > ( assets ) ;
181+ _testPool . LoadAssetsFunc = ( ) => Task . FromResult < IList < AssetResponseDto > > ( assets ) ;
182182 var untilDate = DateTime . Now . AddDays ( - 7 ) ; // Assets "1" (10 days ago), "5" (1 year ago) should match
183183 _mockAccountSettings . SetupGet ( s => s . ImagesUntilDate ) . Returns ( untilDate ) ;
184184 _mockAccountSettings . SetupGet ( s => s . ShowArchived ) . Returns ( true ) ; // Include asset "3" for date check if not filtered by archive
@@ -201,7 +201,7 @@ public async Task ApplyAccountFilters_FiltersImagesFromDate()
201201 {
202202 // Arrange
203203 var assets = CreateSampleAssets ( ) ;
204- _testPool . LoadAssetsFunc = ( ) => Task . FromResult < IEnumerable < AssetResponseDto > > ( assets ) ;
204+ _testPool . LoadAssetsFunc = ( ) => Task . FromResult < IList < AssetResponseDto > > ( assets ) ;
205205 var fromDate = DateTime . Now . AddDays ( - 7 ) ; // Assets "3" (5 days ago), "4" (2 days ago) should match
206206 _mockAccountSettings . SetupGet ( s => s . ImagesFromDate ) . Returns ( fromDate ) ;
207207 _mockAccountSettings . SetupGet ( s => s . ShowArchived ) . Returns ( true ) ;
@@ -224,7 +224,7 @@ public async Task ApplyAccountFilters_FiltersImagesFromDays()
224224 {
225225 // Arrange
226226 var assets = CreateSampleAssets ( ) ;
227- _testPool . LoadAssetsFunc = ( ) => Task . FromResult < IEnumerable < AssetResponseDto > > ( assets ) ;
227+ _testPool . LoadAssetsFunc = ( ) => Task . FromResult < IList < AssetResponseDto > > ( assets ) ;
228228 _mockAccountSettings . SetupGet ( s => s . ImagesFromDays ) . Returns ( 7 ) ; // Last 7 days
229229 _mockAccountSettings . SetupGet ( s => s . ShowArchived ) . Returns ( true ) ;
230230 var fromDate = DateTime . Today . AddDays ( - 7 ) ;
@@ -248,7 +248,7 @@ public async Task ApplyAccountFilters_FiltersRating()
248248 {
249249 // Arrange
250250 var assets = CreateSampleAssets ( ) ; // Asset "1" (rating 5), "3" (rating 3), "4" (rating 5), "5" (rating 1)
251- _testPool . LoadAssetsFunc = ( ) => Task . FromResult < IEnumerable < AssetResponseDto > > ( assets ) ;
251+ _testPool . LoadAssetsFunc = ( ) => Task . FromResult < IList < AssetResponseDto > > ( assets ) ;
252252 _mockAccountSettings . SetupGet ( s => s . Rating ) . Returns ( 5 ) ;
253253 _mockAccountSettings . SetupGet ( s => s . ShowArchived ) . Returns ( true ) ;
254254
@@ -269,7 +269,7 @@ public async Task ApplyAccountFilters_CombinedFilters()
269269 {
270270 // Arrange
271271 var assets = CreateSampleAssets ( ) ;
272- _testPool . LoadAssetsFunc = ( ) => Task . FromResult < IEnumerable < AssetResponseDto > > ( assets ) ;
272+ _testPool . LoadAssetsFunc = ( ) => Task . FromResult < IList < AssetResponseDto > > ( assets ) ;
273273
274274 _mockAccountSettings . SetupGet ( s => s . ShowArchived ) . Returns ( false ) ; // No archived (Asset "3" out)
275275 _mockAccountSettings . SetupGet ( s => s . ImagesFromDays ) . Returns ( 15 ) ; // Last 15 days (Asset "5" out)
0 commit comments