Skip to content

Commit ae922c8

Browse files
committed
Fixed DataLoader Tests
1 parent 95b6ca7 commit ae922c8

File tree

1 file changed

+44
-38
lines changed

1 file changed

+44
-38
lines changed

src/GreenDonut/test/GreenDonut.Tests/DataLoaderTests.cs

Lines changed: 44 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,10 @@ public void ClearCacheNoException()
1515
var fetch = CreateFetch<string, string>();
1616
var services = new ServiceCollection()
1717
.AddScoped<IBatchScheduler, ManualBatchScheduler>()
18-
.AddDataLoader(sp => new DataLoader<string, string>(fetch, sp.GetRequiredService<IBatchScheduler>()));
18+
.AddDataLoader(sp => new DataLoader<string, string>(
19+
fetch,
20+
sp.GetRequiredService<IBatchScheduler>(),
21+
sp.GetRequiredService<DataLoaderOptions>()));
1922
var scope = services.BuildServiceProvider().CreateScope();
2023
var dataLoader = scope.ServiceProvider.GetRequiredService<DataLoader<string, string>>();
2124

@@ -52,7 +55,7 @@ public async Task LoadSingleKeyNull()
5255
// arrange
5356
var fetch = CreateFetch<string, string>();
5457
var batchScheduler = new ManualBatchScheduler();
55-
var loader = new DataLoader<string, string>(fetch, batchScheduler);
58+
var loader = new DataLoader<string, string>(fetch, batchScheduler, new DataLoaderOptions());
5659

5760
// act
5861
Task<string?> Verify() => loader.LoadAsync(default(string)!, CancellationToken.None);
@@ -67,7 +70,7 @@ public async Task LoadSingleResult()
6770
// arrange
6871
var fetch = CreateFetch<string, string>("Bar");
6972
var batchScheduler = new ManualBatchScheduler();
70-
var loader = new DataLoader<string, string>(fetch, batchScheduler);
73+
var loader = new DataLoader<string, string>(fetch, batchScheduler, new DataLoaderOptions());
7174
var key = "Foo";
7275

7376
// act
@@ -85,7 +88,7 @@ public async Task LoadSingleResultTwice()
8588
// arrange
8689
var fetch = CreateFetch<string, string>("Bar");
8790
var batchScheduler = new DelayDispatcher();
88-
var loader = new DataLoader<string, string>(fetch, batchScheduler);
91+
var loader = new DataLoader<string, string>(fetch, batchScheduler, new DataLoaderOptions());
8992
var key = "Foo";
9093

9194
// first load.
@@ -106,7 +109,8 @@ public async Task LoadSingleResultNoCache()
106109
var batchScheduler = new ManualBatchScheduler();
107110
var loader = new DataLoader<string, string>(
108111
fetch,
109-
batchScheduler);
112+
batchScheduler,
113+
new DataLoaderOptions());
110114
var key = "Foo";
111115

112116
// act
@@ -124,7 +128,7 @@ public async Task LoadSingleErrorResult()
124128
// arrange
125129
var fetch = CreateFetch<string, string>();
126130
var batchScheduler = new ManualBatchScheduler();
127-
var loader = new DataLoader<string, string>(fetch, batchScheduler);
131+
var loader = new DataLoader<string, string>(fetch, batchScheduler, new DataLoaderOptions());
128132
var key = "Foo";
129133

130134
// act
@@ -144,7 +148,7 @@ public async Task LoadParamsKeysNull()
144148
// arrange
145149
var fetch = CreateFetch<string, string>();
146150
var batchScheduler = new ManualBatchScheduler();
147-
var loader = new DataLoader<string, string>(fetch, batchScheduler);
151+
var loader = new DataLoader<string, string>(fetch, batchScheduler, new DataLoaderOptions());
148152

149153
// act
150154
Task<IReadOnlyList<string?>> Verify() => loader.LoadAsync(default(string[])!);
@@ -159,7 +163,7 @@ public async Task LoadParamsZeroKeys()
159163
// arrange
160164
var fetch = TestHelpers.CreateFetch<string, string>();
161165
var batchScheduler = new ManualBatchScheduler();
162-
var loader = new DataLoader<string, string>(fetch, batchScheduler);
166+
var loader = new DataLoader<string, string>(fetch, batchScheduler, new DataLoaderOptions());
163167
var keys = Array.Empty<string>();
164168

165169
// act
@@ -178,7 +182,7 @@ public async Task LoadParamsResult()
178182
var fetch = TestHelpers
179183
.CreateFetch<string, string>("Bar");
180184
var batchScheduler = new ManualBatchScheduler();
181-
var loader = new DataLoader<string, string>(fetch, batchScheduler);
185+
var loader = new DataLoader<string, string>(fetch, batchScheduler, new DataLoaderOptions());
182186
var keys = new[] { "Foo", };
183187

