From cf9041980d4755ce76acb2356d8c4897a2f417d7 Mon Sep 17 00:00:00 2001 From: Developer 02 Date: Thu, 17 Apr 2025 14:34:00 +0200 Subject: [PATCH] =?UTF-8?q?feat(Mock):=20Hinzuf=C3=BCgen=20von=20gef=C3=A4?= =?UTF-8?q?lschten=20Daten=20und=20Benutzermodellen=20zum=20Testen?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Aktualisiert `DigitalData.Core.Tests.csproj`, um `Bogus` zur Erzeugung gefälschter Daten einzuschließen. Fake.cs„ für die Erstellung von gefälschten “User"-Objekten hinzugefügt. MockDbContext" für das Testen von Datenbank-Interaktionen eingeführt. Definierte `User` und `UserDto` Klassen für die Benutzerdarstellung und Datenübertragung. --- .../DigitalData.Core.Tests.csproj | 1 + DigitalData.Core.Tests/Mock/Fake.cs | 15 +++++++++++++++ DigitalData.Core.Tests/Mock/MockDbContext.cs | 10 ++++++++++ DigitalData.Core.Tests/Mock/User.cs | 12 ++++++++++++ DigitalData.Core.Tests/Mock/UserDto.cs | 10 ++++++++++ 5 files changed, 48 insertions(+) create mode 100644 DigitalData.Core.Tests/Mock/Fake.cs create mode 100644 DigitalData.Core.Tests/Mock/MockDbContext.cs create mode 100644 DigitalData.Core.Tests/Mock/User.cs create mode 100644 DigitalData.Core.Tests/Mock/UserDto.cs diff --git a/DigitalData.Core.Tests/DigitalData.Core.Tests.csproj b/DigitalData.Core.Tests/DigitalData.Core.Tests.csproj index a976dc3..3a9df51 100644 --- a/DigitalData.Core.Tests/DigitalData.Core.Tests.csproj +++ b/DigitalData.Core.Tests/DigitalData.Core.Tests.csproj @@ -10,6 +10,7 @@ + diff --git a/DigitalData.Core.Tests/Mock/Fake.cs b/DigitalData.Core.Tests/Mock/Fake.cs new file mode 100644 index 0000000..fd89b34 --- /dev/null +++ b/DigitalData.Core.Tests/Mock/Fake.cs @@ -0,0 +1,15 @@ +using Bogus; + +namespace DigitalData.Core.Tests.Mock; + +public static class Fake +{ + private static readonly Faker UserFaker = new Faker() + .RuleFor(u => u.FirstName, f => f.Name.FirstName()) + .RuleFor(u => u.Email, f => f.Internet.Email()) + .RuleFor(u => u.Age, f => f.Random.Int(18, 99)); + + public static User FakeUser => UserFaker.Generate(); + + public static List CreateFakeUser(int count) => UserFaker.Generate(count); +} diff --git a/DigitalData.Core.Tests/Mock/MockDbContext.cs b/DigitalData.Core.Tests/Mock/MockDbContext.cs new file mode 100644 index 0000000..cd41ec5 --- /dev/null +++ b/DigitalData.Core.Tests/Mock/MockDbContext.cs @@ -0,0 +1,10 @@ +using Microsoft.EntityFrameworkCore; + +namespace DigitalData.Core.Tests.Mock; + +public class MockDbContext : DbContext +{ + public MockDbContext(DbContextOptions options) : base(options) + { + } +} diff --git a/DigitalData.Core.Tests/Mock/User.cs b/DigitalData.Core.Tests/Mock/User.cs new file mode 100644 index 0000000..c2e1b1a --- /dev/null +++ b/DigitalData.Core.Tests/Mock/User.cs @@ -0,0 +1,12 @@ +namespace DigitalData.Core.Tests.Mock; + +public class User +{ + public required int Id { get; init; } + + public required string FirstName { get; init; } + + public required string Email { get; init; } + + public int Age { get; init; } +} diff --git a/DigitalData.Core.Tests/Mock/UserDto.cs b/DigitalData.Core.Tests/Mock/UserDto.cs new file mode 100644 index 0000000..f763db4 --- /dev/null +++ b/DigitalData.Core.Tests/Mock/UserDto.cs @@ -0,0 +1,10 @@ +namespace DigitalData.Core.Tests.Mock; + +public class UserDto +{ + public required string FirstName { get; init; } + + public required string Email { get; init; } + + public int Age { get; init; } +}