18 lines
808 B
C#
18 lines
808 B
C#
using Microsoft.EntityFrameworkCore;
|
||
using TeleWave.Infrastructure.Persistence;
|
||
|
||
namespace TeleWave.Application.Tests.Support;
|
||
|
||
/// <summary>
|
||
/// Общий InMemory-стенд поверх реального <see cref="AppDbContext"/> (с настоящими EF-конфигурациями).
|
||
/// Каждый экземпляр — своя изолированная БД; <see cref="New"/> отдаёт новый контекст на ту же БД,
|
||
/// чтобы можно было перечитать сохранённое свежим контекстом.
|
||
/// </summary>
|
||
internal sealed class TestDb
|
||
{
|
||
private readonly string _name = $"tw-{Guid.NewGuid():N}";
|
||
|
||
public AppDbContext New() =>
|
||
new(new DbContextOptionsBuilder<AppDbContext>().UseInMemoryDatabase(_name).Options);
|
||
}
|