Skip to content

Commit 84dffb6

Browse files
committed
Do not return if session or cache is null
1 parent aeaa31a commit 84dffb6

File tree

3 files changed

+18
-3
lines changed

3 files changed

+18
-3
lines changed

Src/Drogecode.Blazor.ExpireStorage/Drogecode.Blazor.ExpireStorage.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<Nullable>enable</Nullable>
66
<ImplicitUsings>enable</ImplicitUsings>
77
<RootNamespace>Drogecode.Blazor.ExpireStorage</RootNamespace>
8-
<Version>0.2.3</Version>
8+
<Version>0.2.4</Version>
99
<Title>Drogecode.Blazor.ExpireStorage</Title>
1010
<Authors>Taco Droogers</Authors>
1111
<PackageProjectUrl>https://github.com/Drogecode/Drogecode.Blazor.ExpireStorage</PackageProjectUrl>

Src/Drogecode.Blazor.ExpireStorage/Services/ExpireStorageService.cs

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -73,13 +73,19 @@ public ExpireStorageService(
7373
if ((request.CachedAndReplace || request.OneCallPerSession || (IsOffline && request.AlwaysCacheWhenOffline)) && !request.IgnoreCache)
7474
{
7575
var sessionResult = await _sessionStorageExpireService.GetItemAsync<TRes>(cacheKey, clt);
76-
return BuildResponse(sessionResult, HandledBy.Cache);
76+
if (sessionResult is not null)
77+
{
78+
return BuildResponse(sessionResult, HandledBy.Cache);
79+
}
7780
}
7881

7982
if ((request.CachedAndReplace || request.OneCallPerCache || (IsOffline && request.AlwaysCacheWhenOffline)) && !request.IgnoreCache)
8083
{
8184
var cacheResult = await _localStorageExpireService.GetItemAsync<TRes?>(cacheKey, clt);
82-
return BuildResponse(cacheResult, HandledBy.Cache);
85+
if (cacheResult is not null)
86+
{
87+
return BuildResponse(cacheResult, HandledBy.Cache);
88+
}
8389
}
8490

8591
if (!request.CachedAndReplace)

Tests/Drogecode.Blazor.ExpireStorage.Tests/Tests/Services/ExpireStorageServiceTests.cs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -125,4 +125,13 @@ public async Task CancellationTokenTest()
125125

126126
response.Should().BeNull();
127127
}
128+
129+
[Fact]
130+
public async Task OneCallPerSessionTest()
131+
{
132+
const string cacheKey = "OneCallPerSessionTest";
133+
var response = await _expireStorageService.CachedRequestAsync<string>(cacheKey, () => Task.FromResult("test"), new CachedRequest{OneCallPerSession = true, IgnoreCache = false, CachedAndReplace = false}, clt: TestContext.Current.CancellationToken);
134+
Assert.NotNull(response);
135+
response.Should().Be("test");
136+
}
128137
}

0 commit comments

Comments
 (0)