184188
// act
@@ -196,7 +200,7 @@ public async Task LoadCollectionKeysNull()
196200
// arrange
197201
var fetch = CreateFetch<string, string>();
198202
var batchScheduler = new ManualBatchScheduler();
199-
var loader = new DataLoader<string, string>(fetch, batchScheduler);
203+
var loader = new DataLoader<string, string>(fetch, batchScheduler, new DataLoaderOptions());
200204

201205
// act
202206
Task<IReadOnlyList<string?>> Verify()
@@ -212,7 +216,7 @@ public async Task LoadCollectionZeroKeys()
212216
// arrange
213217
var fetch = CreateFetch<string, string>();
214218
var batchScheduler = new ManualBatchScheduler();
215-
var loader = new DataLoader<string, string>(fetch, batchScheduler);
219+
var loader = new DataLoader<string, string>(fetch, batchScheduler, new DataLoaderOptions());
216220
var keys = new List<string>();
217221

218222
// act
@@ -230,7 +234,7 @@ public async Task LoadCollectionResult()
230234
// arrange
231235
var fetch = CreateFetch<string, string>("Bar");
232236
var batchScheduler = new ManualBatchScheduler();
233-
var loader = new DataLoader<string, string>(fetch, batchScheduler);
237+
var loader = new DataLoader<string, string>(fetch, batchScheduler, new DataLoaderOptions());
234238
var keys = new List<string> { "Foo", };
235239

236240
// act
@@ -249,7 +253,8 @@ public async Task LoadCollectionResultTwice()
249253
var batchScheduler = new DelayDispatcher();
250254
var loader = new DataLoader<string, string>(
251255
fetch,
252-
batchScheduler);
256+
batchScheduler,
257+
new DataLoaderOptions());
253258
var keys = new List<string> { "Foo", };
254259

255260
(await loader.LoadAsync(keys, CancellationToken.None)).MatchSnapshot();
@@ -269,7 +274,8 @@ public async Task LoadCollectionResultNoCache()
269274
var batchScheduler = new ManualBatchScheduler();
270275
var loader = new DataLoader<string, string>(
271276
fetch,
272-
batchScheduler);
277+
batchScheduler,
278+
new DataLoaderOptions());
273279
var keys = new List<string> { "Foo", };
274280

275281
// act
@@ -311,7 +317,7 @@ ValueTask Fetch(
311317
}
312318

313319
var batchScheduler = new ManualBatchScheduler();
314-
var loader = new DataLoader<string, string?>(Fetch, batchScheduler);
320+
var loader = new DataLoader<string, string?>(Fetch, batchScheduler, new DataLoaderOptions());
315321
var requestKeys = new[] { "Foo", "Bar", "Baz", "Qux", };
316322

317323
// act
@@ -356,7 +362,7 @@ ValueTask Fetch(
356362
}
357363

358364
var batchScheduler = new ManualBatchScheduler();
359-
var loader = new DataLoader<string, string>(Fetch, batchScheduler);
365+
var loader = new DataLoader<string, string>(Fetch, batchScheduler, new DataLoaderOptions());
360366
var requestKeys = new[] { "Foo", "Bar", "Baz", "Qux", };
361367

362368
// act
@@ -379,7 +385,7 @@ public async Task LoadBatchingError()
379385
// arrange
380386
var expectedException = new Exception("Foo");
381387
var batchScheduler = new ManualBatchScheduler();
382-
var loader = new DataLoader<string, string>(Fetch, batchScheduler);
388+
var loader = new DataLoader<string, string>(Fetch, batchScheduler, new DataLoaderOptions());
383389
var requestKeys = new[] { "Foo", "Bar", "Baz", "Qux", };
384390

