IW4M-Admin/Tests/ApplicationTests/Mocks/DatabaseContextFactoryMock.cs

33 lines
864 B
C#
Raw Normal View History

using Microsoft.EntityFrameworkCore;
using SharedLibraryCore.Database;
using SharedLibraryCore.Interfaces;
using System;
namespace ApplicationTests.Mocks
{
class DatabaseContextFactoryMock : IDatabaseContextFactory
{
private DatabaseContext ctx;
private readonly IServiceProvider _serviceProvider;
public DatabaseContextFactoryMock(IServiceProvider sp)
{
_serviceProvider = sp;
}
public DatabaseContext CreateContext(bool? enableTracking)
{
if (ctx == null)
{
var contextOptions = new DbContextOptionsBuilder<DatabaseContext>()
.UseInMemoryDatabase(databaseName: "database")
.Options;
ctx = new DatabaseContext(contextOptions);
}
return ctx;
}
}
}