From 68898c4ac4d54bc2ddcfbd56b5534f7287084c09 Mon Sep 17 00:00:00 2001 From: Justin Simon Date: Wed, 1 Oct 2025 17:09:46 -0400 Subject: [PATCH] Add function to reset the database --- EconDataLens.Tests/DbReset.cs | 17 +++++++++++++++++ EconDataLens.Tests/Smoke/DbSmokeTest.cs | 9 ++++++--- 2 files changed, 23 insertions(+), 3 deletions(-) create mode 100644 EconDataLens.Tests/DbReset.cs diff --git a/EconDataLens.Tests/DbReset.cs b/EconDataLens.Tests/DbReset.cs new file mode 100644 index 0000000..2e4257e --- /dev/null +++ b/EconDataLens.Tests/DbReset.cs @@ -0,0 +1,17 @@ +using EconDataLens.Data; +using Microsoft.EntityFrameworkCore; + +[SetUpFixture] +public class DbReset +{ + public static async Task RecreateDatabaseAsync(string connectionString) + { + var options = new DbContextOptionsBuilder() + .UseNpgsql(connectionString) + .Options; + + await using var ctx = new EconDataLensDbContext(options); + await ctx.Database.EnsureDeletedAsync(); + await ctx.Database.MigrateAsync(); + } +} diff --git a/EconDataLens.Tests/Smoke/DbSmokeTest.cs b/EconDataLens.Tests/Smoke/DbSmokeTest.cs index 12b22c3..bd4ffcc 100644 --- a/EconDataLens.Tests/Smoke/DbSmokeTest.cs +++ b/EconDataLens.Tests/Smoke/DbSmokeTest.cs @@ -1,4 +1,4 @@ -using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore; using EconDataLens.Core.Entities.Cpi; using EconDataLens.Data; @@ -8,11 +8,14 @@ public class DbSmokeTests { private static EconDataLensDbContext CreateDb() { + var connectionString = PostgresFixture.ConnectionString; var opts = new DbContextOptionsBuilder() - .UseNpgsql(PostgresFixture.ConnectionString) + .UseNpgsql(connectionString) .UseSnakeCaseNamingConvention() .Options; + DbReset.RecreateDatabaseAsync(connectionString).GetAwaiter().GetResult(); + return new EconDataLensDbContext(opts); } @@ -33,4 +36,4 @@ public async Task Can_Migrate_And_Do_Basic_CRUD() db.CpiArea.RemoveRange(db.CpiArea.Where(a => a.AreaCode == "ZZZ0")); await db.SaveChangesAsync(); } -} \ No newline at end of file +}