Consume ticket overview capabilities separately
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
using C4IT.FASD.Cockpit.Communication;
|
||||
using FasdDesktopUi.Basics.Services;
|
||||
using FasdDesktopUi.Basics.Services.Models;
|
||||
|
||||
@@ -117,7 +118,6 @@ public class TicketOverviewUpdateServiceTest
|
||||
var communication = new FakeCommunication();
|
||||
communication.SetCounts(TileScope.Personal, new Dictionary<string, int>(StringComparer.OrdinalIgnoreCase)
|
||||
{
|
||||
["TicketAndServiceRequestsEnabled"] = 1,
|
||||
["ServiceRequestsNew"] = 2
|
||||
});
|
||||
communication.SetCounts(TileScope.Role, new Dictionary<string, int>(StringComparer.OrdinalIgnoreCase)
|
||||
@@ -150,10 +150,7 @@ public class TicketOverviewUpdateServiceTest
|
||||
Assert.True(service.TicketAndServiceRequestsEnabled);
|
||||
Assert.Equal(0, availabilityChanges);
|
||||
|
||||
communication.SetCounts(TileScope.Personal, new Dictionary<string, int>(StringComparer.OrdinalIgnoreCase)
|
||||
{
|
||||
["TicketAndServiceRequestsEnabled"] = 0
|
||||
});
|
||||
communication.SetCapability(TileScope.Personal, false);
|
||||
await service.FetchAsync(TileScope.Personal);
|
||||
|
||||
Assert.False(service.TicketAndServiceRequestsEnabled);
|
||||
@@ -199,18 +196,27 @@ public class TicketOverviewUpdateServiceTest
|
||||
|
||||
private sealed class FakeCommunication : ITicketOverviewCommunication
|
||||
{
|
||||
private Dictionary<string, int> _personalCounts = new Dictionary<string, int>(StringComparer.OrdinalIgnoreCase);
|
||||
private Dictionary<string, int> _roleCounts = new Dictionary<string, int>(StringComparer.OrdinalIgnoreCase);
|
||||
private cF4sdTicketOverviewCountsResult _personalResult = new cF4sdTicketOverviewCountsResult();
|
||||
private cF4sdTicketOverviewCountsResult _roleResult = new cF4sdTicketOverviewCountsResult();
|
||||
|
||||
public bool IsDemo()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
public Task<Dictionary<string, int>> GetTicketOverviewCounts(string[] overviewKeys, bool useRoleScope)
|
||||
public Task<cF4sdTicketOverviewCountsResult> GetTicketOverviewCounts(string[] overviewKeys, bool useRoleScope)
|
||||
{
|
||||
var source = useRoleScope ? _roleCounts : _personalCounts;
|
||||
return Task.FromResult(new Dictionary<string, int>(source, StringComparer.OrdinalIgnoreCase));
|
||||
var source = useRoleScope ? _roleResult : _personalResult;
|
||||
return Task.FromResult(new cF4sdTicketOverviewCountsResult
|
||||
{
|
||||
Counts = new Dictionary<string, int>(source.Counts, StringComparer.OrdinalIgnoreCase),
|
||||
Capabilities = source.Capabilities == null
|
||||
? null
|
||||
: new cF4sdTicketOverviewCapabilities
|
||||
{
|
||||
TicketAndServiceRequestsEnabled = source.Capabilities.TicketAndServiceRequestsEnabled
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public void RegisterGeneratedTicket(FasdCockpitCommunicationDemo.DemoTicketRecord record)
|
||||
@@ -225,13 +231,22 @@ public class TicketOverviewUpdateServiceTest
|
||||
|
||||
if (scope == TileScope.Role)
|
||||
{
|
||||
_roleCounts = copy;
|
||||
_roleResult.Counts = copy;
|
||||
}
|
||||
else
|
||||
{
|
||||
_personalCounts = copy;
|
||||
_personalResult.Counts = copy;
|
||||
}
|
||||
}
|
||||
|
||||
public void SetCapability(TileScope scope, bool enabled)
|
||||
{
|
||||
var result = scope == TileScope.Role ? _roleResult : _personalResult;
|
||||
result.Capabilities = new cF4sdTicketOverviewCapabilities
|
||||
{
|
||||
TicketAndServiceRequestsEnabled = enabled
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
private sealed class FakeDispatcher : ITicketOverviewDispatcher
|
||||
|
||||
Reference in New Issue
Block a user