TestData seeding now creates items at different times

This commit is contained in:
Jonathan Bourdon
2024-07-19 00:43:13 -04:00
parent b34a775a4b
commit 8b5ab2d769

View File

@@ -61,6 +61,8 @@ internal class TestDataSeeder(
private List<Content> GenerateContent(ApplicationUser user, int contentCount) private List<Content> GenerateContent(ApplicationUser user, int contentCount)
{ {
var currentDate = DateTimeOffset.UtcNow;
var contents = new List<Content>(); var contents = new List<Content>();
for (var c = 0; c < contentCount; c++) for (var c = 0; c < contentCount; c++)
@@ -69,6 +71,7 @@ internal class TestDataSeeder(
{ {
Id = GuidHelper.GenerateUuidV7(), Id = GuidHelper.GenerateUuidV7(),
CreatedBy = Guid.Parse(user.Id), CreatedBy = Guid.Parse(user.Id),
CreatedAt = currentDate,
Title = $"Title {user.UserName}-{c}", Title = $"Title {user.UserName}-{c}",
Description = $"Description {user.UserName}-{c}" Description = $"Description {user.UserName}-{c}"
}; };
@@ -76,6 +79,8 @@ internal class TestDataSeeder(
contentContext.Contents.Add(content); contentContext.Contents.Add(content);
contents.Add(content); contents.Add(content);
currentDate = currentDate.AddSeconds(Random.Shared.Next(100, 100_000));
} }
contentContext.SaveChanges(); contentContext.SaveChanges();
@@ -85,10 +90,12 @@ internal class TestDataSeeder(
private List<Message> GenerateMessages(Content content, int messageCount) private List<Message> GenerateMessages(Content content, int messageCount)
{ {
var currentDate = content.CreatedAt;
var messages = new List<Message>(); var messages = new List<Message>();
for (var m = 0; m < messageCount; m++) for (var m = 0; m < messageCount; m++)
{ {
currentDate = currentDate.AddSeconds(Random.Shared.Next(100, 100_000));
var author = Random.Shared.GetItems(_creators, 1)[0]; var author = Random.Shared.GetItems(_creators, 1)[0];
var message = new Message var message = new Message
@@ -96,6 +103,7 @@ internal class TestDataSeeder(
Id = GuidHelper.GenerateUuidV7(), Id = GuidHelper.GenerateUuidV7(),
SubjectId = content.Id, SubjectId = content.Id,
CreatedBy = Guid.Parse(author.Id), CreatedBy = Guid.Parse(author.Id),
CreatedAt = currentDate,
Value = $"Message #{m} from {author.UserName} on {content.Title}" Value = $"Message #{m} from {author.UserName} on {content.Title}"
}; };
@@ -109,10 +117,13 @@ internal class TestDataSeeder(
private List<Message> GenerateReplies(Content content, Message parent, int replyCount) private List<Message> GenerateReplies(Content content, Message parent, int replyCount)
{ {
var currentDate = parent.CreatedAt;
var replies = new List<Message>(); var replies = new List<Message>();
for (var r = 0; r < replyCount; r++) for (var r = 0; r < replyCount; r++)
{ {
currentDate = currentDate.AddSeconds(Random.Shared.Next(100, 100_000));
var author = Random.Shared.GetItems(_creators, 1)[0]; var author = Random.Shared.GetItems(_creators, 1)[0];
var message = new Message var message = new Message
@@ -121,6 +132,7 @@ internal class TestDataSeeder(
SubjectId = content.Id, SubjectId = content.Id,
ParentId = parent.Id, ParentId = parent.Id,
CreatedBy = Guid.Parse(author.Id), CreatedBy = Guid.Parse(author.Id),
CreatedAt = currentDate,
Value = $"Reply {r} to {parent.Value}" Value = $"Reply {r} to {parent.Value}"
}; };