Refactor user creation tests in DbRepositoryTests

Die Testmethode `CreateAsync_ShouldPersistUser` wurde entfernt und `CreateAsync_ShouldNotThrow` mit Testfällen für die Erstellung einzelner und mehrerer Benutzer hinzugefügt. Die neue Methode prüft, dass `CreateAsync` keine Ausnahmen auslöst, während Benutzerdaten mit einem Faker erzeugt werden.
This commit is contained in:
Developer 02 2025-04-17 15:48:06 +02:00
parent 266d03e0a1
commit 06df97597e

View File

@ -6,7 +6,6 @@ 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
@ -34,15 +33,18 @@ public class DbRepositoryTests
disposableHost.Dispose();
}
[Test]
public void CreateAsync_ShouldPersistUser()
[TestCase(true, TestName = "WhenGivenMultipleUsers")]
[TestCase(false, TestName = "WhenGivenSingleUser")]
public void CreateAsync_ShouldNotThrow(bool multiple)
{
// Arrange
var faker = Fake.CreateUserFaker();
var user = faker.Generate();
var repo = _host.Services.GetRequiredService<IRepository<User>>();
// Act & Assert
Assert.DoesNotThrowAsync(async () => await repo.CreateAsync(user));
if (multiple)
Assert.DoesNotThrowAsync(async () => await repo.CreateAsync(faker.Generate(Random.Shared.Next(1, 10))));
else
Assert.DoesNotThrowAsync(async () => await repo.CreateAsync(faker.Generate()));
}
}