Add conditional service request row to ticket overview

This commit is contained in:
Meik
2026-07-17 18:48:48 +02:00
parent 0fef3ad49c
commit 62a5c97cbd
9 changed files with 338 additions and 5 deletions

View File

@@ -110,6 +110,37 @@ public class TicketOverviewUpdateServiceTest
});
}
[Fact]
public async Task FetchAsync_ServiceRequestsCapability_IsSeparatedFromCounts()
{
// Arrange
var communication = new FakeCommunication();
communication.SetCounts(TileScope.Personal, new Dictionary<string, int>(StringComparer.OrdinalIgnoreCase)
{
["ServiceRequestsEnabled"] = 1,
["ServiceRequestsNew"] = 2
});
communication.SetCounts(TileScope.Role, new Dictionary<string, int>(StringComparer.OrdinalIgnoreCase)
{
["ServiceRequestsNew"] = 4
});
var service = CreateService(communication, out _);
var availabilityChanges = 0;
service.ServiceRequestsAvailabilityChanged += (_, _) => availabilityChanges++;
// Act
service.UpdateAvailability(true);
await WaitUntilAsync(() => service.AreAllScopesInitialized);
// Assert
Assert.True(service.ServiceRequestsEnabled);
Assert.Equal(1, availabilityChanges);
Assert.Equal(2, service.CurrentCounts["ServiceRequestsNew"].Personal);
Assert.Equal(4, service.CurrentCounts["ServiceRequestsNew"].Role);
Assert.DoesNotContain("ServiceRequestsEnabled", service.CurrentCounts.Keys);
}
private static TicketOverviewUpdateService CreateService(FakeCommunication communication, out FakeDispatcher dispatcher)
{
dispatcher = new FakeDispatcher();