-
-
Notifications
You must be signed in to change notification settings - Fork 162
Expand file tree
/
Copy pathLoggingFakers.cs
More file actions
29 lines (23 loc) · 1.34 KB
/
LoggingFakers.cs
File metadata and controls
29 lines (23 loc) · 1.34 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
using Bogus;
using TestBuildingBlocks;
// @formatter:wrap_chained_method_calls chop_if_long
// @formatter:wrap_before_first_method_call true
namespace JsonApiDotNetCoreTests.IntegrationTests.Logging;
internal sealed class LoggingFakers
{
private readonly Lazy<Faker<AuditEntry>> _lazyAuditEntryFaker = new(() => new Faker<AuditEntry>()
.MakeDeterministic()
.RuleFor(auditEntry => auditEntry.UserName, faker => faker.Internet.UserName())
.RuleFor(auditEntry => auditEntry.CreatedAt, faker => faker.Date.PastOffset().TruncateToWholeMilliseconds()));
private readonly Lazy<Faker<Banana>> _lazyBananaFaker = new(() => new Faker<Banana>()
.MakeDeterministic()
.RuleFor(banana => banana.WeightInKilograms, faker => faker.Random.Double(.2, .3))
.RuleFor(banana => banana.LengthInCentimeters, faker => faker.Random.Double(10, 25)));
private readonly Lazy<Faker<Peach>> _lazyPeachFaker = new(() => new Faker<Peach>()
.MakeDeterministic()
.RuleFor(peach => peach.WeightInKilograms, faker => faker.Random.Double(.2, .3))
.RuleFor(peach => peach.DiameterInCentimeters, faker => faker.Random.Double(6, 7.5)));
public Faker<AuditEntry> AuditEntry => _lazyAuditEntryFaker.Value;
public Faker<Banana> Banana => _lazyBananaFaker.Value;
public Faker<Peach> Peach => _lazyPeachFaker.Value;
}