namespace DigitalData.Core.Tests.Infrastructure; using DigitalData.Core.Infrastructure; using DigitalData.Core.Tests.Mock; using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; using System.Reflection; using DigitalData.Core.Tests.Mock; using DigitalData.Core.Abstractions.Infrastructure; public class DbRepositoryTests { private IHost _host; [SetUp] public void Setup() { var builder = Host.CreateApplicationBuilder(); builder.Services.AddDbContext(opt => opt.UseInMemoryDatabase("MockDB")); builder.Services.AddDbRepository(context => context.Users); builder.Services.AddAutoMapper(Assembly.GetExecutingAssembly()); _host = builder.Build(); } [TearDown] public void TearDown() { if (_host is IDisposable disposableHost) disposableHost.Dispose(); } [Test] public void CreateAsync_ShouldPersistUser() { // Arrange var faker = Fake.CreateUserFaker(); var user = faker.Generate(); var repo = _host.Services.GetRequiredService>(); // Act & Assert Assert.DoesNotThrowAsync(async () => await repo.CreateAsync(user)); } }