Skip to content

Commit 3d982ef

Browse files
committed
fix: seeder and test bugs for ddd first entities
1 parent 4acef12 commit 3d982ef

File tree

2 files changed

+11
-6
lines changed

2 files changed

+11
-6
lines changed

Craftsman/Builders/Seeders/SeederFunctions.cs

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,16 @@
33
using Craftsman.Helpers;
44
using Craftsman.Models;
55
using System;
6+
using Enums;
67

78
public static class SeederFunctions
89
{
910
public static string GetEntitySeederFileText(string classNamespace, Entity entity, string dbContextName, string solutionDirectory, string projectBaseName)
1011
{
1112
var entitiesClassPath = ClassPathHelper.EntityClassPath(solutionDirectory, "", entity.Plural, projectBaseName);
13+
var dtoClassPath = ClassPathHelper.DtoClassPath(solutionDirectory, "", entity.Name, projectBaseName);
1214
var dbContextClassPath = ClassPathHelper.DbContextClassPath(solutionDirectory, "", projectBaseName);
15+
var entityForCreationDto = $"Fake{Utilities.GetDtoName(entity.Name, Dto.Creation)}";
1316
if (dbContextName is null)
1417
{
1518
throw new ArgumentNullException(nameof(dbContextName));
@@ -19,6 +22,7 @@ public static string GetEntitySeederFileText(string classNamespace, Entity entit
1922
2023
using AutoBogus;
2124
using {entitiesClassPath.ClassNamespace};
25+
using {dtoClassPath.ClassNamespace};
2226
using {dbContextClassPath.ClassNamespace};
2327
using System.Linq;
2428
@@ -28,9 +32,9 @@ public static class {Utilities.GetSeederName(entity)}
2832
{{
2933
if (!context.{entity.Plural}.Any())
3034
{{
31-
context.{entity.Plural}.Add(new AutoFaker<{entity.Name}>());
32-
context.{entity.Plural}.Add(new AutoFaker<{entity.Name}>());
33-
context.{entity.Plural}.Add(new AutoFaker<{entity.Name}>());
35+
context.{entity.Plural}.Add({entity.Name}.Create(new AutoFaker<{entityForCreationDto}>()));
36+
context.{entity.Plural}.Add({entity.Name}.Create(new AutoFaker<{entityForCreationDto}>()));
37+
context.{entity.Plural}.Add({entity.Name}.Create(new AutoFaker<{entityForCreationDto}>()));
3438
3539
context.SaveChanges();
3640
}}

Craftsman/Builders/Tests/FunctionalTests/CreateEntityTestBuilder.cs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -75,13 +75,14 @@ private static string CreateEntityTestUnauthorized(Entity entity)
7575
{
7676
var fakeEntity = Utilities.FakerName(entity.Name);
7777
var fakeEntityVariableName = $"fake{entity.Name}";
78+
var fakeCreationDto = Utilities.FakerName(Utilities.GetDtoName(entity.Name, Dto.Creation));
7879

7980
return $@"
8081
[Test]
8182
public async Task create_{entity.Name.ToLower()}_returns_unauthorized_without_valid_token()
8283
{{
8384
// Arrange
84-
var {fakeEntityVariableName} = new {fakeEntity} {{ }}.Generate();
85+
var {fakeEntityVariableName} = {fakeEntity}.Generate(new {fakeCreationDto}().Generate());
8586
8687
await InsertAsync({fakeEntityVariableName});
8788
@@ -98,14 +99,14 @@ private static string CreateEntityTestForbidden(Entity entity)
9899
{
99100
var fakeEntity = Utilities.FakerName(entity.Name);
100101
var fakeEntityVariableName = $"fake{entity.Name}";
101-
var pkName = Entity.PrimaryKeyProperty.Name;
102+
var fakeCreationDto = Utilities.FakerName(Utilities.GetDtoName(entity.Name, Dto.Creation));
102103

103104
return $@"
104105
[Test]
105106
public async Task create_{entity.Name.ToLower()}_returns_forbidden_without_proper_scope()
106107
{{
107108
// Arrange
108-
var {fakeEntityVariableName} = new {fakeEntity} {{ }}.Generate();
109+
var {fakeEntityVariableName} = {fakeEntity}.Generate(new {fakeCreationDto}().Generate());
109110
_client.AddAuth();
110111
111112
await InsertAsync({fakeEntityVariableName});

0 commit comments

Comments
 (0)