tests: make sure SdnId is set for dependent entities

This commit is contained in:
Stevan Freeborn
2024-08-22 16:22:22 -05:00
parent 0aa58c5b1a
commit 6d4b58db02
5 changed files with 19 additions and 1 deletions
@@ -2,9 +2,12 @@ namespace SanctionsSearch.Worker.Tests.Faker;
class SdnFaker : Faker<Sdn>
{
public const int ReservedId = 1;
private readonly int _minimumId = ReservedId + 1;
public SdnFaker()
{
RuleFor(x => x.Id, f => f.Random.Int(1, int.MaxValue));
RuleFor(x => x.Id, f => f.Random.Int(_minimumId, int.MaxValue));
RuleFor(x => x.Name, f => f.Person.FullName);
RuleFor(x => x.Type, f => f.Lorem.Word());
RuleFor(x => x.Program, f => f.Lorem.Word());
@@ -18,6 +18,7 @@ public class AddressRepositoryTests : RepositoryTest
_timeProvider.Setup(x => x.GetUtcNow()).Returns(now);
var entity = _faker.Generate();
entity.SdnId = SdnId;
await _repository.Upsert(entity);
await _context.SaveChangesAsync();
@@ -38,6 +39,7 @@ public class AddressRepositoryTests : RepositoryTest
_timeProvider.Setup(x => x.GetUtcNow()).Returns(createdTimeStamp);
var entity = _faker.Generate();
entity.SdnId = SdnId;
// Insert the entity
await _repository.Upsert(entity);
@@ -72,6 +74,7 @@ public class AddressRepositoryTests : RepositoryTest
foreach (var entity in entities)
{
entity.SdnId = SdnId;
await _repository.Upsert(entity);
}
@@ -18,6 +18,7 @@ public class AliasRepositoryTests : RepositoryTest
_timeProvider.Setup(x => x.GetUtcNow()).Returns(now);
var entity = _faker.Generate();
entity.SdnId = SdnId;
await _repository.Upsert(entity);
await _context.SaveChangesAsync();
@@ -38,6 +39,7 @@ public class AliasRepositoryTests : RepositoryTest
_timeProvider.Setup(x => x.GetUtcNow()).Returns(createdTimeStamp);
var entity = _faker.Generate();
entity.SdnId = SdnId;
// Insert the entity
await _repository.Upsert(entity);
@@ -72,6 +74,7 @@ public class AliasRepositoryTests : RepositoryTest
foreach (var entity in entities)
{
entity.SdnId = SdnId;
await _repository.Upsert(entity);
}
@@ -18,6 +18,7 @@ public class CommentRepositoryTests : RepositoryTest
_timeProvider.Setup(x => x.GetUtcNow()).Returns(now);
var entity = _faker.Generate();
entity.SdnId = SdnId;
await _repository.Upsert(entity);
await _context.SaveChangesAsync();
@@ -38,6 +39,7 @@ public class CommentRepositoryTests : RepositoryTest
_timeProvider.Setup(x => x.GetUtcNow()).Returns(createdTimeStamp);
var entity = _faker.Generate();
entity.SdnId = SdnId;
// Insert the entity
await _repository.Upsert(entity);
@@ -72,6 +74,7 @@ public class CommentRepositoryTests : RepositoryTest
foreach (var entity in entities)
{
entity.SdnId = SdnId;
await _repository.Upsert(entity);
}
@@ -3,8 +3,11 @@ namespace SanctionsSearch.Worker.Tests.Integration;
public class RepositoryTest : IAsyncLifetime
{
private readonly AppDbContext _appDbContext;
private readonly SdnFaker _faker = new();
private readonly Sdn _sdn;
protected readonly Mock<TimeProvider> _timeProvider = new();
protected readonly DbContext _context;
protected int SdnId => _sdn.Id;
public RepositoryTest()
{
@@ -13,11 +16,14 @@ public class RepositoryTest : IAsyncLifetime
_appDbContext = context;
_context = context;
_sdn = _faker.Generate();
_sdn.Id = SdnFaker.ReservedId;
}
public async Task InitializeAsync()
{
await _context.Database.MigrateAsync();
await _context.Set<Sdn>().AddAsync(_sdn);
}
public async Task DisposeAsync()