385391
ValueTask Fetch(
@@ -503,7 +509,7 @@ public void RemoveCacheEntryKeyNull()
503509
// arrange
504510
var fetch = CreateFetch<string, string>();
505511
var batchScheduler = new ManualBatchScheduler();
506-
var loader = new DataLoader<string, string>(fetch, batchScheduler);
512+
var loader = new DataLoader<string, string>(fetch, batchScheduler, new DataLoaderOptions());
507513

508514
loader.SetCacheEntry("Foo", Task.FromResult<string?>("Bar"));
509515

@@ -520,7 +526,7 @@ public void RemoveCacheEntryNoException()
520526
// arrange
521527
var fetch = CreateFetch<string, string>();
522528
var batchScheduler = new ManualBatchScheduler();
523-
var loader = new DataLoader<string, string>(fetch, batchScheduler);
529+
var loader = new DataLoader<string, string>(fetch, batchScheduler, new DataLoaderOptions());
524530
var key = "Foo";
525531

526532
// act
@@ -556,7 +562,7 @@ public void SetCacheEntryKeyNull()
556562
// arrange
557563
var fetch = CreateFetch<string, string>();
558564
var batchScheduler = new ManualBatchScheduler();
559-
var loader = new DataLoader<string, string>(fetch, batchScheduler);
565+
var loader = new DataLoader<string, string>(fetch, batchScheduler, new DataLoaderOptions());
560566
var value = Task.FromResult<string?>("Foo");
561567

562568
// act
@@ -572,8 +578,8 @@ public void SetCacheEntryValueNull()
572578
// arrange
573579
var fetch = CreateFetch<string, string>();
574580
var batchScheduler = new ManualBatchScheduler();
575-
var loader = new DataLoader<string, string>(fetch, batchScheduler);
576-
var key = "Foo";
581+
var loader = new DataLoader<string, string>(fetch, batchScheduler, new DataLoaderOptions());
582+
const string key = "Foo";
577583

578584
// act
579585
void Verify() => loader.SetCacheEntry(key, default!);
@@ -628,7 +634,7 @@ public async Task IDataLoaderLoadSingleKeyNull()
628634
// arrange
629635
var fetch = CreateFetch<string, string>();
630636
var batchScheduler = new ManualBatchScheduler();
631-
IDataLoader loader = new DataLoader<string, string>(fetch, batchScheduler);
637+
IDataLoader loader = new DataLoader<string, string>(fetch, batchScheduler, new DataLoaderOptions());
632638

633639
// act
634640
Task<object?> Verify() => loader.LoadAsync(default(object)!);
@@ -643,7 +649,7 @@ public async Task IDataLoaderLoadSingleResult()
643649
// arrange
644650
var fetch = CreateFetch<string, string>("Bar");
645651
var batchScheduler = new ManualBatchScheduler();
646-
IDataLoader loader = new DataLoader<string, string>(fetch, batchScheduler);
652+
IDataLoader loader = new DataLoader<string, string>(fetch, batchScheduler, new DataLoaderOptions());
647653
object key = "Foo";
648654

649655
// act
@@ -661,7 +667,7 @@ public async Task IDataLoaderLoadSingleErrorResult()
661667
// arrange
662668
var fetch = CreateFetch<string, string>();
663669
var batchScheduler = new ManualBatchScheduler();
664-
IDataLoader loader = new DataLoader<string, string>(fetch, batchScheduler);
670+
IDataLoader loader = new DataLoader<string, string>(fetch, batchScheduler, new DataLoaderOptions());
665671
object key = "Foo";
666672

667673
// act
@@ -683,7 +689,7 @@ public async Task IDataLoaderLoadParamsKeysNull()
683689
// arrange
684690
var fetch = CreateFetch<string, string>();
685691
var batchScheduler = new ManualBatchScheduler();
686-
IDataLoader loader = new DataLoader<string, string>(fetch, batchScheduler);
692+
IDataLoader loader = new DataLoader<string, string>(fetch, batchScheduler, new DataLoaderOptions());
687693

688694
// act
689695
Task<IReadOnlyList<object?>> Verify() => loader.LoadAsync(default(object[])!);
@@ -698,7 +704,7 @@ public async Task IDataLoaderLoadParamsZeroKeys()
698704
// arrange
699705
var fetch = CreateFetch<string, string>();
700706
var batchScheduler = new ManualBatchScheduler();
701-
IDataLoader loader = new DataLoader<string, string>(fetch, batchScheduler);
707+
IDataLoader loader = new DataLoader<string, string>(fetch, batchScheduler, new DataLoaderOptions());
702708
var keys = Array.Empty<object>();
703709

704710
// act
@@ -714,7 +720,7 @@ public async Task IDataLoaderLoadParamsResult()
714720
// arrange
715721
var fetch = CreateFetch<string, string>("Bar");
716722
var batchScheduler = new ManualBatchScheduler();
717-
IDataLoader loader = new DataLoader<string, string>(fetch, batchScheduler);
723+
IDataLoader loader = new DataLoader<string, string>(fetch, batchScheduler, new DataLoaderOptions());
718724
var keys = new object[] { "Foo", };
719725

720726
// act
@@ -732,7 +738,7 @@ public async Task IDataLoaderLoadCollectionKeysNull()
732738
// arrange
733739
var fetch = CreateFetch<string, string>();
734740
var batchScheduler = new ManualBatchScheduler();
735-
IDataLoader loader = new DataLoader<string, string>(fetch, batchScheduler);
741+
IDataLoader loader = new DataLoader<string, string>(fetch, batchScheduler, new DataLoaderOptions());
736742

737743
// act
738744
Task<IReadOnlyList<object?>> Verify()
@@ -748,7 +754,7 @@ public async Task IDataLoaderLoadCollectionZeroKeys()
748754
// arrange
749755
var fetch = CreateFetch<string, string>();
750756
var batchScheduler = new ManualBatchScheduler();
751-
IDataLoader loader = new DataLoader<string, string>(fetch, batchScheduler);
757+
IDataLoader loader = new DataLoader<string, string>(fetch, batchScheduler, new DataLoaderOptions());
752758
var keys = new List<object>();
753759

754760
// act
@@ -764,7 +770,7 @@ public async Task IDataLoaderLoadCollectionResult()
764770
// arrange
765771
var fetch = CreateFetch<string, string>("Bar");
766772
var batchScheduler = new ManualBatchScheduler();
767-
IDataLoader loader = new DataLoader<string, string>(fetch, batchScheduler);
773+
IDataLoader loader = new DataLoader<string, string>(fetch, batchScheduler, new DataLoaderOptions());
768774
var keys = new List<object> { "Foo", };
769775

770776
// act
@@ -782,7 +788,7 @@ public void IDataLoaderRemoveCacheEntryKeyNull()
782788
// arrange
783789
var fetch = CreateFetch<string, string>();
784790
var batchScheduler = new ManualBatchScheduler();
785-
IDataLoader loader = new DataLoader<string, string>(fetch, batchScheduler);
791+
IDataLoader loader = new DataLoader<string, string>(fetch, batchScheduler, new DataLoaderOptions());
786792

787793
loader.SetCacheEntry("Foo", Task.FromResult((object?)"Bar"));
788794

@@ -799,7 +805,7 @@ public void IDataLoaderRemoveCacheEntryNoException()
799805
// arrange
800806
var fetch = CreateFetch<string, string>();
801807
var batchScheduler = new ManualBatchScheduler();
802-
IDataLoader loader = new DataLoader<string, string>(fetch, batchScheduler);
808+
IDataLoader loader = new DataLoader<string, string>(fetch, batchScheduler, new DataLoaderOptions());
803809
object key = "Foo";
804810

805811
// act
@@ -835,7 +841,7 @@ public void IDataLoaderSetCacheEntryKeyNull()
835841
// arrange
836842
var fetch = CreateFetch<string, string>();
837843
var batchScheduler = new ManualBatchScheduler();
838-
IDataLoader loader = new DataLoader<string, string>(fetch, batchScheduler);
844+
IDataLoader loader = new DataLoader<string, string>(fetch, batchScheduler, new DataLoaderOptions());
839845
var value = Task.FromResult<object?>("Foo");
840846

841847
// act
@@ -851,7 +857,7 @@ public void IDataLoaderSetCacheEntryValueNull()
851857
// arrange
852858
var fetch = CreateFetch<string, string>();
853859
var batchScheduler = new ManualBatchScheduler();
854-
IDataLoader loader = new DataLoader<string, string>(fetch, batchScheduler);
860+
IDataLoader loader = new DataLoader<string, string>(fetch, batchScheduler, new DataLoaderOptions());
855861
object key = "Foo";
856862

857863
// act
@@ -867,7 +873,7 @@ public void IDataLoaderSetCacheEntryNoException()
867873
// arrange
868874
var fetch = CreateFetch<string, string>();
869875
var batchScheduler = new ManualBatchScheduler();
870-
IDataLoader loader = new DataLoader<string, string>(fetch, batchScheduler);
876+
IDataLoader loader = new DataLoader<string, string>(fetch, batchScheduler, new DataLoaderOptions());
871877
object key = "Foo";
872878
var value = Task.FromResult<object?>("Bar");
873879

@@ -942,7 +948,7 @@ public async Task Add_Additional_Lookup_With_CacheObserver()
942948

943949
private class TestDataLoader1(
944950
IBatchScheduler batchScheduler,
945-
DataLoaderOptions? options = null)
951+
DataLoaderOptions options)
946952
: DataLoaderBase<int, Entity>(batchScheduler, options)
947953
{
948954
protected internal override ValueTask FetchAsync(
@@ -965,7 +971,7 @@ private class TestDataLoader2 : DataLoaderBase<int, Entity>
965971
{
966972
public TestDataLoader2(
967973
IBatchScheduler batchScheduler,
968-
DataLoaderOptions? options = null)
974+
DataLoaderOptions options)
969975
: base(batchScheduler, options)
970976
{
971977
PromiseCacheObserver

0 commit comments

Comments
 (0)