Files
vigilcare-clinical/VigilCareClinicalAPI.Tests/Helpers/DbResetHelper.cs
T
voltsrage 7751d6df06 fix:
No SOFA trend chart or organ-system timeline
No GCS trend chart or component history
No qSOFA history view
2026-06-23 18:00:43 +08:00

46 lines
1.7 KiB
C#

using Microsoft.EntityFrameworkCore;
public static class DbResetHelper
{
// Truncate all data between tests — faster than dropping and re-creating
// the database, and preserves the schema (migrations do not re-run).
public static async Task ResetAsync(AppDbContext db)
{
for (var attempt = 0; ; attempt++)
{
try
{
await db.Database.ExecuteSqlRawAsync(@"
DELETE FROM phi_access_logs;
DELETE FROM clinical_sync_conflicts;
DELETE FROM clinical_sync_batches;
DELETE FROM ward_gateways;
DELETE FROM clinical_sites;
DELETE FROM medication_administrations;
DELETE FROM sepsis_bundle_elements;
DELETE FROM sepsis_bundles;
DELETE FROM reconciliation_alerts;
DELETE FROM outbox_events;
DELETE FROM orders;
DELETE FROM clinical_alerts;
DELETE FROM gcs_scores;
DELETE FROM sofa_scores;
DELETE FROM qsofa_evaluations;
DELETE FROM news2_scores;
DELETE FROM observations;
DELETE FROM external_resource_identifiers;
DELETE FROM encounters;
DELETE FROM alert_thresholds;
DELETE FROM clinical_audit_logs;
DELETE FROM clinical_users;
DELETE FROM patients;
");
return;
}
catch when (attempt < 5)
{
await Task.Delay(1000);
}
}
}
}