feature: RBAC + Clinical Audit Logging
This commit is contained in:
@@ -61,10 +61,11 @@ public class AlertSuppressionTests : IAsyncLifetime
|
||||
var alertId = await SeedAlertAsync(AlertType.WarningHeartRate, AlertSeverity.Warning);
|
||||
|
||||
using var scope = _fixture.Services.CreateScope();
|
||||
TestAuthContext.AsNurse(scope.ServiceProvider);
|
||||
var alerts = scope.ServiceProvider.GetRequiredService<IAlertService>();
|
||||
var redis = scope.ServiceProvider.GetRequiredService<IConnectionMultiplexer>();
|
||||
|
||||
await alerts.AcknowledgeAsync(alertId, new AcknowledgeAlertRequest("nurse-1", "monitoring"));
|
||||
await alerts.AcknowledgeAsync(alertId, new AcknowledgeAlertRequest("monitoring"));
|
||||
|
||||
var key = AlertSuppressionService.SuppressionKey(_encounterId, AlertType.WarningHeartRate);
|
||||
(await redis.GetDatabase().KeyExistsAsync(key)).Should().BeTrue();
|
||||
@@ -78,11 +79,12 @@ public class AlertSuppressionTests : IAsyncLifetime
|
||||
var alertId = await SeedAlertAsync(AlertType.WarningHeartRate, AlertSeverity.Warning);
|
||||
|
||||
using var scope = _fixture.Services.CreateScope();
|
||||
TestAuthContext.AsNurse(scope.ServiceProvider);
|
||||
var alerts = scope.ServiceProvider.GetRequiredService<IAlertService>();
|
||||
var evaluator = scope.ServiceProvider.GetRequiredService<WarningEvaluator>();
|
||||
var db = scope.ServiceProvider.GetRequiredService<AppDbContext>();
|
||||
|
||||
await alerts.AcknowledgeAsync(alertId, new AcknowledgeAlertRequest("nurse-1", "monitoring"));
|
||||
await alerts.AcknowledgeAsync(alertId, new AcknowledgeAlertRequest("monitoring"));
|
||||
await alerts.ResolveAsync(alertId);
|
||||
|
||||
var created = await evaluator.EvaluateAsync(
|
||||
@@ -101,10 +103,11 @@ public class AlertSuppressionTests : IAsyncLifetime
|
||||
var alertId = await SeedAlertAsync(AlertType.CriticalHeartRate, AlertSeverity.Critical);
|
||||
|
||||
using var scope = _fixture.Services.CreateScope();
|
||||
TestAuthContext.AsNurse(scope.ServiceProvider, displayName: "Test Physician");
|
||||
var alerts = scope.ServiceProvider.GetRequiredService<IAlertService>();
|
||||
var redis = scope.ServiceProvider.GetRequiredService<IConnectionMultiplexer>();
|
||||
|
||||
await alerts.AcknowledgeAsync(alertId, new AcknowledgeAlertRequest("dr-1", "treating"));
|
||||
await alerts.AcknowledgeAsync(alertId, new AcknowledgeAlertRequest("treating"));
|
||||
|
||||
var key = AlertSuppressionService.SuppressionKey(_encounterId, AlertType.CriticalHeartRate);
|
||||
(await redis.GetDatabase().KeyExistsAsync(key)).Should().BeFalse();
|
||||
@@ -118,10 +121,11 @@ public class AlertSuppressionTests : IAsyncLifetime
|
||||
var alertId = await SeedAlertAsync(AlertType.News2Emergency, AlertSeverity.Critical);
|
||||
|
||||
using var scope = _fixture.Services.CreateScope();
|
||||
TestAuthContext.AsNurse(scope.ServiceProvider, displayName: "Test Physician");
|
||||
var alerts = scope.ServiceProvider.GetRequiredService<IAlertService>();
|
||||
var redis = scope.ServiceProvider.GetRequiredService<IConnectionMultiplexer>();
|
||||
|
||||
await alerts.AcknowledgeAsync(alertId, new AcknowledgeAlertRequest("dr-1", "reviewed"));
|
||||
await alerts.AcknowledgeAsync(alertId, new AcknowledgeAlertRequest("reviewed"));
|
||||
|
||||
var key = AlertSuppressionService.SuppressionKey(_encounterId, AlertType.News2Emergency);
|
||||
(await redis.GetDatabase().KeyExistsAsync(key)).Should().BeFalse();
|
||||
@@ -135,10 +139,11 @@ public class AlertSuppressionTests : IAsyncLifetime
|
||||
var alertId = await SeedAlertAsync(AlertType.News2Warning, AlertSeverity.Warning);
|
||||
|
||||
using var scope = _fixture.Services.CreateScope();
|
||||
TestAuthContext.AsNurse(scope.ServiceProvider);
|
||||
var alerts = scope.ServiceProvider.GetRequiredService<IAlertService>();
|
||||
var redis = scope.ServiceProvider.GetRequiredService<IConnectionMultiplexer>();
|
||||
|
||||
await alerts.AcknowledgeAsync(alertId, new AcknowledgeAlertRequest("nurse-1", "monitoring"));
|
||||
await alerts.AcknowledgeAsync(alertId, new AcknowledgeAlertRequest("monitoring"));
|
||||
|
||||
var key = AlertSuppressionService.SuppressionKey(_encounterId, AlertType.News2Warning);
|
||||
(await redis.GetDatabase().KeyExistsAsync(key)).Should().BeTrue();
|
||||
|
||||
Reference in New Issue
Block a user