Added helpers for creating in-memory database contexts for testing

This commit is contained in:
Jordan Dominion
2023-11-13 18:14:44 -05:00
parent b697b6cf4c
commit 9c769046bb
3 changed files with 34 additions and 0 deletions
@@ -0,0 +1,13 @@
using Microsoft.EntityFrameworkCore;
using Tgstation.Server.Host.Database;
namespace Tgstation.Server.Host.Tests
{
sealed class MemoryDatabaseContext : DatabaseContext
{
public MemoryDatabaseContext(DbContextOptions dbContextOptions) : base(dbContextOptions)
{
}
}
}
@@ -5,6 +5,10 @@
<TargetFramework>$(TgsFrameworkVersion)</TargetFramework>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.EntityFrameworkCore.InMemory" Version="7.0.13" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\src\Tgstation.Server.Host\Tgstation.Server.Host.csproj" />
</ItemGroup>
@@ -0,0 +1,17 @@
using Microsoft.EntityFrameworkCore;
using Tgstation.Server.Host.Database;
namespace Tgstation.Server.Host.Tests
{
static class Utils
{
public static MemoryDatabaseContext CreateDatabaseContext()
{
var options = new DbContextOptionsBuilder<MemoryDatabaseContext>()
.UseInMemoryDatabase(databaseName: "TgsTestDB")
.Options;
return new MemoryDatabaseContext(options);
}
}
}